Ustvarjanje in nastavitev strežnika Minecraft

Ustvarjanje in nastavitev strežnika Minecraft

Minecraft je danes ena najbolj priljubljenih spletnih iger. V manj kot treh letih (prva uradna izdaja je bila jeseni 2011) je pridobil na milijone oboževalcev po vsem svetu.

Razvijalci iger se namenoma osredotočajo na najboljše primere izpred dvajsetih let, ko je bilo veliko iger po današnjih merilih grafično primitivnih in uporabno nepopolnih, a so bile hkrati resnično vznemirljive.

Kot vse igre v peskovniku Minecraft uporabniku ponuja ogromno možnosti za ustvarjalnost - to je pravzaprav glavna skrivnost njegove priljubljenosti.

Strežnike za igre za več igralcev organizirajo igralci sami in njihove skupnosti. Danes na internetu deluje več deset tisoč igralnih strežnikov (glejte na primer seznam tukaj).

Med našimi strankami je veliko oboževalcev te igre, ki za igralne projekte najemajo opremo iz naših podatkovnih centrov. V tem članku bomo govorili o tem, na katere tehnične točke morate biti pozorni pri izbiri strežnika
Minecraft.

Izbira platforme

Minecraft vključuje naslednje arhitekturne elemente:

  1. strežnik - program, prek katerega igralci komunicirajo med seboj prek omrežja;
  2. odjemalec - program za povezavo s strežnikom, nameščen na igralčevem računalniku;
  3. plugins - dodatki k strežniku, ki dodajajo nove funkcije ali razširjajo stare;
  4. modifikacije so dodatki k svetu igre (novi bloki, predmeti, funkcije).

Obstaja veliko strežniških platform za Minecraft. Najpogostejši in priljubljeni sta Vanilla in Bukkit.

Vanilla To je uradna platforma razvijalcev iger. Distribuira se v grafični in konzolni različici. Nova različica Vanille vedno izide hkrati z novo različico Minecrafta.

Slaba stran Vanille je prevelika poraba pomnilnika (približno 50 MB na predvajalnik). Druga pomembna pomanjkljivost je pomanjkanje vtičnikov.

bukkit je ustvarila skupina navdušencev, ki so poskušali izboljšati uradni strežnik Minecraft. Poskus se je izkazal za precej uspešnega: Bukkit je po funkcionalnosti veliko širši od Vanille, predvsem zaradi podpore za različne modifikacije in vtičnike. Hkrati porabi manj pomnilnika na igralca - približno 5-10 MB.

Slabosti Bukkita so, da med delovanjem zavzame preveč RAM-a. Poleg tega dlje ko strežnik deluje, več pomnilnika potrebuje (tudi če je malo igralcev). Ko izberete Bukkit kot strežnik, ne pozabite, da njegove nove različice praviloma vsebujejo napake; Stabilna različica se običajno pojavi približno 2-3 tedne po izdaji uradne različice Minecrafta.

Poleg tega so v zadnjem času postale priljubljene tudi druge platforme (na primer Spout, MCPC in MCPC+), vendar imajo omejeno združljivost z Vanilla in Bukkit ter izjemno omejeno podporo za modifikacije (na primer, za Spout lahko modifikacije pišete le iz nič). Če se uporabljajo, potem samo za poskuse.

Za organizacijo igralnega strežnika priporočamo uporabo platforme Bukkit, saj ima največjo prilagodljivost; Poleg tega obstaja veliko različnih načinov in vtičnikov zanj. Stabilno delovanje strežnika Minecraft je v veliki meri odvisno od pravilne izbire strojne platforme. Razmislimo o tem vprašanju podrobneje.

Strojne zahteve

Tako strežnik kot odjemalec Minecraft sta zelo zahtevna glede sistemskih virov.
Pri izbiri strojne platforme morate upoštevati, da večjedrni procesor ne bo prinesel veliko prednosti: jedro strežnika Minecraft lahko uporablja samo eno računsko nit. Drugo jedro pa bi bilo uporabno: nekateri vtičniki se izvajajo v ločenih nitih, poleg tega pa Java porabi veliko virov ...

Zato je za strežnik Minecraft bolje izbrati procesor, ki ima večjo enojedrno zmogljivost. Zmogljivejši dvojedrni procesor bo imel prednost pred večjedrnim procesorjem, ki je manj zmogljiv. Na specializiranih forumih je priporočljivo uporabljati procesorje s taktno frekvenco najmanj 3 GHz.

Za normalno delovanje strežnika Minecraft je potrebna velika količina RAM-a. Bukkit zavzame približno 1 GB RAM-a; poleg tega je za vsakega igralca, kot je navedeno zgoraj, dodeljenih od 5 do 10 MB. Vtičniki in modifikacije prav tako porabijo precej pomnilnika. Za strežnik s 30 - 50 igralci boste torej potrebovali vsaj 4 GB RAM-a.

V Minecraftu je veliko (na primer nalaganje istih vtičnikov) odvisno od hitrosti datotečnega sistema. Zato je bolje izbrati strežnik s SSD diskom. Vretenasti diski verjetno ne bodo primerni zaradi nizke hitrosti naključnega branja.

Zelo pomembna je tudi hitrost vaše internetne povezave. Za igro 40-50 ljudi je dovolj kanal 10 Mb/s. Za tiste, ki načrtujete večji minecraft projekt, vključno s spletno stranjo, forumom in dinamičnim zemljevidom, pa je zelo zaželeno imeti kanal z večjo pasovno širino.

Katero specifično konfiguracijo je najbolje izbrati? Od konfiguracije, ki jih ponujamo Priporočamo, da ste pozorni na naslednje:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 RUR/mesec;
  • Intel Core 2 Quad Q8300 2.5 GHz, 6 GB RAM, 2x500 GB SATA, 3500 rubljev / mesec. — to konfiguracijo uporabljamo za naš testni strežnik MineCraft, na katerem lahko igrate prav zdaj (kako to storiti je napisano spodaj);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 RUR/mesec.

Te konfiguracije so povsem primerne za ustvarjanje strežnika Minecraft za 30-40 igralcev. Nekaj ​​slabosti je pomanjkanje SSD diskov, vendar dajemo še eno pomembno prednost: zagotovljen kanal 100 Mb/s brez kakršnih koli omejitev in razmerij. Pri naročilu vseh zgoraj navedenih konfiguracij ni pristojbine za namestitev.

Imamo tudi bolj produktivne, a hkrati seveda dražje strežnike (pri naročilu teh konfiguracij tudi namestitev ni zaračunana):

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

Priporočamo tudi, da bodite pozorni na nov proračunski model s pogonom SSD, ki temelji na procesorju Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2x240 GB SSD, 4000 rubljev / mesec, plačilo za namestitev - 3000 rubljev.

Namestitev in zagon strežnika Bukkit na OC Ubuntu

Pred namestitvijo strežnika ustvarimo novega uporabnika in ga dodamo v skupino sudo:

$ sudo useradd -m -s /bin/bash <uporabniško ime> $ sudo adduser <uporabniško ime> sudo

Nato bomo nastavili geslo, pod katerim se bo ustvarjeni uporabnik povezal s strežnikom:

$ sudo passwd <uporabniško ime>

Ponovno se povežimo s strežnikom pod novim računom in začnimo namestitev.
Minecraft je napisan v Javi, zato mora biti Java Runtime Environment nameščen na strežniku.

Posodobimo seznam razpoložljivih paketov:

$ sudo apt-get posodobitev

Nato zaženite naslednji ukaz:

$ sudo apt-get install default-jdk

Za namestitev in zagon Bukkita je priporočljivo namestiti tudi terminalski multiplekser - na primer zaslon (uporabite lahko tudi druge terminalske multiplekserje - glejte naše pregled):

$ sudo apt-get namestitveni zaslon

Zaslon bo potreben, če se na strežnik igre povežemo prek ssh. Z njegovo pomočjo lahko zaženete strežnik Minecraft v ločenem oknu terminala in tudi po zaprtju odjemalca ssh bo strežnik deloval.

Ustvarimo imenik, v katerem bodo shranjene datoteke strežnika:

$ mkdir bukkit $ cd bukkit

Po tem pojdimo na Stran za prenos z uradne spletne strani Bukkit. V zgornjem desnem delu strani lahko vidite povezavo do zadnje priporočene gradnje strežnika. Priporočamo prenos:

$ wget <povezava do priporočene različice>

Zdaj pa zaženimo zaslon:

zaslon $sudo

in zaženite naslednji ukaz:

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

Naj pojasnimo, kaj pomenijo uporabljeni parametri:

  • Xmx1024M - največja količina RAM-a na strežnik;
  • jar craftbukkit.jar - ključ do strežnika;
  • o false - dovoljuje dostop do strežnika piratskim odjemalcem.

Strežnik se bo zagnal.
Strežnik lahko ustavite tako, da v konzolo vnesete ukaz stop.

Postavitev in konfiguracija strežnika

Nastavitve strežnika so shranjene v konfiguracijski datoteki server.properties. Vsebuje naslednje parametre:

  • generator-settings — nastavi predlogo za generiranje superploskega sveta;
  • allow-nether - določa možnost selitve v spodnji svet. Privzeto je ta nastavitev nastavljena na true. Če je nastavljeno na false, bodo vsi igralci iz Netherja premaknjeni na običajnega;
  • level-name - ime mape z datotekami zemljevidov, ki bodo uporabljene med igro. Mapa se nahaja v istem imeniku, kjer se nahajajo datoteke strežnika. Če takega imenika ni, strežnik samodejno ustvari nov svet in ga postavi v imenik z istim imenom;
  • enable-query - ko je nastavljeno na true, aktivira protokol GameSpy4 za poslušanje strežnika;
  • allow-flight - omogoča letenje po svetu Minecrafta. Privzeta vrednost je false (leti so prepovedani);
  • server-port - označuje vrata, ki jih bo uporabljal strežnik igre. Standardna vrata za Minecraft so 25565. Ni priporočljivo spreminjati vrednosti tega parametra;
  • level-type - določa vrsto sveta (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - omogoča oddaljeni dostop do strežniške konzole. Privzeto je onemogočeno (false);
  • level-seed - vhodni podatki za generator ravni. Če želite ustvariti naključne svetove, morate to polje pustiti prazno;
  • force-gamemode - nastavi standardni način igre za igralce, ki se povezujejo s strežnikom;
  • server-ip - označuje naslov IP, ki ga bodo igralci uporabljali za povezavo s strežnikom;
  • max-build-height - označuje največjo višino zgradbe na strežniku. Njegova vrednost mora biti večkratnik 16 (64, 96, 256 itd.);
  • spawn-npcs - dovoljuje (če je nastavljeno na true) ali prepoveduje (če je nastavljeno na false) pojav NPC-jev v vaseh;
  • beli seznam - omogoči ali onemogoči uporabo belega seznama igralcev na strežniku. Če je nastavljeno na true, bo skrbnik lahko ustvaril beli seznam tako, da mu bo ročno dodal vzdevke igralcev. Če je vrednost false, lahko vsak uporabnik, ki pozna njegov naslov IP in vrata, dostopa do strežnika;
  • spawn-animals - omogoča samodejno drstenje prijaznih mobov, če je nastavljeno na true);
  • omogočeno vohljanje - strežniku omogoča pošiljanje statističnih podatkov in podatkov razvijalcem;
  • hardcore - omogoči način Hardcore na strežniku;
  • texture-pac - teksturna datoteka, ki bo uporabljena, ko se igralec poveže s strežnikom. Vrednost tega parametra je ime zip arhiva s teksturami, ki je shranjen v istem imeniku kot strežnik;
  • online-mode - omogoča preverjanje premium računov uporabnikov, ki se povezujejo na strežnik. Če je ta parameter nastavljen na true, bodo do strežnika lahko dostopali samo imetniki premium računov. Če je preverjanje računa onemogočeno (nastavljeno na false), lahko kateri koli uporabnik dostopa do strežnika (vključno z na primer igralci, ki so ponaredili svoj vzdevek), kar ustvarja dodatna varnostna tveganja. Ko je preverjanje onemogočeno, lahko igrate Minecraft prek lokalnega omrežja, brez dostopa do interneta;
  • pvp - dovoljuje ali prepoveduje igralcem, da se borijo med seboj. Če je ta parameter resničen, se lahko igralci uničijo drug drugega. Če je nastavljeno na false, igralci drug drugemu ne morejo povzročati neposredne škode;
  • težavnost - nastavi težavnostno stopnjo igre. Lahko sprejme vrednosti od 0 (najlažje) do 3 (najtežje);
  • gamemode - označuje, kateri igralni način bo nastavljen za igralce, ki vstopajo na strežnik. Lahko ima naslednje vrednosti: 0 - preživetje, 1-ustvarjalnost, 2-pustolovščina;
  • player-idle-timeout — čas nedejavnosti (v minutah), po katerem se igralci samodejno prekinejo povezavo s strežnikom;
  • max-players — največje dovoljeno število igralcev na strežniku (od 0 do 999);
  • spawn-monsters - dovoljuje (če je nastavljeno na true) drstenje sovražnih mafij;
  • generiraj strukture — omogoči (true)/onemogoči (false) generiranje struktur (zakladnice, trdnjave, vasi);
  • view-distance - prilagodi radij posodobljenih kosov, ki se pošljejo igralcu; lahko sprejme vrednosti od 3 do 15.

Dnevniki strežnika Minecraft se zapišejo v datoteko server.log. Shranjen je v isti mapi kot datoteke strežnika. Dnevnik nenehno raste in zavzema vedno več prostora na disku. Delo mehanizma beleženja lahko poenostavite s tako imenovano rotacijo dnevnika. Za vrtenje se uporablja poseben pripomoček - logrotate. Omejuje število vnosov v dnevnik na določeno mejo.

Rotacijo dnevnika lahko konfigurirate tako, da se vsi vnosi izbrišejo takoj, ko dnevniška datoteka doseže določeno velikost. Nastavite lahko tudi obdobje, po katerem bodo vsi stari vnosi nepomembni in izbrisani.

Osnovne nastavitve vrtenja se nahajajo v datoteki /etc/logrotate.conf; Poleg tega lahko ustvarite individualne nastavitve za vsako aplikacijo. Datoteke s posameznimi nastavitvami so shranjene v imeniku /etc/logrotate.d.

Ustvarimo besedilno datoteko /etc/logrotate.d/craftbukkit in vanjo vnesemo naslednje parametre:

/home/craftbukkit/server.log { rotiraj 2 tedensko stisni missingok notifempty }

Oglejmo si njihove pomene podrobneje:

  • parameter rotate določa število rotacij pred brisanjem datoteke;
  • tedensko pomeni, da se bo rotacija izvajala tedensko (nastavite lahko tudi druge parametre: mesečno - mesečno in dnevno - dnevno);
  • compress določa, da morajo biti arhivirani dnevniki stisnjeni (obratna možnost je nocompress);
  • missingok pomeni, da bi morali nadaljevati z delom in ne prikazovati sporočil o napakah, če ni dnevniške datoteke;
  • notifempty določa, da se dnevniška datoteka ne premakne, če je prazna.

Preberete lahko več o nastavitvah kroženja dnevnika tukaj.

Nasveti za optimizacijo

Naj takoj rezerviramo, da bo ta razdelek vseboval nasvete, povezane samo z optimizacijo igralnega strežnika. Vprašanja natančne nastavitve in optimizacije strežnika, na katerem je nameščen Minecraft, so ločena tema, ki presega obseg tega članka; zainteresirani bralci zlahka najdejo informacije, ki jih potrebujejo, na internetu.

Ena najpogostejših težav, ki se pojavijo pri igranju Minecrafta, so tako imenovani zamiki - situacije, ko se program ne odzove pravočasno na vnos uporabnika. Lahko jih povzročijo težave tako na strani odjemalca kot na strani strežnika. Spodaj bomo podali priporočila, ki bodo pomagala zmanjšati verjetnost težav na strani strežnika.

Redno spremljajte porabo pomnilnika strežnika in vtičnikov

Porabo pomnilnika je mogoče spremljati s posebnimi skrbniškimi vtičniki - npr. LagMeter.

Spremljajte posodobitve vtičnikov

Praviloma si razvijalci novih vtičnikov prizadevajo zmanjšati obremenitev z vsako novo različico.

Ne uporabljajte veliko vtičnikov s podobno funkcionalnostjo

Veliki vtičniki (npr. Essentials, AdminCMD, CommandBook) zelo pogosto vključujejo funkcionalnost številnih manjših vtičnikov. Na primer, isti Essential vsebuje funkcije vtičnikov iConomy, uHome, OpenInv, VanishNoPacket, Kit. Majhne vtičnike, katerih funkcionalnost je v celoti pokrita s funkcionalnostjo enega velikega, je v večini primerov mogoče odstraniti, da ne preobremenite strežnika.

Omejite zemljevid in ga naložite sami

Če zemljevida ne omejite, se bo obremenitev strežnika znatno povečala. Zemljevid lahko omejite z vtičnikom Svetovna meja. Če želite to narediti, morate zagnati ta vtičnik in ukaz /wb 200 ter nato narisati zemljevid z ukazom /wb fill.

Risanje bo seveda vzelo veliko časa, vendar je bolje, da to storite enkrat in zaprete strežnik za tehnično delo. Če vsak igralec nariše zemljevid, bo strežnik deloval počasi.

Zamenjajte težke vtičnike s hitrejšimi in manj intenzivnimi

Vseh vtičnikov za Minecraft ni mogoče imenovati uspešnih: pogosto vsebujejo veliko nepotrebnih in nepotrebnih funkcij, včasih pa porabijo tudi veliko pomnilnika. Neuspešne vtičnike je bolje zamenjati z alternativnimi (teh je precej). Na primer, vtičnik LWC lahko zamenjate z Wgfix+MachineGuard, vtičnik DynMap pa z Minecraft Overviewerjem.

Vedno počistite padec ali namestite vtičnik, da samodejno odstranite padec

Padci v igrah so predmeti, ki padejo ven, ko mafija umre ali je nekaj blokov uničenih. Shranjevanje in obdelava padcev zahteva veliko sistemskih virov.

Za hitrejše delovanje strežnika je priporočljivo izbrisati drop. To je najbolje narediti s posebnimi vtičniki - na primer NoLagg ali McClean.

Ne uporabljajte protigoljufij

Na strežnikih iger so pogosto nameščeni tako imenovani anti-goljufi - programi, ki blokirajo poskuse vplivanja na igro na nepoštene načine.

Obstajajo tudi anti-goljufije za Minecraft. Vsak anti-cheat je vedno dodatna obremenitev za strežnik. Bolje je namestiti zaščito za zaganjalnik (ki pa ne zagotavlja absolutne varnosti in se zlahka zlomi - vendar je to tema za ločeno razpravo) in za stranko.

Namesto zaključka

Vsa navodila in priporočila se izkažejo za veliko bolj učinkovita, če so podprta s konkretnimi primeri. Na podlagi zgornjih navodil za namestitev smo ustvarili lasten strežnik Minecraft in na zemljevid postavili nekaj zanimivih stvari.

Evo, kaj imamo:

  • Bukkit strežnik - stabilna priporočena različica 1.6.4;
  • Statistični vtičnik - za zbiranje statističnih podatkov o igralcih;
  • Vtičnik WorldBorder - za risanje in omejevanje zemljevida;
  • Vtičnik WorldGuard (+WorldEdit kot odvisnost) – za zaščito nekaterih področij.

Vabimo vse, da igrajo na njem: da se povežejo, dodajo nov strežnik in vnesejo naslov mncrft.slc.tl.

Veseli bomo, če boste v komentarjih delili svoje izkušnje z namestitvijo, konfiguracijo in optimizacijo strežnikov MineCraft ter nam povedali, kateri modi in vtičniki vas zanimajo in zakaj.

Kul novice: Od 1. avgusta je bila namestitvena pristojbina za namenske strežnike s fiksno konfiguracijo znižana za 50 %. Zdaj je enkratno plačilo za nastavitev le 3000 rubljev.

Bralce, ki tukaj ne morejo pustiti komentarjev, vabimo, da nas obiščejo na blog.

Vir: www.habr.com

Dodaj komentar