Crearea și configurarea unui server Minecraft

Crearea și configurarea unui server Minecraft

Minecraft este unul dintre cele mai populare jocuri online de astăzi. În mai puțin de trei ani (prima lansare oficială a avut loc în toamna lui 2011), a câștigat milioane de fani în întreaga lume.

Dezvoltatorii de jocuri se concentrează în mod deliberat pe cele mai bune exemple de acum douăzeci de ani, când multe jocuri erau, după standardele actuale, primitive în ceea ce privește grafica și imperfecte în ceea ce privește utilizarea, dar în același timp erau cu adevărat incitante.

La fel ca toate jocurile sandbox, Minecraft oferă utilizatorului oportunități enorme de creativitate - acesta, de fapt, este principalul secret al popularității sale.

Serverele pentru jocurile multiplayer sunt organizate de jucătorii înșiși și de comunitățile lor. Astăzi există zeci de mii de servere de jocuri care operează pe Internet (vezi, de exemplu, lista aici).

Există mulți fani ai acestui joc printre clienții noștri și ei închiriază echipamente de la centrele noastre de date pentru proiecte de jocuri. În acest articol vom vorbi despre ce puncte tehnice trebuie să fiți atenți atunci când alegeți un server
Minecraft.

Alegerea unei platforme

Minecraft include următoarele elemente arhitecturale:

  1. server - un program prin care jucătorii interacționează între ei prin rețea;
  2. client - un program de conectare la server, instalat pe computerul jucătorului;
  3. pluginuri - completări la server care adaugă funcții noi sau le extind pe cele vechi;
  4. modurile sunt completări la lumea jocului (noi blocuri, elemente, caracteristici).

Există multe platforme de server pentru Minecraft. Cele mai comune și populare sunt Vanilla și Bukkit.

Vanilie Aceasta este platforma oficială a dezvoltatorilor de jocuri. Este distribuit atât în ​​versiune grafică, cât și în versiune de consolă. O nouă versiune de Vanilla apare întotdeauna în același timp cu o nouă versiune de Minecraft.

Dezavantajul lui Vanilla este consumul excesiv de memorie (aproximativ 50 MB per player). Un alt dezavantaj semnificativ este lipsa pluginurilor.

Bukkit a fost creat de un grup de entuziaști care au încercat să îmbunătățească serverul oficial Minecraft. Încercarea s-a dovedit a fi destul de reușită: Bukkit este mult mai larg ca funcționalitate decât Vanilla, în primul rând datorită suportului pentru diferite moduri și pluginuri. În același timp, consumă mai puțină memorie per player - aproximativ 5-10 MB.

Dezavantajele Bukkit sunt că ocupă prea multă memorie RAM atunci când rulează. În plus, cu cât serverul rulează mai mult, cu atât necesită mai multă memorie (chiar dacă sunt puțini jucători). Atunci când alegeți Bukkit ca server, trebuie să aveți în vedere că noile sale versiuni, de regulă, conțin erori; Versiunea stabilă apare de obicei la aproximativ 2-3 săptămâni după lansarea versiunii oficiale a Minecraft.

În plus, alte platforme au câștigat recent popularitate (de exemplu, Spout, MCPC și MCPC+), dar au compatibilitate limitată cu Vanilla și Bukkit și suport extrem de limitat pentru mod-uri (de exemplu, pentru Spout poți scrie doar mod-uri de la zero). Dacă sunt folosite, atunci numai pentru experimente.

Pentru a organiza un server de jocuri, vă recomandăm să folosiți platforma Bukkit, deoarece este cea mai flexibilă; În plus, există multe moduri și pluginuri diferite pentru acesta. Funcționarea stabilă a unui server Minecraft depinde în mare măsură de alegerea corectă a platformei hardware. Să luăm în considerare această problemă mai detaliat.

Cerințe hardware

Atât serverul, cât și clientul Minecraft sunt foarte pretențioși în ceea ce privește resursele de sistem.
Atunci când alegeți o platformă hardware, ar trebui să rețineți că un procesor multi-core nu va oferi prea multe avantaje: nucleul serverului Minecraft poate folosi doar un fir de calcul. Al doilea nucleu, însă, ar fi util: unele plugin-uri sunt executate în fire separate, iar Java consumă, de asemenea, o mulțime de resurse...

Prin urmare, pentru un server Minecraft, este mai bine să alegeți un procesor care are performanțe single-core mai mari. Un procesor dual-core mai puternic va fi de preferat unui procesor multi-core care este mai puțin puternic. Pe forumurile specializate, se recomandă utilizarea procesoarelor cu o frecvență de ceas de cel puțin 3 GHz.

Pentru funcționarea normală a serverului Minecraft, este necesară o cantitate mare de RAM. Bukkit ocupă aproximativ 1 GB de RAM; în plus, pentru fiecare jucător, după cum sa menționat mai sus, sunt alocați de la 5 la 10 MB. Pluginurile și modurile consumă, de asemenea, destul de multă memorie. Pentru un server cu 30 - 50 de jucători, deci, veți avea nevoie de cel puțin 4 GB de RAM.

În Minecraft, multe (de exemplu, încărcarea acelorași plugin-uri) depind de viteza sistemului de fișiere. Prin urmare, este de preferat să alegeți un server cu un disc SSD. Este puțin probabil ca discurile cu ax să fie potrivite din cauza vitezei reduse de citire aleatorie.

Viteza conexiunii dvs. la Internet este, de asemenea, de mare importanță. Pentru un joc de 40-50 de persoane este suficient un canal de 10 Mb/s. Cu toate acestea, pentru cei care plănuiesc un proiect Minecraft mai mare, inclusiv un site web, un forum și o hartă dinamică, este foarte de dorit să aibă un canal cu lățime de bandă mai mare.

Ce configurație specifică este cel mai bine să alegeți? Din configuratii pe care le oferim Vă recomandăm să acordați atenție următoarelor:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/lună;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2x500GB SATA, 3500 rub/lună. — folosim această configurație pentru serverul nostru de testare MineCraft, pe care vă puteți juca chiar acum (cum se face acest lucru este scris mai jos);
  • Intel Core i3-2120 3.3 GHz, 8 GB RAM, 2x500 GB SATA, 3500 RUR/lună.

Aceste configurații sunt destul de potrivite pentru a crea un server Minecraft pentru 30-40 de jucători. Unele dezavantaje este lipsa unităților SSD, dar oferim un alt avantaj important: un canal garantat de 100 Mb/s fără restricții sau rapoarte. Când comandați toate configurațiile enumerate mai sus, nu există nicio taxă de configurare.

Avem și servere mai productive, dar în același timp, firește, mai scumpe (la comanda acestor configurații nu se percepe nici taxa de instalare):

  • 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4x160GB SATA, 5000 rub/lună;
  • 2x IntelXeon 5504, 2GHz, 12GB RAM, 3x1TB SATA, 9000 rub/lună.

Vă recomandăm să acordați atenție noului model de buget cu o unitate SSD bazată pe procesorul Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2x240 GB SSD, 4000 ruble/lună, plata instalării - 3000 ruble.

Instalarea și rularea serverului Bukkit pe OC Ubuntu

Înainte de a instala serverul, să creăm un utilizator nou și să-l adăugăm la grupul sudo:

$ sudo useradd -m -s /bin/bash <nume utilizator> $ sudo adduser <nume utilizator> sudo

În continuare, vom seta parola sub care utilizatorul creat se va conecta la server:

$ sudo passwd <nume utilizator>

Să ne reconectam la server cu un cont nou și să începem instalarea.
Minecraft este scris în Java, deci Java Runtime Environment trebuie instalat pe server.

Să actualizăm lista de pachete disponibile:

$ sudo apt-get actualizare

Apoi rulați următoarea comandă:

$ sudo apt-get install default-jdk

Pentru a instala și rula Bukkit, este, de asemenea, recomandabil să instalați un multiplexor de terminale - de exemplu, ecran (puteți folosi și alte multiplexoare de terminale - consultați Privire de ansamblu asupra):

$ sudo apt-get install screen

Ecranul va fi necesar dacă ne conectăm la serverul de joc prin ssh. Cu ajutorul acestuia, puteți rula serverul Minecraft într-o fereastră de terminal separată și chiar și după închiderea clientului ssh, serverul va funcționa.

Să creăm un director în care vor fi stocate fișierele serverului:

$ mkdir bukkit $ cd bukkit

După aceea să mergem la Pagina de descărcare a site-ului oficial Bukkit. În partea din dreapta sus a paginii, puteți vedea un link către cea mai recentă versiune recomandată a serverului. Vă recomandăm să îl descărcați:

$ wget <link pentru versiunea recomandată>

Acum să rulăm ecranul:

ecran $sudo

și rulați următoarea comandă:

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

Să explicăm ce înseamnă parametrii utilizați:

  • Xmx1024M - cantitate maximă de RAM pe server;
  • jar craftbukkit.jar - cheia serverului;
  • o false - permite accesul la server de la clienți piratați.

Serverul va fi pornit.
Puteți opri serverul tastând comanda stop în consolă.

Configurarea și configurarea serverului

Setările serverului sunt stocate în fișierul de configurare server.properties. Acesta conține următorii parametri:

  • generator-settings — setează șablonul pentru generarea unei lumi superplate;
  • permit-nether - determină posibilitatea de a se muta în Lumea Inferioară. În mod implicit, această setare este setată la adevărat. Dacă setați la fals, atunci toți jucătorii din Nether vor fi mutați la cel normal;
  • level-name - numele folderului cu fișierele hărților care vor fi folosite în timpul jocului. Dosarul se află în același director în care se află fișierele serverului. Dacă nu există un astfel de director, serverul creează automat o nouă lume și o plasează într-un director cu același nume;
  • enable-query - când se setează la true, activează protocolul GameSpy4 pentru a asculta serverul;
  • allow-flight - permite zboruri în jurul lumii Minecraft. Valoarea implicită este false (zborurile sunt interzise);
  • server-port - indică portul care va fi utilizat de serverul de joc. Portul standard pentru Minecraft este 25565. Nu este recomandat să schimbați valoarea acestui parametru;
  • level-type - determină tipul lumii (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - permite accesul de la distanță la consola serverului. Implicit este dezactivat (fals);
  • level-seed - date de intrare pentru generatorul de nivel. Pentru a putea crea lumi aleatorii, acest câmp trebuie lăsat necompletat;
  • force-gamemode - setează modul de joc standard pentru jucătorii care se conectează la server;
  • server-ip - indică adresa IP care va fi folosită de jucători pentru a se conecta la server;
  • max-build-height - indică înălțimea maximă a unei clădiri pe server. Valoarea acestuia trebuie să fie un multiplu de 16 (64, 96, 256 etc.);
  • spawn-npcs - permite (dacă este setată la true) sau interzice (dacă este setată la false) apariția NPC-urilor în sate;
  • white-list - activează sau dezactivează utilizarea unei liste albe de jucători de pe server. Dacă este setată la true, administratorul va putea crea o listă albă adăugând manual poreclele jucătorilor. Dacă valoarea este falsă, atunci orice utilizator care îi cunoaște adresa IP și portul poate accesa serverul;
  • spawn-animals - permite generarea automată a mafioților prietenoși dacă este setată la true);
  • snooper-enabled - permite serverului să trimită statistici și date către dezvoltatori;
  • hardcore - activează modul Hardcore pe server;
  • texture-pac - fișier de textură care va fi folosit atunci când playerul se conectează la server. Valoarea acestui parametru este numele arhivei zip cu texturi, care este stocată în același director cu serverul;
  • modul online - permite verificarea conturilor premium ale utilizatorilor care se conectează la server. Dacă acest parametru este setat la adevărat, numai deținătorii de conturi premium vor putea accesa serverul. Dacă verificarea contului este dezactivată (setat la fals), atunci orice utilizator poate accesa serverul (inclusiv, de exemplu, jucătorii care și-au falsificat porecla), ceea ce creează riscuri suplimentare de securitate. Când verificarea este dezactivată, puteți juca Minecraft printr-o rețea locală, fără acces la Internet;
  • pvp - permite sau interzice jucătorilor să se lupte între ei. Dacă acest parametru este adevărat, atunci jucătorii se pot distruge reciproc. Dacă se setează la fals, jucătorii nu se pot face daune directe unul altuia;
  • dificultate - stabilește nivelul de dificultate al jocului. Poate lua valori de la 0 (cel mai ușor) la 3 (cel mai dificil);
  • gamemode - indică ce mod de joc va fi setat pentru jucătorii care intră pe server. Poate lua următoarele valori: 0 - Supraviețuire, 1-Creativ, 2-Aventură;
  • player-idle-timeout — timpul de inactivitate (în minute), după care jucătorii sunt deconectați automat de la server;
  • max-players — numărul maxim permis de jucători pe server (de la 0 la 999);
  • spawn-monsters - permite (dacă este setată la adevărat) apariția mafiilor ostile;
  • generate-structures — permite (adevărat)/dezactivează (fals) generarea de structuri (vistiere, cetăți, sate);
  • view-distance - ajustează raza bucăților actualizate care urmează să fie trimise jucătorului; poate lua valori de la 3 la 15.

Jurnalele serverului Minecraft sunt scrise în fișierul server.log. Este stocat în același folder cu fișierele serverului. Jurnalul crește constant în dimensiune, ocupând tot mai mult spațiu pe disc. Puteți simplifica activitatea mecanismului de înregistrare folosind așa-numita rotație a jurnalului. Pentru rotație, se folosește un utilitar special - logrotate. Limitează numărul de intrări în jurnal la o anumită limită.

Puteți configura rotația jurnalului astfel încât toate intrările să fie șterse de îndată ce fișierul jurnal atinge o anumită dimensiune. De asemenea, puteți seta o perioadă după care toate înregistrările vechi vor fi considerate irelevante și șterse.

Setările de bază de rotație sunt localizate în fișierul /etc/logrotate.conf; În plus, puteți crea setări individuale pentru fiecare aplicație. Fișierele cu setări individuale sunt stocate în directorul /etc/logrotate.d.

Să creăm un fișier text /etc/logrotate.d/craftbukkit și să introducem următorii parametri în el:

/home/craftbukkit/server.log { rotiți 2 săptămânal comprimați missingok notifempty }

Să ne uităm la semnificațiile lor mai detaliat:

  • parametrul de rotație specifică numărul de rotații înainte de ștergerea fișierului;
  • săptămânal indică faptul că rotația va fi efectuată săptămânal (puteți seta și alți parametri: lunar - lunar și zilnic - zilnic);
  • compress specifică că jurnalele arhivate ar trebui să fie comprimate (opțiunea inversă este nocompress);
  • missingok indică faptul că, dacă nu există un fișier jurnal, ar trebui să continuați să lucrați și să nu afișați mesaje de eroare;
  • notifempty specifică să nu se schimbe fișierul jurnal dacă acesta este gol.

Puteți citi mai multe despre setările de rotație a jurnalului aici.

Sfaturi de optimizare

Să facem imediat o rezervare că această secțiune va oferi sfaturi legate doar de optimizarea serverului de joc. Problemele de reglare fină și optimizare a serverului pe care este instalat Minecraft sunt un subiect separat care depășește domeniul de aplicare al acestui articol; cititorii interesați pot găsi cu ușurință informațiile de care au nevoie pe internet.

Una dintre cele mai frecvente probleme care apar la jocul Minecraft este așa-numitele întârzieri - situații în care programul nu răspunde la intrarea utilizatorului în timp util. Acestea pot fi cauzate de probleme atât pe partea client, cât și pe partea serverului. Mai jos vom oferi recomandări care vor ajuta la reducerea probabilității de apariție a problemelor pe partea serverului.

Monitorizați în mod regulat consumul de memorie al serverului și al pluginurilor

Consumul de memorie poate fi monitorizat folosind plugin-uri administrative specializate - de exemplu, LagMeter.

Fiți la curent cu actualizările pluginurilor

De regulă, dezvoltatorii de noi pluginuri se străduiesc să reducă încărcarea cu fiecare versiune nouă.

Încercați să nu utilizați multe plugin-uri cu funcționalități similare

Pluginurile mari (de exemplu Essentials, AdminCMD, CommandBook) includ foarte adesea funcționalitatea multor plugin-uri mai mici. De exemplu, același Essential conține funcțiile pluginurilor iConomy, uHome, OpenInv, VanishNoPacket, Kit. Plugin-urile mici, a căror funcționalitate este complet acoperită de funcționalitatea unuia mare, în majoritatea cazurilor pot fi eliminate pentru a nu supraîncărca serverul.

Restricționați harta și încărcați-o singur

Dacă nu limitați harta, încărcarea pe server va crește semnificativ. Puteți limita harta folosind un plugin Frontiera Mondială. Pentru a face acest lucru, trebuie să rulați acest plugin și să rulați comanda /wb 200, apoi să desenați harta folosind comanda /wb fill.

Desenarea, desigur, va dura mult timp, dar este mai bine să o faceți o dată, închizând serverul pentru lucrări tehnice. Dacă fiecare jucător desenează harta, serverul va funcționa încet.

Înlocuiți pluginurile grele cu altele mai rapide și care necesită mai puține resurse

Nu toate pluginurile pentru Minecraft pot fi numite de succes: ele conțin adesea multe funcții inutile și inutile și, uneori, consumă și multă memorie. Este mai bine să înlocuiți pluginurile nereușite cu altele alternative (sunt destul de multe). De exemplu, pluginul LWC poate fi înlocuit cu Wgfix+MachineGuard, iar pluginul DynMap cu Minecraft Overviewer.

Ștergeți întotdeauna drop-ul sau instalați un plugin pentru a elimina automat drop-ul

Picăturile din jocuri sunt elemente care cad atunci când o mulțime moare sau unele blocuri sunt distruse. Stocarea și procesarea picăturilor ocupă o mulțime de resurse de sistem.

Pentru ca serverul să funcționeze mai rapid, este recomandabil să ștergeți drop-ul. Acest lucru se face cel mai bine folosind plugin-uri speciale - de exemplu, NoLagg sau McClean.

Nu folosiți anti-cheat

Pe serverele de jocuri sunt adesea instalate așa-numitele anti-cheat - programe care blochează încercările de a influența jocul în moduri necinstite.

Există și anti-cheat-uri pentru Minecraft. Orice anti-cheat este întotdeauna o încărcare suplimentară pe server. Este de preferat să instalați protecție pentru lansator (care, totuși, nu oferă o garanție absolută de securitate și se sparge ușor - dar acesta este un subiect pentru o discuție separată) și pentru client.

În loc de concluzie

Orice instrucțiuni și recomandări se dovedesc a fi mult mai eficiente dacă sunt susținute de exemple specifice. Pe baza instrucțiunilor de instalare de mai sus, am creat propriul nostru server Minecraft și am pus câteva lucruri interesante pe hartă.

Iată ce avem:

  • Server Bukkit - versiunea recomandată stabilă 1.6.4;
  • Plugin de statistici - pentru a colecta statistici despre jucători;
  • Plugin WorldBorder - pentru a desena și a limita harta;
  • Plugin WorldGuard (+WorldEdit ca dependență) - pentru a proteja unele zone.

Îi invităm pe toată lumea să se joace pe el: pentru a se conecta, adăugați un nou server și introduceți adresa mncrft.slc.tl.

Ne vom bucura dacă vă împărtășiți propria experiență de instalare, configurare și optimizare a serverelor MineCraft în comentarii și spuneți-ne ce mod-uri și plugin-uri vă interesează și de ce.

Veste tare: De la 1 august, taxa de instalare pentru serverele dedicate cu configurație fixă ​​a fost redusă cu 50%. Acum, plata unică de configurare este de doar 3000 de ruble.

Cititorii care nu pot lăsa comentarii aici sunt invitați să ne viziteze la blog.

Sursa: www.habr.com

Adauga un comentariu