Creació i configuració d'un servidor Minecraft

Creació i configuració d'un servidor Minecraft

Minecraft és un dels jocs en línia més populars d'avui. En menys de tres anys (el primer llançament oficial va tenir lloc a la tardor del 2011), va guanyar milions de fans a tot el món.

Els desenvolupadors de jocs se centren deliberadament en els millors exemples de fa vint anys, quan molts jocs eren, segons els estàndards actuals, primitius pel que fa als gràfics i imperfectes pel que fa a la usabilitat, però al mateix temps eren realment emocionants.

Com tots els jocs sandbox, Minecraft ofereix a l'usuari enormes oportunitats de creativitat; aquest, de fet, és el secret principal de la seva popularitat.

Els servidors per a jocs multijugador estan organitzats pels mateixos jugadors i les seves comunitats. Avui dia hi ha desenes de milers de servidors de jocs que funcionen a Internet (vegeu, per exemple, la llista aquí).

Hi ha molts fans d'aquest joc entre els nostres clients, i lloguen equips dels nostres centres de dades per a projectes de jocs. En aquest article parlarem de quins punts tècnics cal prestar atenció a l'hora de triar un servidor
Minecraft.

L'elecció d'una plataforma

Minecraft inclou els següents elements arquitectònics:

  1. servidor: un programa mitjançant el qual els jugadors interactuen entre ells a través de la xarxa;
  2. client: un programa per connectar-se al servidor, instal·lat a l'ordinador del jugador;
  3. complements: addicions al servidor que afegeixen funcions noves o n'amplien les antigues;
  4. Els mods són addicions al món del joc (nous blocs, elements, funcions).

Hi ha moltes plataformes de servidor per a Minecraft. Els més comuns i populars són Vanilla i Bukkit.

Vainilla Aquesta és la plataforma oficial dels desenvolupadors del joc. Es distribueix tant en versió gràfica com en versió de consola. Sempre surt una nova versió de Vanilla al mateix temps que una nova versió de Minecraft.

L'inconvenient de Vanilla és el seu consum excessiu de memòria (uns 50 MB per reproductor). Un altre inconvenient important és la manca de complements.

Bukkit va ser creat per un grup d'entusiastes que van intentar millorar el servidor oficial de Minecraft. L'intent va resultar ser força reeixit: Bukkit té una funcionalitat molt més àmplia que Vanilla, principalment a causa del suport de diversos mods i complements. Al mateix temps, consumeix menys memòria per jugador, aproximadament entre 5 i 10 MB.

Els desavantatges de Bukkit són que ocupa massa RAM quan s'executa. A més, com més temps funcioni el servidor, més memòria necessitarà (encara que hi hagi pocs jugadors). Quan escolliu Bukkit com a servidor, heu de tenir en compte que les seves noves versions, per regla general, contenen errors; La versió estable sol aparèixer aproximadament 2-3 setmanes després del llançament de la versió oficial de Minecraft.

A més, altres plataformes han guanyat popularitat recentment (per exemple, Spout, MCPC i MCPC+), però tenen una compatibilitat limitada amb Vanilla i Bukkit i un suport extremadament limitat per a modificacions (per exemple, per a Spout només podeu escriure mods des de zero). Si s'utilitzen, només per a experiments.

Per organitzar un servidor de jocs recomanem utilitzar la plataforma Bukkit, ja que és la més flexible; A més, hi ha molts mods i complements diferents per a això. El funcionament estable d'un servidor de Minecraft depèn en gran mesura de l'elecció correcta de la plataforma de maquinari. Considerem aquest tema amb més detall.

Requisits de maquinari

Tant el servidor com el client de Minecraft exigeixen molt els recursos del sistema.
Quan escolliu una plataforma de maquinari, heu de tenir en compte que un processador multinucli no proporcionarà gaire avantatge: el nucli del servidor Minecraft només pot utilitzar un fil de càlcul. El segon nucli, però, seria útil: alguns connectors s'executen en fils separats i Java també consumeix molts recursos...

Per tant, per a un servidor de Minecraft, és millor triar un processador que tingui un rendiment d'un sol nucli més alt. Un processador de doble nucli més potent serà preferible a un processador de múltiples nuclis que sigui menys potent. En fòrums especialitzats, es recomana utilitzar processadors amb una freqüència de rellotge d'almenys 3 GHz.

Per al funcionament normal del servidor de Minecraft, es requereix una gran quantitat de memòria RAM. Bukkit ocupa aproximadament 1 GB de RAM; a més, per a cada jugador, com s'ha dit anteriorment, s'assignen de 5 a 10 MB. Els complements i les modificacions també consumeixen molta memòria. Per tant, per a un servidor amb 30 - 50 jugadors, necessitareu almenys 4 GB de RAM.

A Minecraft, molt (per exemple, carregar els mateixos connectors) depèn de la velocitat del sistema de fitxers. Per tant, és preferible triar un servidor amb un disc SSD. És poc probable que els discs de l'eix siguin adequats a causa de la baixa velocitat de lectura aleatòria.

La velocitat de la vostra connexió a Internet també és de gran importància. Per a un joc de 40-50 persones, n'hi ha prou amb un canal de 10 Mb/s. Tanmateix, per a aquells que estan planejant un projecte de minecraft més gran, inclòs un lloc web, un fòrum i un mapa dinàmic, és molt desitjable tenir un canal amb més amplada de banda.

Quina configuració específica és millor triar? Des de configuracions que oferim Us recomanem que presteu atenció al següent:

  • Intel Core 2 Duo E8400 3GHz, 6GB de RAM, 2x500GB SATA, 3000 RUR/mes;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 GB de RAM, 2 x 500 GB SATA, 3500 fregades/mes. — Utilitzem aquesta configuració per al nostre servidor de proves de MineCraft, on podeu jugar ara mateix (com fer-ho s'escriu a continuació);
  • Intel Core i3-2120 3.3 GHz, 8 GB de RAM, 2 x 500 GB SATA, 3500 RUR/mes.

Aquestes configuracions són molt adequades per crear un servidor Minecraft per a 30-40 jugadors. Alguns desavantatges és la manca de unitats SSD, però donem un altre avantatge important: un canal garantit de 100 Mb/s sense cap restricció ni ràtio. En demanar totes les configuracions esmentades anteriorment, no hi ha cap tarifa de configuració.

També disposem de servidors més productius, però alhora, naturalment, més cars (en demanar aquestes configuracions, tampoc es cobra la tarifa d'instal·lació):

  • 2x Intel Xeon 5130, 2 GHz, 8 GB de RAM, 4 x 160 GB SATA, 5000 fregades/mes;
  • 2x IntelXeon 5504, 2 GHz, 12 GB de RAM, 3 x 1 TB SATA, 9000 fregues/mes.

També recomanem parar atenció al nou model econòmic amb una unitat SSD basada en el processador Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB de RAM, 2x240 GB SSD, 4000 rubles/mes, pagament d'instal·lació - 3000 rubles.

Instal·lació i execució del servidor Bukkit a OC Ubuntu

Abans d'instal·lar el servidor, creem un nou usuari i l'afegim al grup sudo:

$ sudo useradd -m -s /bin/bash <nom d'usuari> $ sudo adduser <nom d'usuari> sudo

A continuació, establirem la contrasenya amb la qual l'usuari creat es connectarà al servidor:

$ sudo passwd <nom d'usuari>

Tornem a connectar-nos al servidor amb un compte nou i comencem la instal·lació.
Minecraft està escrit en Java, de manera que l'entorn d'execució de Java s'ha d'instal·lar al servidor.

Actualitzem la llista de paquets disponibles:

$ sudo apt-get update

A continuació, executeu l'ordre següent:

$ sudo apt-get install default-jdk

Per instal·lar i executar Bukkit, també s'aconsella instal·lar un multiplexor de terminal, per exemple, pantalla (també podeu utilitzar altres multiplexors de terminals, consulteu el nostre visió de conjunt):

$ sudo apt-get install pantalla

La pantalla serà necessària si ens connectem al servidor del joc mitjançant ssh. Amb la seva ajuda, podeu executar el servidor de Minecraft en una finestra de terminal independent i, fins i tot després de tancar el client ssh, el servidor funcionarà.

Creem un directori on s'emmagatzemaran els fitxers del servidor:

$ mkdir bukkit $ cd bukkit

Després d'això anem a Pàgina de descàrrega del lloc web oficial de Bukkit. A la part superior dreta de la pàgina podeu veure un enllaç a la darrera compilació recomanada del servidor. Recomanem descarregar-lo:

$ wget <enllaç de la versió recomanada>

Ara anem a executar la pantalla:

pantalla $sudo

i executeu l'ordre següent:

$ java -Xmx1024M -jar craftbukkit.jar -o false

Expliquem què volen dir els paràmetres utilitzats:

  • Xmx1024M - quantitat màxima de RAM per servidor;
  • jar craftbukkit.jar - clau del servidor;
  • o fals: permet l'accés al servidor des de clients piratejats.

El servidor s'iniciarà.
Podeu aturar el servidor escrivint l'ordre stop a la consola.

Configuració i configuració del servidor

La configuració del servidor s'emmagatzema al fitxer de configuració server.properties. Conté els paràmetres següents:

  • generator-settings — estableix la plantilla per generar un món superplan;
  • allow-nether - determina la possibilitat de traslladar-se al món inferior. De manera predeterminada, aquesta configuració es defineix com a true. Si es defineix com a fals, tots els jugadors del Nether es mouran al normal;
  • level-name: el nom de la carpeta amb els fitxers de mapa que s'utilitzaran durant el joc. La carpeta es troba al mateix directori on es troben els fitxers del servidor. Si no hi ha aquest directori, el servidor crea automàticament un món nou i el col·loca en un directori amb el mateix nom;
  • enable-query: quan s'estableix com a true, activa el protocol GameSpy4 per escoltar el servidor;
  • allow-flight: permet vols al voltant del món de Minecraft. El valor per defecte és fals (els vols estan prohibits);
  • server-port - indica el port que utilitzarà el servidor del joc. El port estàndard per a Minecraft és 25565. No es recomana canviar el valor d'aquest paràmetre;
  • nivell-tipus - determina el tipus del món (DEFAUT/PLAT/LARGEBIOMES);
  • enable-rcon: permet l'accés remot a la consola del servidor. Per defecte està desactivat (fals);
  • level-seed - dades d'entrada per al generador de nivells. Per poder crear mons aleatoris, aquest camp s'ha de deixar en blanc;
  • force-gamemode - estableix el mode de joc estàndard per als jugadors que es connecten al servidor;
  • server-ip - indica l'adreça IP que utilitzaran els jugadors per connectar-se al servidor;
  • max-build-height: indica l'alçada màxima d'un edifici al servidor. El seu valor ha de ser múltiple de 16 (64, 96, 256, etc.);
  • spawn-npcs - permet (si s'estableix a true) o prohibeix (si s'estableix a false) l'aparició de NPC als pobles;
  • llista blanca: activa o desactiva l'ús d'una llista blanca de jugadors al servidor. Si s'estableix com a true, l'administrador podrà crear una llista blanca afegint-hi manualment els àlies dels jugadors. Si el valor és fals, qualsevol usuari que conegui la seva adreça IP i el seu port pot accedir al servidor;
  • spawn-animals - permet la generació automàtica de mobs amics si s'estableix com a true);
  • Snooper-enabled: permet que el servidor enviï estadístiques i dades als desenvolupadors;
  • hardcore: activa el mode Hardcore al servidor;
  • texture-pac - fitxer de textura que s'utilitzarà quan el reproductor es connecti al servidor. El valor d'aquest paràmetre és el nom de l'arxiu zip amb textures, que s'emmagatzema al mateix directori que el servidor;
  • mode en línia: permet comprovar els comptes premium dels usuaris que es connecten al servidor. Si aquest paràmetre s'estableix en true, només els titulars de comptes premium podran accedir al servidor. Si la verificació del compte està desactivada (s'estableix com a fals), qualsevol usuari pot accedir al servidor (inclosos, per exemple, els jugadors que han falsificat el seu àlies), cosa que crea riscos de seguretat addicionals. Quan la comprovació està desactivada, podeu jugar a Minecraft a través d'una xarxa local, sense accés a Internet;
  • pvp: permet o prohibeix als jugadors lluitar entre ells. Si aquest paràmetre és cert, els jugadors es poden destruir els uns als altres. Si es defineix com a fals, els jugadors no poden fer-se dany directe entre ells;
  • dificultat: estableix el nivell de dificultat del joc. Pot prendre valors des de 0 (el més fàcil) fins a 3 (el més difícil);
  • gamemode - indica quin mode de joc s'establirà per als jugadors que entren al servidor. Pot prendre els valors següents: 0 - Supervivència, 1-Creatiu, 2-Aventura;
  • player-idle-timeout — temps d'inactivitat (en minuts), després del qual els jugadors es desconnecten automàticament del servidor;
  • max-players — el nombre màxim permès de jugadors al servidor (de 0 a 999);
  • spawn-monsters - permet (si s'estableix com a cert) la generació de mobs hostils;
  • genera-estructures — permet (cert)/inhabilita (fals) la generació d'estructures (tresores, fortaleses, pobles);
  • view-distance: ajusta el radi dels fragments actualitzats que s'enviaran al jugador; pot prendre valors de 3 a 15.

Els registres del servidor de Minecraft s'escriuen al fitxer server.log. S'emmagatzema a la mateixa carpeta que els fitxers del servidor. El registre augmenta constantment de mida, ocupant cada cop més espai al disc. Podeu agilitzar el treball del mecanisme de registre mitjançant l'anomenada rotació de registre. Per a la rotació, s'utilitza una utilitat especial: logrotate. Limita el nombre d'entrades al registre a un determinat límit.

Podeu configurar la rotació del registre perquè s'eliminin totes les entrades tan bon punt el fitxer de registre assoleixi una mida determinada. També podeu establir un període després del qual totes les entrades antigues es consideraran irrellevants i es suprimiran.

La configuració bàsica de rotació es troba al fitxer /etc/logrotate.conf; A més, podeu crear configuracions individuals per a cada aplicació. Els fitxers amb configuracions individuals s'emmagatzemen al directori /etc/logrotate.d.

Creem un fitxer de text /etc/logrotate.d/craftbukkit i introduïm-hi els paràmetres següents:

/home/craftbukkit/server.log { rotar 2 comprimir setmanals missingok notifempty }

Vegem els seus significats amb més detall:

  • el paràmetre de rotació especifica el nombre de rotacions abans d'esborrar el fitxer;
  • setmanal indica que la rotació es realitzarà setmanalment (també podeu configurar altres paràmetres: mensual - mensual i diari - diari);
  • compress especifica que els registres arxivats s'han de comprimir (l'opció inversa és nocompress);
  • missingok indica que si no hi ha cap fitxer de registre, hauríeu de continuar treballant i no mostrar missatges d'error;
  • notifempty especifica no moure el fitxer de registre si està buit.

Podeu obtenir més informació sobre la configuració de rotació del registre aquí.

Consells d'optimització

Anem a fer una reserva immediatament que aquesta secció proporcionarà consells relacionats només amb l'optimització del servidor de jocs. Els problemes d'ajustament i optimització del servidor on s'instal·la Minecraft són un tema independent que està fora de l'abast d'aquest article; els lectors interessats poden trobar fàcilment la informació que necessiten a Internet.

Un dels problemes més comuns que sorgeixen quan es juga a Minecraft són els anomenats retards: situacions en què el programa no respon a les entrades de l'usuari de manera oportuna. Poden ser causats per problemes tant al costat del client com al costat del servidor. A continuació, donarem recomanacions que ajudaran a reduir la probabilitat que es produeixin problemes al costat del servidor.

Superviseu regularment el consum de memòria del servidor i dels connectors

El consum de memòria es pot controlar mitjançant connectors administratius especialitzats, per exemple, LagMeter.

Estigueu atents a les actualitzacions dels connectors

Per regla general, els desenvolupadors de nous connectors s'esforcen per reduir la càrrega amb cada versió nova.

Intenteu no utilitzar molts connectors amb una funcionalitat similar

Els connectors grans (per exemple, Essentials, AdminCMD, CommandBook) sovint inclouen la funcionalitat de molts connectors més petits. Per exemple, el mateix Essential conté les funcions dels connectors iConomy, uHome, OpenInv, VanishNoPacket, Kit. Els connectors petits, la funcionalitat dels quals està completament coberta per la funcionalitat d'un de gran, en la majoria dels casos es poden eliminar per no sobrecarregar el servidor.

Limiteu el mapa i carregueu-lo vosaltres mateixos

Si no limiteu el mapa, la càrrega al servidor augmentarà significativament. Podeu limitar el mapa mitjançant un connector Frontera mundial. Per fer-ho, heu d'executar aquest connector i executar l'ordre /wb 200, i després dibuixar el mapa amb l'ordre /wb fill.

El dibuix, per descomptat, necessitarà molt de temps, però és millor fer-ho una vegada, tancant el servidor per a treballs tècnics. Si cada jugador dibuixa el mapa, el servidor funcionarà lentament.

Substituïu els connectors resistents per altres més ràpids i amb menys recursos

No tots els connectors per a Minecraft es poden anomenar exitosos: sovint contenen moltes funcions innecessàries i innecessàries, i de vegades també consumeixen molta memòria. És millor substituir els connectors que no tenen èxit per d'altres alternatius (n'hi ha bastants). Per exemple, el connector LWC es pot substituir per Wgfix+MachineGuard i el connector DynMap amb Minecraft Overviewer.

Netegeu sempre la gota o instal·leu un connector per eliminar-la automàticament

Les gotes en els jocs són elements que cauen quan una multitud mor o alguns blocs són destruïts. L'emmagatzematge i el processament de les caigudes ocupen molts recursos del sistema.

Per fer que el servidor funcioni més ràpid, és recomanable eliminar la gota. Això es fa millor amb connectors especials, per exemple, NoLagg o McClean.

No utilitzeu anti-trampes

Sovint s'instal·len els anomenats anti-trampes als servidors de jocs: programes que bloquegen els intents d'influir en el joc de manera deshonesta.

També hi ha anti-trucs per a Minecraft. Qualsevol anti-trampa sempre és una càrrega addicional al servidor. És preferible instal·lar protecció per al llançador (que, però, no ofereix una garantia absoluta de seguretat i es trenca fàcilment, però aquest és un tema per a una discussió a part) i per al client.

En lloc d'una conclusió

Qualsevol instruccions i recomanacions resulten molt més efectives si es recolzen amb exemples específics. A partir de les instruccions d'instal·lació anteriors, vam crear el nostre propi servidor de Minecraft i vam posar algunes coses interessants al mapa.

Això és el que tenim:

  • Servidor Bukkit - versió estable recomanada 1.6.4;
  • Connector d'estadístiques - per recopilar estadístiques sobre els jugadors;
  • Connector WorldBorder - per dibuixar i limitar el mapa;
  • Connector WorldGuard (+ WorldEdit com a dependència) - per protegir algunes àrees.

Convidem a tothom a jugar-hi: per connectar-se, afegir un nou servidor i introduir l'adreça mncrft.slc.tl.

Estarem encantats si comparteixes la teva pròpia experiència d'instal·lació, configuració i optimització de servidors MineCraft als comentaris i ens digues quins mods i connectors t'interessen i per què.

Notícies genials: A partir de l'1 d'agost, la tarifa d'instal·lació dels servidors dedicats de configuració fixa s'ha reduït un 50%. Ara, el pagament de configuració únic és de només 3000 rubles.

Els lectors que no puguin deixar comentaris aquí estan convidats a visitar-nos a Bloc.

Font: www.habr.com

Afegeix comentari