Minecraft servera izveide un iestatīŔana

Minecraft servera izveide un iestatīŔana

Å odien Minecraft pieder pie vispopulārākajām tieÅ”saistes spēlēm. Nepilnu trÄ«s gadu laikā (pirmais oficiālais izlaidums notika 2011. gada rudenÄ«) tam ir pievienojuÅ”ies miljoni cienÄ«tāju visā pasaulē.

Spēles izstrādātāji apzināti orientējas uz labākajiem divdesmit gadus vecajiem paraugiem, kad daudzas spēles Å”odienas standartiem Ŕķita primitÄ«vas grafikas un lietojamÄ«bas ziņā, taču tajā paŔā laikā – patiesi aizraujoÅ”as.

Kā visām smilÅ”u kastes spēlēm, Minecraft piedāvā lietotājiem milzÄ«gas radoÅ”uma iespējas – tieÅ”i tas ir galvenais tās popularitātes noslēpums.

Organizācija serveriem spēlei vairāku spēlētāju režīmā nodarbojas paÅ”i spēlētāji un viņu kopienas. Å odien internetā darbojas desmitiem tÅ«kstoÅ”u spēļu serveru (skatiet, piemēram, sarakstu Å”eit).

Nav maz cienÄ«tāju Å”ai spēlei arÄ« starp mÅ«su klientiem, kuri Ä«rē mÅ«su datu centros aprÄ«kojumu spēļu projektiem. Å ajā rakstā mēs pastāstÄ«sim par tehniskajiem aspektiem, uz kuriem jāpievērÅ” uzmanÄ«ba, izvēloties serveri
Minecraft.

Izvēlamies platformu

Minecraft spēlē ietilpst Ŕādi arhitektÅ«ras elementi:

  1. serveris – programma, ar kuras palÄ«dzÄ«bu spēlētāji mijiedarbojas savā starpā tÄ«klā;
  2. klients – programma, lai pieslēgtos serverim, kas tiek instalēta spēlētāja datorā;
  3. paplaÅ”inājumi – papildinājumi serverim, kas pievieno jaunas funkcijas vai paplaÅ”ina esoŔās;
  4. modes – papildinājumi spēļu pasaulei (jauni bloki, priekÅ”meti, iespējas).

Minecraft ir daudz serveru platformu. Visizplatītākās un populārākās ir Vanilla un Bukkit.

Mojang Studios izplata spēles servera daļu kā bezmaksas Java lietotni tā ir oficiālā platforma no spēles izstrādātājiem. Tā iznāk gan grafiskā, gan konsoles variantā. Jauna Vanilla versija vienmēr tiek izdota vienlaikus ar jaunāko Minecraft versiju.

Vanilla trÅ«kums ir pārmērÄ«ga atmiņas patēriņŔ (apmēram 50 MB uz vienu spēlētāju). Vēl viens bÅ«tisks trÅ«kums ir paplaÅ”inājumu trÅ«kums.

Bukkit tika tika izveidojusi entuziastu grupa, kas mēģināja uzlabot oficiālo Minecraft serveri. Mēģinājums izrādÄ«jās pavisam veiksmÄ«gs: pēc funkcionalitātes Bukkit ir daudz plaŔāks nekā Vanilla — pirmkārt, pateicoties atbalstam dažādiem modi un spraudņiem. Tajā paŔā laikā tas patērē mazāk atmiņas uz katru spēlētāju — apmēram 5–10 MB.

Bukkit trÅ«kumi ir tādi, ka, uzsākot darbu, tas aizņem pārāk daudz operatÄ«vās atmiņas. Turklāt jo ilgāk servers strādā, jo vairāk tam nepiecieÅ”ams atmiņas (pat ja spēlētāju ir maz). Izvēloties Bukkit kā serveri, jāņem vērā, ka tā jaunās versijas parasti satur kļūdas; stabilā versija parasti parādās apmēram 2-3 nedēļas pēc oficiālās Minecraft versijas iznākÅ”anas.

Turklāt pēdējā laikā popularitāti iegÅ«st arÄ« citas platformas (piemēram, Spout, MCPC un MCPC+), taču tās atŔķiras ar ierobežotu saderÄ«bu ar Vanilla un Bukkit un ļoti ierobežotu mod atbalstu (piemēram, Spout vispār ir iespējams rakstÄ«t modus tikai no nulles). Ja tās lieto, tad tikai eksperimentos.

Lai izveidotu spēļu serveri, iesakām izmantot Bukkit platformu, jo tā ir vismazākā elastÄ«ba; turklāt, tai ir pieejami daudzi dažādi modi un spraudņi. Stabils Minecraft servera darbs lielā mērā ir atkarÄ«gs no pareizā aparatÅ«ras platformas izvēles. ApskatÄ«sim Å”o jautājumu detalizētāk.

Aparatūras prasības

Gan Minecraft serveris, gan klients ir ļoti prasīgi pret sistēmas resursiem.
Izvēloties aparatÅ«ras platformu, jāņem vērā, ka daudzkodolu procesors nesniegs lielas priekÅ”rocÄ«bas: Minecraft servera kods var izmantot tikai vienu aprēķina pavedienu. Otrs kodols gan nebÅ«s lieks: daži spraudņi tiek izpildÄ«ti atseviŔķos pavedienos, un Java arÄ« patērē diezgan daudz resursu...

Tādēļ Minecraft-serveris labāk izvēlēties procesoru, kuram ir augstāka viena kodola veiktspēja. Jaudīgāks divkodolu procesors būs izdevīgāks nekā daudzkodolu, bet mazāk jaudīgs. Specializētajos forumos ieteicams izmantot procesorus ar takts frekvenci ne mazāk kā 3 GHz.

Lai Minecraft serveris normāli darbotos, ir nepiecieÅ”ama liela operatÄ«vās atmiņas jauda. Bukkit patērē apmēram 1GB operatÄ«vās atmiņas; turklāt katram spēlētājam, kā jau minēts iepriekÅ”, tiek atvēlēti no 5 lÄ«dz 10 MB. Spraudņi un modi arÄ« patērē diezgan daudz atmiņas. Tādējādi serverim ar 30 - 50 spēlētājiem bÅ«s nepiecieÅ”ami vismaz 4GB operatÄ«vās atmiņas.

Minecraft ļoti daudz kas (piemēram, to paÅ”u spraudņu ielāde) ir atkarÄ«gs no failu sistēmas ātruma. Tāpēc ir vēlams izvēlēties serveri ar SSD disku. Cietvielu diski diez vai derēs zema nejauŔā lasÄ«juma ātruma dēļ.

Liela nozÄ«me ir arÄ« interneta pieslēguma ātrumam. 40-50 cilvēku spēlē pilnÄ«gi pietiek ar 10 Mb/s kanālu. Tomēr tiem, kas plāno plaŔāku Minecraft projektu, kas ietver vietni, forumu un dinamisku karti, ļoti vēlams ir kanāls ar lielāku caurlaidspēju.

Kādus konkrētus konfigurācijas labāk izvēlēties? NoĀ mÅ«su piedāvātajām konfigurācijām iesakām pievērst uzmanÄ«bu nākamajiem:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2Ɨ500GB SATA, 3000 rub/mēn.;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2Ɨ500GB SATA, 3500 rub/mēn. — Å”o konfigurāciju mēs izmantojam mÅ«su testēŔanas Minecraft serverÄ«, kurā jÅ«s Å”obrÄ«d varat spēlēt (kā to izdarÄ«t - tas ir rakstÄ«ts zemāk);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2Ɨ500GB SATA, 3500 rub/mēn.

Å Ä«s konfigurācijas ir pilnÄ«gi piemērotas Minecraft servera izveidei ar 30-40 spēlētājiem. Dažas trÅ«kums ir SSD disku trÅ«kums, bet mēs piedāvājam citu, ne mazāk svarÄ«gu priekÅ”rocÄ«bu: garantētu 100 Mb/s kanālu bez jebkādām ierobežojumiem. PasÅ«tot visas augstākminētās konfigurācijas, instalācijas maksa netiek iekasēta.

Mums ir arÄ« jaudÄ«gāki, bet tādējādi arÄ« dārgāki serveri (pasÅ«tot Ŕīs konfigurācijas, instalācijas maksa arÄ« netiek iekasēta):

  • 2x Intel Xeon 5130, 2GHz, 8GB RAM, 4Ɨ160GB SATA, 5000 rub/mēn;
  • 2x Intel Xeon 5504, 2GHz, 12GB RAM, 3Ɨ1TB SATA, 9000 rub/mēn.

Iesakām pievērst uzmanÄ«bu arÄ« jaunajai budžeta modelim ar SSD disku, pamatojoties uz Intel Atom C2758 procesoru: Intel Atom C2758 2.4GHz, 16GB RAM, 2Ɨ240GB SSD, 4000 rub/mēn., instalācijas maksa - 3000 rub.

Bukkit servera instalācija un palaiŔana OC Ubuntu

Pirms servera uzstādīŔanas izveidosim jaunu lietotāju un pievienosim to sudo grupai:

$ sudo useradd -m -s /bin/bash 
$ sudo adduser  sudo

Tālāk noteiksim paroli, ar kuru jaunizveidotais lietotājs pieslēgsies serverim:

$ sudo passwd

Pārsliedzos uz serveri ar jauno kontu un uzsāksim uzstādīŔanu.
Minecraft ir izstrādāts Java valodā, tāpēc serverī ir obligāti jāuzstāda Java Runtime Environment.

Atjaunināsim pieejamo pakotņu sarakstu:

$ sudo apt-get update

Pēc tam izpildÄ«sim sekojoÅ”o komandu:

$ sudo apt-get install default-jdk

Lai uzstādÄ«tu un palaistu Bukkit, vēlams arÄ« uzstādÄ«t termināla multiplexoru — piemēram, screen (var izmantot arÄ« citus termināla multiplexorus — skat. mÅ«su pārskatu):

$ sudo apt-get install screen

Screen bÅ«s nepiecieÅ”ams, ja mēs pieslēgsimies spēļu serverim caur ssh. Ar tā palÄ«dzÄ«bu varēsim palaist Minecraft serveri atseviŔķā termināļa logā, un pat pēc ssh klienta aizvērÅ”anas serveris turpinās darboties.

Izveidosim direktoriju, kurā tiks glabāti servera faili:

$ mkdir bukkit
$ cd bukkit

Pēc tam ieiesimĀ oficiālās Bukkit mājaslapas lejupielādes lapā. Lapā augŔējā labajā stÅ«rÄ« var redzēt saiti uz pēdējo ieteikto servera versiju (recommended build). Ieteicams lejupielādēt tieÅ”i to:

$ wget

Tagad palaidīsim screen:

$ sudo screen

un izpildīsim sekojoŔo komandu:

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

Paskaidrosim, ko nozīmē izmantotie parametri:

  • Xmx1024M — maksimālais operatÄ«vās atmiņas daudzums serverÄ«;
  • jar craftbukkit.jar — atslēga uz serveri;
  • o false — ļauj piekļuvi serverim no pirātiskajiem klientiem.

Serveris tiks palaists.
Apturēt serveri var, ierakstot konsolē komandu stop.

Servera iestatīŔana un konfigurācija

Servera iestatījumi tiek glabāti konfigurācijas failā server.properties. Tajā ir Ŕādi parametri:

  • generator-settings — nosaka superplakano pasaules Ä£enerēŔanas veidni;
  • allow-nether — nosaka iespēju pāriet uz ApakÅ”pasauli. Pēc noklusējuma Ŕī parametra vērtÄ«ba ir true. Ja iestatÄ«ta vērtÄ«ba false, visi spēlētāji no ApakÅ”pasaules tiks pārvietoti uz ierasto pasauli;
  • level-name — map file folder name that will be used during the game. The folder is located in the same directory where the server files are. If such a directory does not exist, the server automatically creates a new world and places it in a directory with the same name;
  • enable-query — when set to true, activates the GameSpy4 protocol for server listening;
  • allow-flight — permits flying in the Minecraft world. By default, it is set to false (flying is not allowed);
  • server-port — specifies the port that will be used by the game server. The default port for Minecraft is 25565. It is not recommended to change this value;
  • level-type — defines the world type (DEFAULT/FLAT/LARGEBIOMES);
  • enable-rcon — opens remote access to the server console. By default, it is disabled (false);
  • level-seed — input for the level generator. To be able to create random worlds, this field should be left empty;
  • force-gamemode — sets the default game mode for players connecting to the server;
  • server-ip — specifies the IP address that will be used by players to connect to the server;
  • max-build-height — specifies the maximum build height on the server. Its value must be a number that is a multiple of 16 (64, 96, 256, etc.);
  • spawn-npcs — allows (if set to true) or disallows (if set to false) the spawning of NPCs in villages;
  • white-list — enables and disables the use of a player whitelist on the server. If set to true, the administrator can create a whitelist by manually adding player usernames. If set to false, any user who knows the server's IP address and port can join;
  • spawn-animals — allows the automatic spawning of friendly mobs if set to true;
  • snooper-enabled — allows the server to send statistics and data to developers;
  • hardcore — enables Hardcore mode on the server;
  • texture-pack — texture file that will be used when a player connects to the server. The value of this parameter specifies the name of the zip archive with textures, which is stored in the same directory as the server;
  • online-mode — aktivizē premium kontu lietotāju pārbaudi, kas pieslēdzas serverim. Ja Å”im parametram ir iestatÄ«ta true vērtÄ«ba, serverÄ« varēs ienākt tikai premium kontu Ä«paÅ”nieki. Ja kontu pārbaude tiek atslēgta (iestatÄ«ta false vērtÄ«ba), serverÄ« var ienākt jebkuri lietotāji (piemēram, arÄ« spēlētāji, kuri ir viltoti), kas rada papildu droŔības riskus. Izslēgtā pārbaudē var spēlēt Minecraft lokālajā tÄ«klā, bez piekļuves internetam;
  • pvp — atļauj vai aizliedz spēlētājiem karot cits ar citu. Ja Å”im parametram ir iestatÄ«ta true vērtÄ«ba, spēlētāji var iznÄ«cināt viens otru. Ja ir iestatÄ«ta false vērtÄ«ba, spēlētāji nevar nodarÄ«t viens otram tieÅ”us bojājumus;
  • difficulty — nosaka spēles grÅ«tÄ«bas lÄ«meni. Var iestatÄ«t vērtÄ«bas no 0 (viegākais) lÄ«dz 3 (grÅ«tākais);
  • gamemode — norāda, kāds spēles režīms tiks iestatÄ«ts ienākoÅ”ajiem spēlētājiem serverÄ«. Var iestatÄ«t sekojoÅ”as vērtÄ«bas: 0 — Survival, 1 — Creative, 2 — Adventure;
  • player-idle-timeout — bezdarbÄ«bas laiks (minÅ«tēs), pēc kura spēlētāji automātiski atslēdzas no servera;
  • max-players — maksimāli pieļaujamais spēlētāju skaits serverÄ« (no 0 lÄ«dz 999);
  • spawn-monsters — atļauj (ja iestatÄ«ta true vērtÄ«ba) naidÄ«gu mobu parādīŔanos;
  • generate-structures — aktivizē (true)/deaktivizē (false) struktÅ«ru Ä£enerēŔanu (dārgumu krātuves, cietokŔņi, ciemati);
  • view-distance — regulē atjaunināto chunku rādiusu spēlētājam; var iestatÄ«t vērtÄ«bas no 3 lÄ«dz 15.

Minecraft servera žurnāli tiek reÄ£istrēti failā server.log. Tas tiek glabāts tajā paŔā mapē kā servera faili. Žurnāls pastāvÄ«gi pieaug, aizņemot arvien vairāk diska vietas. Žurnālu mehānisma darboÅ”anos var sakārtot ar tā sauktās žurnālu rotācijas palÄ«dzÄ«bu. Rotācijai tiek izmantota Ä«paÅ”a utilÄ«te - logrotate. Tā ierobežo ierakstu skaitu žurnālā ar noteiktu robežu.

Var iestatÄ«t žurnālu rotāciju tā, lai visi ieraksti tiktu izdzēsti, kad žurnāla fails sasniedz noteiktu izmēru. Var arÄ« noteikt laiku, pēc kura visi vecie ieraksti tiks uzskatÄ«ti par novecojuÅ”iem un izdzēsti.

Galvenās rotācijas iestatījumi atrodas failā /etc/logrotate.conf; turklāt katram lietojumam var izveidot individuālus iestatījumus. Faili ar individuālajiem iestatījumiem tiek glabāti direktorijā /etc/logrotate.d.

Izveidosim teksta failu /etc/logrotate.d/craftbukkit un pierakstīsim tajā Ŕādus parametrus:

/home/craftbukkit/server.log {
  rotate 2
  weekly
  compress
  missingok
  notifempty
}

Paskatīsimies to vērtības sīkāk:

  • parametrs rotate norāda rotāciju skaitu lÄ«dz faila dzēŔanai;
  • weekly norāda, ka rotācija notiks iknedēļas (varat iestatÄ«t arÄ« citus parametrus: monthly — ikmēneÅ”a un daily — katru dienu);
  • compress norāda, ka arhivētie žurnāli jāiespiež (pretējā iespēja ir nocompress);
  • missingok norāda, ka, ja žurnāla fails trÅ«kst, jāturpina darbs un nedrÄ«kst izvadÄ«t kļūdas ziņojumus;
  • notifempty norāda, ka žurnāla fails nedrÄ«kst tikt pārvietots, ja tas ir tukÅ”s.

PlaŔāk par žurnālu rotācijas iestatījumiem var lasīt Ŕeit.

Ieteikumi optimizācijai

Uzreiz sakām, ka Å”ajā sadaļā tiks sniegti ieteikumi, kas attiecas tikai uz spēļu servera optimizāciju. Jautājumi par smalku iestatīŔanu un optimizāciju serverÄ«, kurā instalēts Minecraft, ir atseviŔķa tēma, kas pārsniedz Ŕī raksta robežas; ieinteresētie lasÄ«tāji bez grÅ«tÄ«bām varēs atrast nepiecieÅ”amo informāciju internetā.

Viena no visizplatÄ«tākajām problēmām, spēlējot Minecraft, ir tā saucamās lagas — situācijas, kad programma nenodroÅ”ina savlaicÄ«gu reakciju uz lietotāju ievadi. Tās var izraisÄ«t problēmas gan klienta, gan servera pusē. Zemāk sniegsim ieteikumus, kas palÄ«dzēs samazināt problēmu raÅ”anās varbÅ«tÄ«bu servera pusē.

Regulāri kontrolējiet servera un pluginu atmiņas patēriņu

Atmiņas patēriņu var izsekot, izmantojot specializētus administratÄ«vos pluginus — piemēram, LagMeter.

Sekojiet līdzi pluginu atjauninājumiem

Parasti jauno pluginu izstrādātāji ar katru jauno versiju cenŔas samazināt slodzi.

Centieties neizmanto daudzas pluginus ar līdzīgu funkcionalitāti

Lieli spraudņi (piemēram, Essentials, AdminCMD, CommandBook) bieži vien iekļauj sevī daudzu mazo spraudņu funkcionalitāti. Piemēram, tas pats Essentials satur iConomy, uHome, OpenInv, VanishNoPacket, Kit spraudņu funkcijas. Mazo spraudņu funkcionalitāti, kuru pilnībā nosegt var viens liels, lielākoties var izdzēst, lai nepārslogotu serveri.

Ierobežojiet karti un ielādējiet to patstāvīgi.

Ja karti neierobežos, tad servera slodze bÅ«tiski palielināsies. Kartes ierobežoÅ”anu var veikt, izmantojot spraudni. WorldBorder. Lai to izdarÄ«tu, jāpalaiž Å”is spraudnis un jāizpilda komanda /wb 200, pēc tam jāpabeidz karte, izmantojot komandu /wb fill.

Kartes pabeigÅ”ana, protams, prasÄ«s diezgan daudz laika, bet labāk to izdarÄ«t reizi, slēdzot serveri tehniskajiem darbiem. Ja katrs spēlētājs pabeidz karti — serveris darbosies lēni.

Aizvietojiet smagos spraudņus ar ātrākiem un mazāk resursu prasīgiem.

Ne visi spraudņi Minecraft tiek uzskatÄ«ti par veiksmÄ«giem: bieži tie satur daudz liekas un nevajadzÄ«gas funkcionalitātes, un dažreiz arÄ« patērē daudz atmiņas. NeveiksmÄ«gus spraudņus labāk aizstāt ar alternatÄ«vām (to ir diezgan daudz). Piemēram, spraudni LWC var aizstāt ar Wgfix+MachineGuard, bet spraudni DynMap — ar Minecraft Overviewer.

Vienmēr notÄ«riet dropu vai uzstādiet spraudni automātiskai dublēŔanas dzēŔanai.

Dropi spēlēs ir priekÅ”meti, kas krÄ«t, kad nomirst mobs vai tiek iznÄ«cināti daži bloki. Dropu glabāŔana un apstrāde patērē ļoti daudz sistēmas resursu.

Lai servers darbotos ātrāk, vēlams dzēst dropu. To labāk veikt, izmantojot Ä«paÅ”us spraudņus — piemēram, NoLagg vai McClean.

Nelietojiet antihack programmas.

Uz spēļu serveriem bieži tiek uzstādÄ«tas tā sauktās antihack programmas — programmas, kas bloķē mēģinājumus ietekmēt spēli negodÄ«gos veidos.

Pastāv antihack programmas arÄ« Minecraft. Jebkura antihack programma vienmēr ir papildu slodze uz serveri. Ir labāk uzstādÄ«t aizsardzÄ«bas meklētājam (kas, tomēr, nesniedz absolÅ«tu droŔību un ir viegli pārvarama — bet tas ir cits stāsts) un klientam.

Noslēgumā

Jebkuras instrukcijas un ieteikumus ir daudz efektÄ«vāk uztverams, ja tos papildina konkrēti piemēri. Balstoties uz iepriekÅ” minētajām instalācijas instrukcijām, mēs izveidojām savu MineCraft serveri un pievienojām kartē kaut ko interesantu.

Lūk, kas mums izdevās:

  • Bukkit serveris – stabila ieteicamā versija 1.6.4;
  • Statistics spraudnis – lai vāktu statistiku par spēlētājiem;
  • WorldBorder spraudnis – lai attēlotu un ierobežotu karti;
  • WorldGuard (+WorldEdit kā atkarÄ«bu) spraudnis – lai aizsargātu noteiktas teritorijas.

Aicinām visus interesentus spēlēt uz tā: lai pieslēgtos, pievienojiet jaunu serveri un norādiet adresi mncrft.slc.tl.

Mums bÅ«s prieks, ja komentāros jÅ«s dalÄ«sieties ar savu pieredzi serveru MineCraft uzstādīŔanā, konfigurēŔanā un optimizēŔanā, kā arÄ« pastāstÄ«siet, kuri modi un spraudņi jums interesē un kāpēc.

ForÅ”a ziņa: No 1. augusta uzstādīŔanas maksa par veltÄ«tajiem serveriem ar fiksētu konfigurāciju ir samazināta par 50%. Tagad vienreizējā uzstādīŔanas maksa ir tikai 3000 rubļu.

Lūdzam lasītājus, kuri nevar atstāt komentārus Ŕeit, pievienoties mums blogā.

Avots: habr.com

Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem šŸ”„ Iegādājieties uzticamu tÄ«mekļa hostingu ar DDoS aizsardzÄ«bu, VPS VDS serveriem | ProHoster