Kreiranje i postavljanje Minecraft servera

Kreiranje i postavljanje Minecraft servera

Minecraft je danas jedna od najpopularnijih online igrica. Za manje od tri godine (prvo zvanično izdanje održano je u jesen 2011.), stekao je milione obožavatelja širom svijeta.

Programeri igara namjerno se fokusiraju na najbolje primjere prije dvadesetak godina, kada su mnoge igre po današnjim standardima bile primitivne u pogledu grafike i nesavršene u smislu upotrebljivosti, ali su u isto vrijeme bile zaista uzbudljive.

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

Organizaciju servera za igranje u multiplayer modu vrše sami igrači i njihove zajednice. Danas desetine hiljada servera za igre rade na internetu (pogledajte, na primjer, listu ovdje).

Među našim klijentima ima mnogo ljubitelja ove igre, a u našim data centrima iznajmljuju opremu za projekte igara. U ovom članku ćemo govoriti o tome na koje tehničke točke trebate obratiti pažnju pri odabiru servera
Minecraft.

Odaberite platformu

Igra Minecraft uključuje sljedeće arhitektonske elemente:

  1. server - program s kojim igrači komuniciraju jedni s drugima preko mreže;
  2. klijent - program za povezivanje sa serverom, instaliran na računaru igrača;
  3. dodaci - dodaci serveru koji dodaju nove funkcije ili proširuju stare;
  4. modovi - dodaci svijetu igre (novi blokovi, predmeti, karakteristike).

Postoji mnogo serverskih platformi za Minecraft. Najčešći i najpopularniji su Vanilla i Bukkit.

vanilija Ovo je službena platforma programera igre. Distribuirano u grafičkoj i konzolnoj verziji. Nova verzija Vanilla uvijek izlazi u isto vrijeme kada i nova verzija Minecrafta.

Nedostatak Vanilla je prevelika potrošnja memorije (otprilike 50 MB po igraču). Još jedan značajan nedostatak je nedostatak dodataka.

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

Nedostaci Bukkita su što zauzima previše RAM-a kada se pokrene. Osim toga, što server duže radi, potrebno mu je više memorije (čak i ako ima malo igrača). Kada birate Bukkit kao server, imajte na umu da njegove nove verzije, po pravilu, sadrže greške; stabilna verzija se obično pojavljuje oko 2-3 sedmice nakon objavljivanja službene verzije Minecrafta.

Osim toga, druge platforme su nedavno stekle popularnost (na primjer, Spout, MCPC i MCPC +), ali se razlikuju po ograničenoj kompatibilnosti s Vanilla i Bukkitom i vrlo ograničenoj podršci za modove (na primjer, možete pisati modove za Spout samo od nule ). Ako se koriste, onda samo za eksperimente.

Za organizaciju servera za igre preporučujemo korištenje Bukkit platforme, jer je najfleksibilnija; osim toga, ispod njega postoji mnogo različitih modova i dodataka. Stabilan rad Minecraft servera u velikoj mjeri ovisi o pravilnom izboru hardverske platforme. Razmotrimo ovo pitanje detaljnije.

Hardverski zahtjevi

I server i Minecraft klijent su veoma zahtjevni za sistemske resurse.
Prilikom odabira hardverske platforme, treba imati na umu da procesor s više jezgara neće dati velike prednosti: jezgro Minecraft servera može koristiti samo jednu računsku nit. Drugo jezgro će, međutim, biti korisno: neki dodaci se izvode u odvojenim nitima, a Java također troši mnogo resursa...

Stoga je za Minecraft server bolje odabrati procesor koji ima veće performanse s jednim jezgrom. Snažniji dvojezgreni procesor će biti poželjniji od manje moćnog višejezgrenog procesora. Na specijalizovanim forumima preporučuje se korišćenje procesora sa taktom od najmanje 3 GHz.

Za normalno funkcionisanje Minecraft servera potrebna je velika količina RAM-a. Bukkit zauzima otprilike 1GB RAM-a; osim toga, za svakog igrača, kao što je gore navedeno, dodjeljuje se od 5 do 10 MB. Dodaci i modovi također troše dosta memorije. Za server sa 30 - 50 igrača, biće vam potrebno najmanje 4 GB RAM-a.

U Minecraft-u mnogo (na primjer, učitavanje istih dodataka) ovisi o brzini sistema datoteka. Stoga je poželjno odabrati server sa SSD diskom. Malo je vjerovatno da će pogoni vretena biti prikladni zbog niske nasumične brzine čitanja.

Brzina internetske veze je takođe 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 projekat, uključujući web stranicu, forum i dinamičku mapu, vrlo je poželjno imati kanal sa većom propusnošću.

Koju konfiguraciju je najbolje odabrati? Od konfiguracije koje nudimo Preporučujemo da obratite pažnju na sljedeće:

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

Ove konfiguracije su sasvim prikladne za kreiranje Minecraft servera za 30-40 igrača. Neki nedostatak je nedostatak SSD diskova, ali dajemo još jednu važnu prednost: zagarantovani kanal od 100 Mb/s bez ikakvih ograničenja i omjera. Prilikom naručivanja svih gore navedenih konfiguracija, instalacija se ne naplaćuje.

Imamo i produktivnije, ali u isto vrijeme, naravno, skuplje servere (prilikom naručivanja ovih konfiguracija, plaćanje za podešavanje se također ne naplaćuje):

  • 2x Intel Xeon 5130, 2GHz, 8GB RAM-a, 4x160GB SATA, 5000 rub/mjesečno;
  • 2x IntelXeon 5504, 2GHz, 12GB RAM-a, 3×1TB SATA, 9000 rub./mjesečno.

Takođe preporučujemo da obratite pažnju na novi budžetski model sa SSD diskom baziranim na Intel Atom C2758 procesoru: Intel Atom C2758 2.4 GHz, 16 GB RAM-a, 2 × 240 GB SSD, 4000 rubalja / mjesec, plaćanje instalacije - 3000 rubalja.

Instaliranje i pokretanje Bukkit servera u Ubuntu OC

Prije instaliranja servera, 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 postavite lozinku pod kojom će se kreirani korisnik povezati na server:

$ sudo passwd <korisničko ime>

Ponovo se povežite sa serverom pod novim nalogom i nastavite sa instalacijom.
Minecraft je napisan na Javi, tako da Java Runtime Environment mora biti instaliran na serveru.

Ažurirajte listu dostupnih paketa:

$ sudo apt-get update

Zatim pokrenite sljedeću naredbu:

$ sudo apt-get install default-jdk

Da biste instalirali i pokrenuli Bukkit, također je poželjno instalirati terminalni multiplekser - na primjer screen (mogu se koristiti i drugi terminalni multipleksori - pogledajte naše обзор):

$ sudo apt-get installscreen

Ekran će nam biti potreban ako se povežemo na server igre preko ssh-a. S njim će biti moguće pokrenuti Minecraft server u zasebnom prozoru terminala, a čak i nakon zatvaranja ssh klijenta, server će raditi.

Kreirajmo direktorij u koji će biti pohranjeni serverski fajlovi:

$ mkdir bukkit $ cd bukkit

Nakon toga, idemo na Bukkit zvanična stranica za preuzimanje. U gornjem desnom dijelu stranice možete vidjeti link do najnovije verzije servera preporučene za korištenje (preporučena verzija). Preporučujemo preuzimanje:

$ wget <link do preporučene verzije>

Sada pokrenimo ekran:

$ sudo ekran

i pokrenite sljedeću naredbu:

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

Hajde da objasnimo šta znače korišćeni parametri:

  • Xmx1024M - maksimalna količina RAM-a po serveru;
  • jar craftbukkit.jar - ključ za server;
  • o false - omogućava pristup serveru od piratskih klijenata.

Server će se pokrenuti.
Možete zaustaviti server upisivanjem naredbe stop u konzolu.

Postavljanje i konfiguracija servera

Postavke servera su pohranjene u konfiguracijskoj datoteci server.properties. Sadrži sljedeće opcije:

  • generator-settings - postavlja predložak za generiranje super ravnog svijeta;
  • dozvoli-nether - određuje mogućnost prelaska u Nether. Po defaultu, ovaj parametar je postavljen na true. Ako je postavljeno na false, tada će svi igrači iz Nethera biti premješteni u normalu;
  • level-name je naziv mape datoteke mape koja će se koristiti tokom igre. Fascikla se nalazi u istom direktoriju kao i serverske datoteke. Ako takav direktorij ne postoji, server automatski kreira novi svijet i stavlja ga u direktorij s istim imenom;
  • enable-query - kada je postavljeno na true, aktivira GameSpy4 protokol za slušanje servera;
  • dopusti let - Dozvoljava letove u svijetu Minecrafta. Zadana vrijednost je lažna (bez letova);
  • server-port - specificira port koji će koristiti server igre. Podrazumevani port za Minecraft je 25565. Ne preporučujemo da menjate ovu postavku;
  • level-type - definiše tip svijeta (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - otvara daljinski pristup konzoli servera. Podrazumevano je onemogućeno (netačno);
  • level-seed - ulaz za generator nivoa. Da biste mogli kreirati nasumične svjetove, ovo polje mora ostati prazno;
  • force-gamemode - postavlja igrače koji se povezuju na server na standardni način igre;
  • server-ip - određuje IP adresu koju će igrači koristiti za povezivanje sa serverom;
  • max-build-height - specificira maksimalnu visinu zgrade na serveru. Njegova vrijednost mora biti višestruka od 16 (64, 96, 256, itd.);
  • spawn-npcs - Dozvoljava (ako je postavljeno na true) ili onemogućuje (ako je postavljeno na false) NPC-ima da se mrijeste u selima.
  • bijela lista - omogućava i onemogućuje korištenje bijele liste igrača na serveru. Ako je postavljeno na true, tada će administrator moći kreirati bijelu listu dodavanjem nadimaka igrača na nju ručno. Ako je vrijednost postavljena na false, tada svaki korisnik koji zna njegovu IP adresu i port može pristupiti serveru;
  • spawn-animals - Dozvoljava prijateljskim mafijašima da se automatski mreste ako je postavljeno na true)
  • snooper-enabled - omogućava serveru da šalje statistiku i podatke programerima;
  • hardcore - uključuje Hardcore mod na serveru;
  • texture-pac je datoteka teksture koja će se koristiti kada se plejer poveže sa serverom. Vrijednost ovog parametra je naziv zip-arhive sa teksturama, koja je pohranjena u istom direktoriju kao i server;
  • online-mode - omogućava provjeru premium naloga korisnika koji se povezuju na server. Ako je ovaj parametar postavljen na true, samo vlasnici premium naloga će moći pristupiti serveru. Ako je provjera računa onemogućena (postavljena na false), tada svi korisnici (uključujući, na primjer, igrače koji su krivotvorili nadimak) mogu pristupiti serveru, što stvara dodatne sigurnosne rizike. Kada je verifikacija onemogućena, možete igrati Minecraft preko lokalne mreže, bez pristupa internetu;
  • pvp - dozvoljava ili zabranjuje igračima da se bore jedni protiv drugih. Ako je ovaj parametar postavljen na true, tada igrači mogu uništiti jedni druge. Ako je postavljeno na false, tada igrači ne mogu nanijeti direktnu štetu jedni drugima;
  • poteškoća - postavlja nivo težine igre. Može uzeti vrijednosti od 0 (najlakše) do 3 (najteže);
  • gamemode - određuje koji način igre će biti postavljen za igrače koji se pridružuju serveru. Može imati sljedeće vrijednosti: 0 - Survival, 1-Creative, 2-Adventure;
  • player-idle-timeout - vrijeme mirovanja (u minutama), nakon kojeg se igrači automatski isključuju sa servera;
  • max-players - maksimalni dozvoljeni broj igrača na serveru (od 0 do 999);
  • spawn-monsters - dozvoljava (ako je postavljeno na true) mrijest neprijateljskih mobova;
  • gene-strukture - omogućava (tačno) / onemogućava (netačno) generisanje struktura (riznice, tvrđave, sela);
  • view-distance - podešava radijus ažuriranih komada za slanje igraču; može imati vrijednosti od 3 do 15.

Dnevnici Minecraft servera se upisuju u server.log datoteku. Pohranjuje se u istom folderu kao i fajlovi servera. Dnevnik stalno raste, zauzima sve više i više prostora na disku. Možete pojednostaviti rad mehanizma evidentiranja koristeći takozvanu rotaciju dnevnika. Za rotaciju se koristi poseban uslužni program - logrotate. Ograničava broj unosa u dnevnik na određeno ograničenje.

Možete podesiti rotaciju dnevnika tako da će svi unosi biti izbrisani čim datoteka evidencije dostigne određenu veličinu. Također možete postaviti period nakon kojeg će se svi stari unosi smatrati nebitnim i brisati.

Glavne postavke rotacije su u datoteci /etc/logrotate.conf; osim toga, mogu se kreirati pojedinačne postavke za svaku aplikaciju. Fajlovi sa pojedinačnim postavkama pohranjeni su u direktoriju /etc/logrotate.d.

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

/home/craftbukkit/server.log { rotiraj 2 sedmične kompresije missingok notifempty }

Razmotrimo njihova značenja detaljnije:

  • parametar rotacije specificira broj rotacija prije brisanja datoteke;
  • sedmično označava da će se rotacija obavljati sedmično (mogu se podesiti i drugi parametri: mjesečno - mjesečno i dnevno - dnevno);
  • compress specificira da se arhivirani dnevniki trebaju komprimirati (opcija je nocompress);
  • missingok specificira da u nedostatku datoteke dnevnika rad treba da se nastavi i da se ne prikazuju poruke o grešci;
  • notifempty specificira da se ne pomiče datoteka dnevnika ako je prazna.

Možete pročitati više o postavkama rotacije dnevnika. ovdje.

Savjeti za optimizaciju

Odmah rezervirajte da će ovaj odjeljak pružiti savjete koji se odnose samo na optimizaciju servera igre. Pitanja finog podešavanja i optimizacije servera na kojem je instaliran Minecraft su posebna tema koja je izvan okvira ovog članka; Zainteresovani čitaoci mogu lako pronaći informacije koje su im potrebne na internetu.

Jedan od najčešćih problema koji se javljaju prilikom igranja Minecrafta su takozvana kašnjenja - situacije kada program ne reagira na vrijeme na unos korisnika. Oni mogu biti uzrokovani problemima i na strani klijenta i na strani servera. U nastavku ćemo dati preporuke koje će pomoći da se smanji vjerovatnoća problema na strani servera.

Redovno pratite potrošnju memorije servera i dodataka

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

Pratite ažuriranja dodataka

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

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 se mogu ukloniti kako ne bi preopteretili server.

Ograničite kartu i preuzmite je sami

Ako ne ograničite kartu, opterećenje servera će se značajno povećati. Možete ograničiti mapu pomoću dodatka WorldBorder. Da biste to učinili, trebate pokrenuti ovaj dodatak i izvršiti naredbu /wb 200, a zatim nacrtati kartu pomoću naredbe /wb fill.

Crtanje će, naravno, potrajati, ali bolje je to učiniti jednom, zatvarajući server za tehnički rad. Ako svaki igrač izvuče kartu, server će raditi sporo.

Zamijenite teške dodatke s bržim i manje resursno intenzivnim

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

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

Dropovi u igrama su predmeti koji ispadaju kada mafija umre ili neki blokovi budu uništeni. Skladištenje i obrada padova zauzimaju mnogo sistemskih resursa.

Da bi server radio brže, preporučljivo je da obrišete drop. To je najbolje učiniti pomoću posebnih dodataka - na primjer, NoLagg ili McClean.

Ne koristite anti-cheats

Na servere igara se često instaliraju takozvani anti-cheats - programi koji blokiraju pokušaje da se utječe na igru ​​na nepošten način.

Postoje i anti-cheats za Minecraft. Svaki anti-cheat je uvijek dodatno opterećenje na serveru. Poželjno je instalirati zaštite za lanser (koje, međutim, ne daju apsolutnu garanciju sigurnosti i lako se lome - ali to je tema za posebnu raspravu) i za klijenta.

Umjesto zaključka

Bilo koje upute i preporuke su mnogo učinkovitije ako su potkrijepljene konkretnim primjerima. Na osnovu gornjih uputa za instalaciju, kreirali smo vlastiti MineCraft server i stavili nešto zanimljivo na mapu.

Evo šta smo dobili:

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

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

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

cool vijest: Počevši od 1. avgusta, naknada za podešavanje namenskih servera fiksne konfiguracije smanjena je za 50%. Sada je jednokratna uplata samo 3000 rubalja.

Čitaoci koji ne mogu ostaviti komentare ovdje su dobrodošli da nam se pridruže na blog.

izvor: www.habr.com

Dodajte komentar