Izrada i postavljanje Minecraft poslužitelja

Izrada i postavljanje Minecraft poslužitelja

Minecraft je danas jedna od najpopularnijih online igara. U manje od tri godine (prvo službeno izdanje dogodilo se u jesen 2011.) stekao je milijune obožavatelja diljem svijeta.

Razvojni programeri igara namjerno se fokusiraju na najbolje primjere od prije dvadesetak godina, kada su mnoge igre bile, prema današnjim standardima, primitivne u smislu grafike i nesavršene u smislu upotrebljivosti, ali su u isto vrijeme bile istinski uzbudljive.

Kao i sve sandbox igre, Minecraft korisniku pruža ogromne mogućnosti za kreativnost - to je zapravo glavna tajna njegove popularnosti.

Poslužitelje za igre s više igrača organiziraju sami igrači i njihove zajednice. Danas postoje deseci tisuća servera za igre koji rade na internetu (pogledajte, na primjer, popis ovdje).

Među našim klijentima ima mnogo ljubitelja ove igre, koji iznajmljuju opremu iz naših podatkovnih centara za gaming projekte. U ovom ćemo članku govoriti o tome na koje tehničke točke morate obratiti pozornost pri odabiru poslužitelja
Minecraft.

Odabir platforme

Minecraft uključuje sljedeće arhitektonske elemente:

  1. poslužitelj - program putem kojeg igrači komuniciraju jedni s drugima preko mreže;
  2. klijent - program za povezivanje s poslužiteljem, instaliran na računalu igrača;
  3. dodaci - dodaci poslužitelju koji dodaju nove funkcije ili proširuju stare;
  4. modovi su dodaci svijetu igre (novi blokovi, predmeti, značajke).

Postoje mnoge poslužiteljske platforme za Minecraft. Najčešći i najpopularniji su Vanilla i Bukkit.

Vanilija Ovo je službena platforma programera igara. Distribuira se u grafičkoj i konzolnoj verziji. Nova verzija Vanille uvijek izlazi u isto vrijeme kad i nova verzija Minecrafta.

Loša strana Vanille je prevelika potrošnja memorije (cca 50 MB po igraču). Drugi značajan nedostatak je nedostatak dodataka.

bukkit kreirala je grupa entuzijasta koji su pokušali poboljšati službeni Minecraft server. Pokušaj se pokazao prilično uspješnim: Bukkit je mnogo širi u funkcionalnosti od Vanille, prvenstveno zbog podrške za razne modove i dodatke. U isto vrijeme, troši manje memorije po igraču - otprilike 5-10 MB.

Mane Bukkita su što zauzima previše RAM-a kada radi. Osim toga, što poslužitelj duže radi, to mu je potrebno više memorije (čak i ako ima malo igrača). Prilikom odabira Bukkita kao poslužitelja treba imati na umu da njegove nove verzije u pravilu sadrže pogreške; Stabilna verzija se obično pojavljuje otprilike 2-3 tjedna nakon izlaska službene verzije Minecrafta.

Osim toga, druge platforme su nedavno stekle popularnost (na primjer, Spout, MCPC i MCPC+), ali imaju ograničenu kompatibilnost s Vanilla i Bukkit i izuzetno ograničenu podršku za modove (na primjer, za Spout možete pisati modove samo od nule). Ako se koriste, onda samo za eksperimente.

Za organizaciju poslužitelja za igre preporučujemo korištenje platforme Bukkit, jer je najfleksibilnija; Osim toga, postoji mnogo različitih modifikacija i dodataka za to. Stabilan rad Minecraft poslužitelja uvelike ovisi o pravilnom odabiru hardverske platforme. Razmotrimo ovo pitanje detaljnije.

Hardverski zahtjevi

I Minecraft poslužitelj i klijent vrlo su zahtjevni za sistemske resurse.
Prilikom odabira hardverske platforme, trebali biste imati na umu da višejezgreni procesor neće pružiti veliku prednost: jezgra poslužitelja Minecraft može koristiti samo jednu računsku nit. Druga bi jezgra, međutim, bila korisna: neki dodaci se izvode u zasebnim nitima, a Java također troši puno resursa...

Stoga je za Minecraft poslužitelj bolje odabrati procesor koji ima veću performansu jedne jezgre. Snažniji dvojezgreni procesor bit će bolji od višejezgrenog procesora koji je manje snažan. Na specijaliziranim forumima preporuča se korištenje procesora s taktom od najmanje 3 GHz.

Za normalno funkcioniranje Minecraft poslužitelja potrebna je velika količina RAM-a. Bukkit zauzima približno 1 GB RAM-a; osim toga, za svakog igrača, kao što je gore spomenuto, dodjeljuje se od 5 do 10 MB. Dodaci i modovi također troše dosta memorije. Za poslužitelj s 30 - 50 igrača trebat će vam, dakle, najmanje 4 GB RAM-a.

U Minecraftu puno (na primjer, učitavanje istih dodataka) ovisi o brzini datotečnog sustava. Stoga je poželjno odabrati poslužitelj sa SSD diskom. Malo je vjerojatno da će vretenasti diskovi biti prikladni zbog niske brzine nasumičnog čitanja.

Brzina vaše internetske veze također je od velike važnosti. Za igru ​​od 40-50 ljudi dovoljan je kanal od 10 Mb/s. Međutim, za one koji planiraju veći minecraft projekt, uključujući web stranicu, forum i dinamičku mapu, vrlo je poželjno imati kanal s većom propusnošću.

Koju je konkretnu konfiguraciju najbolje odabrati? Iz konfiguracije koje nudimo Preporučujemo da obratite pozornost na sljedeće:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/mjesečno;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 GB RAM-a, 2x500 GB SATA, 3500 rubalja mjesečno. — koristimo ovu konfiguraciju za naš MineCraft test poslužitelj, na kojem možete igrati upravo sada (kako to učiniti je napisano u nastavku);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 RUR/mjesečno.

Ove su konfiguracije sasvim prikladne za stvaranje Minecraft poslužitelja za 30-40 igrača. Neki nedostatak je nedostatak SSD diskova, ali dajemo još jednu važnu prednost: zajamčeni kanal od 100 Mb/s bez ikakvih ograničenja ili omjera. Pri naručivanju svih gore navedenih konfiguracija nema naknade za postavljanje.

Imamo i produktivnije, ali u isto vrijeme, naravno, skuplje poslužitelje (prilikom narudžbe ovih konfiguracija instalacijska naknada se također ne naplaćuje):

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

Također preporučujemo da obratite pozornost na novi proračunski model sa SSD pogonom koji se temelji na procesoru Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM-a, 2x240 GB SSD, 4000 rubalja / mjesec, plaćanje instalacije - 3000 rubalja.

Instaliranje i pokretanje Bukkit poslužitelja na OC Ubuntu

Prije instaliranja poslužitelja, kreirajmo novog korisnika i dodajmo ga u sudo grupu:

$ sudo useradd -m -s /bin/bash <korisničko ime> $ sudo adduser <korisničko ime> sudo

Zatim ćemo postaviti lozinku pod kojom će se stvoreni korisnik spojiti na poslužitelj:

$ sudo passwd <korisničko ime>

Spojimo se ponovo na poslužitelj pod novim računom i započnimo instalaciju.
Minecraft je napisan u Javi, tako da Java Runtime Environment mora biti instaliran na poslužitelju.

Ažurirajmo popis dostupnih paketa:

$ sudo apt-get ažuriranje

Zatim pokrenite sljedeću naredbu:

$ sudo apt-get install default-jdk

Da biste instalirali i pokrenuli Bukkit, također je preporučljivo instalirati terminalni multiplekser - na primjer, ekran (također možete koristiti druge terminalske multipleksere - pogledajte naš pregled):

$ sudo apt-get instalacijski zaslon

Zaslon će biti potreban ako se povežemo na poslužitelj igre putem ssh-a. Uz njegovu pomoć možete pokrenuti Minecraft poslužitelj u zasebnom prozoru terminala, a čak i nakon zatvaranja ssh klijenta, poslužitelj će raditi.

Kreirajmo direktorij u koji će biti pohranjene datoteke poslužitelja:

$ mkdir bukkit $ cd bukkit

Nakon toga idemo na Bukkit službena stranica za preuzimanje. U gornjem desnom dijelu stranice možete vidjeti poveznicu na najnoviju preporučenu verziju poslužitelja. Preporučujemo preuzimanje:

$ wget <veza na preporučenu verziju>

Sada pokrenimo ekran:

$sudo ekran

i pokrenite sljedeću naredbu:

$ java -Xmx1024M -jar craftbukkit.jar -o lažno

Objasnimo što znače korišteni parametri:

  • Xmx1024M - maksimalna količina RAM-a po poslužitelju;
  • jar craftbukkit.jar - ključ poslužitelja;
  • o false - dopušta pristup poslužitelju piratskim klijentima.

Poslužitelj će se pokrenuti.
Poslužitelj možete zaustaviti upisivanjem naredbe stop u konzoli.

Postavljanje i konfiguracija poslužitelja

Postavke poslužitelja pohranjene su u konfiguracijskoj datoteci server.properties. Sadrži sljedeće parametre:

  • generator-settings — postavlja predložak za generiranje superravnog svijeta;
  • allow-nether - određuje mogućnost prelaska u Donji svijet. Prema zadanim postavkama ova je postavka postavljena na true. Ako je postavljeno na false, tada će svi igrači iz Nethera biti premješteni na normalni;
  • level-name - naziv mape s mapama koje će se koristiti tijekom igre. Mapa se nalazi u istom direktoriju u kojem se nalaze datoteke poslužitelja. Ako takav direktorij ne postoji, poslužitelj automatski stvara novi svijet i smješta ga u direktorij s istim imenom;
  • enable-query - kada je postavljeno na true, aktivira GameSpy4 protokol za slušanje poslužitelja;
  • allow-flight - omogućuje letove diljem Minecraft svijeta. Zadana vrijednost je false (letovi su zabranjeni);
  • server-port - označava port koji će koristiti poslužitelj igre. Standardni port za Minecraft je 25565. Ne preporučuje se mijenjati vrijednost ovog parametra;
  • level-type - određuje tip svijeta (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - omogućuje udaljeni pristup konzoli poslužitelja. Prema zadanim postavkama onemogućeno je (false);
  • level-seed - ulazni podaci za generator razine. Da biste mogli stvarati nasumične svjetove, ovo polje mora ostati prazno;
  • force-gamemode - postavlja standardni način igre za igrače koji se povezuju na poslužitelj;
  • server-ip - označava IP adresu koju će igrači koristiti za spajanje na poslužitelj;
  • max-build-height - označava maksimalnu visinu zgrade na poslužitelju. Njegova vrijednost mora biti višekratnik broja 16 (64, 96, 256 itd.);
  • spawn-npcs - dopušta (ako je postavljeno na true) ili zabranjuje (ako je postavljeno na false) pojavljivanje NPC-ova u selima;
  • white-list - omogućuje ili onemogućuje korištenje bijele liste igrača na poslužitelju. Ako je postavljeno na true, administrator će moći stvoriti bijelu listu ručnim dodavanjem nadimaka igrača na nju. Ako je vrijednost lažna, tada svaki korisnik koji zna njegovu IP adresu i port može pristupiti poslužitelju;
  • spawn-animals - omogućuje automatsko stvaranje prijateljskih mobova ako je postavljeno na true);
  • snooper-enabled - omogućuje poslužitelju slanje statistike i podataka programerima;
  • hardcore - omogućuje Hardcore mod na poslužitelju;
  • texture-pac - datoteka teksture koja će se koristiti kada se igrač spoji na poslužitelj. Vrijednost ovog parametra je naziv zip arhive s teksturama, koja je pohranjena u istom direktoriju kao i poslužitelj;
  • online-mode - omogućuje provjeru premium računa korisnika koji se spajaju na poslužitelj. Ako je ovaj parametar postavljen na true, samo će vlasnici premium računa moći pristupiti poslužitelju. Ako je provjera računa onemogućena (postavljena na false), tada svi korisnici mogu pristupiti poslužitelju (uključujući, na primjer, igrače koji su lažirali svoj nadimak), što stvara dodatne sigurnosne rizike. Kada je provjera onemogućena, možete igrati Minecraft preko lokalne mreže, bez pristupa Internetu;
  • pvp - dopušta ili zabranjuje igračima da se međusobno bore. Ako je ovaj parametar istinit, tada igrači mogu uništiti jedni druge. Ako je postavljeno na false, igrači ne mogu nanijeti izravnu štetu jedni drugima;
  • težina - postavlja razinu težine igre. Može uzeti vrijednosti od 0 (najlakše) do 3 (najteže);
  • gamemode - označava koji će način igre biti postavljen za igrače koji ulaze na poslužitelj. Može imati sljedeće vrijednosti: 0 - Preživljavanje, 1-Kreativno, 2-Avantura;
  • player-idle-timeout — vrijeme neaktivnosti (u minutama), nakon čega se igrači automatski isključuju s poslužitelja;
  • max-players — najveći dopušteni broj igrača na poslužitelju (od 0 do 999);
  • spawn-monsters - dopušta (ako je postavljeno na true) stvaranje neprijateljskih mobova;
  • generiraj-strukture — omogućuje (točno)/onemogućuje (netočno) generiranje struktura (riznice, tvrđave, sela);
  • view-distance - podešava radijus ažuriranih dijelova koji se šalju igraču; može imati vrijednosti od 3 do 15.

Dnevnici poslužitelja Minecrafta zapisuju se u datoteku server.log. Pohranjen je u istoj mapi kao i datoteke poslužitelja. Dnevnik stalno raste u veličini, zauzimajući sve više prostora na disku. Rad mehanizma za bilježenje možete pojednostaviti pomoću takozvane rotacije dnevnika. Za rotaciju se koristi poseban uslužni program - logrotate. Ograničava broj unosa u dnevnik na određeno ograničenje.

Rotaciju dnevnika možete konfigurirati tako da se svi unosi brišu čim datoteka zapisnika dosegne određenu veličinu. Također možete postaviti razdoblje nakon kojeg će se svi stari unosi smatrati nevažnim i izbrisati.

Osnovne postavke rotacije nalaze se u datoteci /etc/logrotate.conf; Osim toga, možete kreirati pojedinačne postavke za svaku aplikaciju. Datoteke s individualnim postavkama pohranjene su u direktoriju /etc/logrotate.d.

Kreirajmo tekstualnu datoteku /etc/logrotate.d/craftbukkit i u nju unesite sljedeće parametre:

/home/craftbukkit/server.log {rotiraj 2 tjedna komprimiraj missingok notifempty}

Pogledajmo njihova značenja detaljnije:

  • parametar rotate određuje broj rotacija prije brisanja datoteke;
  • tjedno označava da će se rotacija vršiti tjedno (možete postaviti i druge parametre: mjesečno - mjesečno i dnevno - dnevno);
  • compress specificira da arhivirani dnevnici trebaju biti komprimirani (obrnuta opcija je nocompress);
  • missingok označava da ako nema datoteke dnevnika, trebate nastaviti s radom i ne prikazivati ​​poruke o pogrešci;
  • notifempty navodi da se datoteka dnevnika ne pomiče ako je prazna.

Možete pročitati više o postavkama rotacije dnevnika здесь.

Savjeti za optimizaciju

Odmah rezervirajmo da će ovaj odjeljak pružiti savjete koji se odnose samo na optimizaciju poslužitelja igre. Pitanja finog podešavanja i optimizacije poslužitelja na kojem je instaliran Minecraft zasebna su tema koja je izvan opsega ovog članka; zainteresirani čitatelji mogu jednostavno pronaći potrebne informacije na internetu.

Jedan od najčešćih problema koji se javljaju pri igranju Minecrafta su takozvani lagovi - situacije kada program ne reagira pravovremeno na korisnički unos. Mogu biti uzrokovani problemima i na strani klijenta i na strani poslužitelja. U nastavku ćemo dati preporuke koje će pomoći u smanjenju vjerojatnosti problema na strani poslužitelja.

Redovito nadzirite potrošnju memorije poslužitelja i dodataka

Potrošnja memorije može se pratiti pomoću specijaliziranih administrativnih dodataka - na primjer, LagMeter.

Pratite ažuriranja dodataka

U pravilu, programeri novih dodataka nastoje smanjiti opterećenje sa svakom novom verzijom.

Pokušajte ne koristiti mnogo dodataka sa sličnim funkcijama

Veliki dodaci (npr. Essentials, AdminCMD, CommandBook) vrlo često uključuju funkcionalnost mnogih manjih dodataka. Na primjer, isti Essential sadrži funkcije dodataka iConomy, uHome, OpenInv, VanishNoPacket, Kit. Mali dodaci, čija je funkcionalnost u potpunosti pokrivena funkcionalnošću jednog velikog, u većini slučajeva mogu se ukloniti kako ne bi preopteretili poslužitelj.

Ograničite kartu i učitajte je sami

Ako ne ograničite kartu, opterećenje poslužitelja će se značajno povećati. Kartu možete ograničiti pomoću dodatka Svjetska granica. Da biste to učinili, trebate pokrenuti ovaj dodatak i pokrenuti naredbu /wb 200, a zatim nacrtati kartu pomoću naredbe /wb fill.

Crtanje će, naravno, oduzeti puno vremena, ali bolje je to učiniti jednom, zatvarajući poslužitelj za tehnički rad. Ako svaki igrač crta kartu, poslužitelj će raditi sporo.

Zamijenite dodatke za teške uvjete rada bržima koji zahtijevaju manje resursa

Ne mogu se svi dodaci za Minecraft nazvati uspješnim: često sadrže mnogo nepotrebnih i nepotrebnih funkcija, a ponekad također troše puno memorije. Bolje je neuspješne dodatke zamijeniti alternativnim (ima ih dosta). Na primjer, dodatak LWC može se zamijeniti s Wgfix+MachineGuard, a dodatak DynMap s Minecraft Overviewerom.

Uvijek očistite pad ili instalirajte dodatak za automatsko uklanjanje pada

Padovi u igricama su predmeti koji ispadnu kada rulja umre ili se neki blokovi unište. Pohranjivanje i obrada dropova oduzima puno resursa sustava.

Kako bi poslužitelj radio brže, preporučljivo je izbrisati drop. To je najbolje učiniti pomoću posebnih dodataka - na primjer, NoLagg ili McClean.

Nemojte koristiti anti-cheatove

Na poslužiteljima igara često se instaliraju takozvani anti-cheatovi - programi koji blokiraju pokušaje utjecaja na igru ​​na nepoštene načine.

Postoje i anti-cheats za Minecraft. Svaki anti-cheat je uvijek dodatno opterećenje na serveru. Poželjno je instalirati zaštitu za pokretač (koji, međutim, ne daje apsolutno jamstvo sigurnosti i lako se pokvari - ali to je tema za zasebnu raspravu) i za klijenta.

Umjesto zaključka

Sve upute i preporuke pokazuju se mnogo učinkovitijima ako su potkrijepljene konkretnim primjerima. Na temelju gore navedenih uputa za instalaciju, napravili smo vlastiti Minecraft server i stavili neke zanimljive stvari na kartu.

Evo što smo dobili:

  • Bukkit poslužitelj - stabilna preporučena verzija 1.6.4;
  • Dodatak za statistiku - za prikupljanje statistike o igračima;
  • Dodatak WorldBorder - za crtanje i ograničavanje karte;
  • Dodatak WorldGuard (+WorldEdit kao ovisnost) - za zaštitu nekih područja.

Pozivamo sve da igraju na njemu: da se povežu, dodaju novi poslužitelj i unesu adresu mncrft.slc.tl.

Bit će nam drago ako podijelite vlastito iskustvo instaliranja, konfiguriranja i optimiziranja MineCraft poslužitelja u komentarima i kažete nam koji modovi i dodaci vas zanimaju i zašto.

Cool vijesti: Od 1. kolovoza instalacijska naknada za namjenske poslužitelje s fiksnom konfiguracijom smanjena je za 50%. Sada jednokratno plaćanje za postavljanje iznosi samo 3000 rubalja.

Čitatelje koji ovdje ne mogu ostaviti komentare pozivamo da nas posjete na blog.

Izvor: www.habr.com

Dodajte komentar