Krei kaj instali Minecraft-servilon

Krei kaj instali Minecraft-servilon

Minecraft estas unu el la plej popularaj interretaj ludoj hodiaŭ. En malpli ol tri jaroj (la unua oficiala eldono okazis en la aŭtuno de 2011), li gajnis milionojn da adorantoj tra la mondo.

La ludprogramistoj intence koncentriĝas pri la plej bonaj ekzemploj de antaŭ dudek jaroj, kiam multaj ludoj estis, laŭ la hodiaŭaj normoj, primitivaj laŭ grafiko kaj neperfektaj laŭ uzebleco, sed samtempe ili estis vere ekscitaj.

Kiel ĉiuj sandbox-ludoj, Minecraft provizas la uzanton per grandegaj ŝancoj por kreivo - ĉi tio, fakte, estas la ĉefa sekreto de sia populareco.

La organizado de serviloj por ludi en plurludanta reĝimo estas efektivigita de la ludantoj mem kaj iliaj komunumoj. Hodiaŭ, dekmiloj da ludserviloj funkcias en la Interreto (vidu, ekzemple, la liston ĉi tie).

Estas multaj ŝatantoj de ĉi tiu ludo inter niaj klientoj, kaj ili luas ekipaĵon por ludprojektoj en niaj datumcentroj. En ĉi tiu artikolo ni parolos pri kiaj teknikaj punktoj vi devas atenti kiam vi elektas servilon
Minecraft.

Elektu platformon

La ludo Minecraft inkluzivas la jenajn arkitekturajn elementojn:

  1. servilo - programo per kiu ludantoj interagas inter si per reto;
  2. kliento - programo por konektiĝi al la servilo, instalita sur la komputilo de la ludanto;
  3. kromaĵojn - aldonoj al la servilo, kiuj aldonas novajn funkciojn aŭ etendas malnovajn;
  4. mods - aldonoj al la ludmondo (novaj blokoj, eroj, funkcioj).

Estas multaj servilaj platformoj por Minecraft. La plej oftaj kaj popularaj estas Vanilo kaj Bukkit.

vanilo Ĉi tiu estas la oficiala platformo de la ludprogramistoj. Ĝi estas distribuita en ambaŭ grafikaj kaj konzolversioj. Nova versio de Vanilla ĉiam aperas samtempe kun nova versio de Minecraft.

La malavantaĝo de Vanilo estas ĝia troa memorkonsumo (ĉirkaŭ 50 MB per ludanto). Alia grava malavantaĝo estas la manko de kromaĵoj.

Bukkit estis kreita de grupo de entuziasmuloj, kiuj provis plibonigi la oficialan Minecraft-servilon. La provo montriĝis sufiĉe sukcesa: Bukkit estas multe pli larĝa en funkcieco ol Vanilla, ĉefe pro la subteno de diversaj modoj kaj kromprogramoj. Samtempe ĝi konsumas malpli da memoro por ludanto - proksimume 5-10 MB.

La malavantaĝoj de Bukkit estas, ke ĝi okupas tro da RAM kiam ĝi komenciĝas. Krome, ju pli longe la servilo funkcias, des pli da memoro ĝi bezonas (eĉ se estas malmultaj ludantoj). Elektante Bukkit kiel servilon, memoru, ke ĝiaj novaj versioj, kutime, enhavas erarojn; la stabila versio kutime aperas proksimume 2-3 semajnojn post la liberigo de la oficiala versio de Minecraft.

Krome, aliaj platformoj lastatempe gajnis popularecon (ekzemple, Spout, MCPC kaj MCPC +), sed ili diferencas en limigita kongruo kun Vanilla kaj Bukkit kaj tre limigita subteno por mods (ekzemple, vi povas nur skribi modifojn por Spout de nulo). ). Se ili estas uzataj, tiam nur por eksperimentoj.

Por organizi ludservilon, ni rekomendas uzi la platformon Bukkit, ĉar ĝi estas la plej fleksebla; krome, sub ĝi estas multaj malsamaj modoj kaj kromaĵoj. La stabila funkciado de la servilo Minecraft plejparte dependas de la ĝusta elekto de la aparataro. Ni konsideru ĉi tiun demandon pli detale.

Aparataro Postuloj

Kaj la servilo kaj la Minecraft-kliento estas tre postulemaj pri sistemaj rimedoj.
Elektinte aparatan platformon, oni devas konsideri, ke multkerna procesoro ne donos grandajn avantaĝojn: la kerno de la servilo de Minecraft povas uzi nur unu komputadfadenon. La dua kerno, tamen, estos utila: iuj kromprogramoj estas ekzekutitaj en apartaj fadenoj, kaj Java ankaŭ konsumas multajn rimedojn ...

Tial, por Minecraft-servilo, estas pli bone elekti procesoron kiu havas pli altan unukernan rendimenton. Pli potenca dukerna procesoro estos preferita ol malpli potenca multkerna procesoro. En specialigitaj forumoj, oni rekomendas uzi procesorojn kun horloĝrapideco de almenaŭ 3 GHz.

Por normala funkciado de la Minecraft-servilo, necesas granda kvanto da RAM. Bukkit okupas proksimume 1GB da RAM; krome, por ĉiu ludanto, kiel menciite supre, de 5 ĝis 10 MB estas asignitaj. Kromaĵoj kaj modoj ankaŭ konsumas sufiĉe multe da memoro. Por servilo kun 30 - 50 ludantoj, do vi bezonos almenaŭ 4 GB da RAM.

En Minecraft, multe (ekzemple, ŝarĝi la samajn kromaĵojn) dependas de la rapideco de la dosiersistemo. Tial, estas preferinde elekti servilon kun SSD-disko. Spindle-diskoj verŝajne ne taŭgas pro la malalta rapideco de hazarda legado.

Rapido de interreta konekto ankaŭ estas tre grava. Por ludo de 40-50 homoj sufiĉas kanalo de 10 Mb/s. Tamen, por tiuj, kiuj planas pli grandan minecraft-projekton, inkluzive de retejo, forumo kaj dinamika mapo, estas tre dezirinde havi kanalon kun pli alta bendolarĝo.

Kia specifa agordo estas plej bone elekti? De agordojn ni proponas Ni rekomendas, ke vi atentu la jenajn:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2x500GB SATA, 3000 rub/monato;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 rub/monato - ni uzas ĉi tiun agordon por nia MineCraft-testservilo, sur kiu vi povas ludi nun (kiel fari tion estas priskribita sube);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2x500GB SATA, 3500 rub/monato

Ĉi tiuj agordoj estas sufiĉe taŭgaj por krei Minecraft-servilon por 30-40 ludantoj. Iu malavantaĝo estas la manko de SSD-diskoj, sed ni donas alian gravan avantaĝon: garantiita 100 Mb/s kanalo sen iuj limigoj kaj proporcioj. Mendante ĉiujn agordojn listigitajn supre, la instalado-kotizo ne estas ŝargita.

Ni ankaŭ havas pli produktivajn, sed samtempe, kompreneble, pli multekostajn servilojn (mendinte ĉi tiujn agordojn, la agorda pago ankaŭ ne estas ŝargita):

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

Ni ankaŭ rekomendas atenti la novan buĝetan modelon kun SSD-disko bazita sur la procesoro Intel Atom C2758: Intel Atom C2758 2.4 GHz, 16 GB RAM, 2 × 240 GB SSD, 4000 rubloj / monato, pago de instalado - 3000 rubloj.

Instalante kaj funkciigante la Bukkit-servilon en Ubuntu OC

Antaŭ ol instali la servilon, ni kreu novan uzanton kaj aldonu ĝin al la sudo-grupo:

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

Poste, ni starigos la pasvorton sub kiu la kreita uzanto konektos al la servilo:

$ sudo passwd <uzantnomo>

Rekonektu al la servilo sub nova konto kaj procedu kun la instalado.
Minecraft estas skribita en Java, do la Java Runtime Environment devas esti instalita sur la servilo.

Ĝisdatigu la liston de disponeblaj pakaĵoj:

$ sudo apt-get update

Poste rulu la sekvan komandon:

$ sudo apt-get install default-jdk

Por instali kaj ruli Bukkit, estas ankaŭ dezirinde instali terminalan multipleksilon - ekzemple ekranon (aliaj terminalaj multipleksiloj povas esti uzataj - vidu nian обзор):

$ sudo apt-get install ekrano

Ekrano estos bezonata se ni konektas al la ludservilo per ssh. Kun ĝi, eblos lanĉi la Minecraft-servilon en aparta fina fenestro, kaj eĉ post fermo de la ssh-kliento, la servilo funkcios.

Ni kreu dosierujon, kie la servilaj dosieroj estos konservitaj:

$ mkdir bukkit $ cd bukkit

Post tio, ni iru al Bukkit oficiala retejo elŝuta paĝo. En la supra dekstra parto de la paĝo, vi povas vidi ligilon al la plej nova servila konstruo rekomendita por uzo (rekomendita konstruo). Ni rekomendas elŝuti ĝin:

$ wget <ligilo al rekomendita versio>

Nun ni rulu ekranon:

$ sudo ekrano

kaj rulu la jenan komandon:

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

Ni klarigu, kion signifas la uzataj parametroj:

  • Xmx1024M - maksimuma kvanto de RAM por servilo;
  • jar craftbukkit.jar - ŝlosilo al la servilo;
  • o malvera - permesas aliron al la servilo de piratitaj klientoj.

La servilo komenciĝos.
Vi povas haltigi la servilon tajpante la haltkomandon en la konzolo.

Agordo kaj agordo de la servilo

La servilaj agordoj estas konservitaj en la agorda dosiero server.properties. Ĝi enhavas la jenajn eblojn:

  • generator-settings - fiksas la ŝablonon por generi superebenan mondon;
  • allow-nether - determinas la eblecon moviĝi al la Malsupra Mondo. Defaŭlte, ĉi tiu agordo estas agordita al vera. Se metita al falsa, tiam ĉiuj ludantoj de la Nether estos movitaj al la normala;
  • level-name estas la nomo de la mapa dosierujo, kiu estos uzata dum la ludo. La dosierujo troviĝas en la sama dosierujo kiel la servilaj dosieroj. Se ne ekzistas tia dosierujo, la servilo aŭtomate kreas novan mondon kaj metas ĝin en dosierujon kun la sama nomo;
  • enable-query - kiam agordita al vera, aktivigas la GameSpy4-protokolon por aŭskulti la servilon;
  • allow-flight - Permesas flugojn en la Minecraft-mondo. La defaŭlta valoro estas falsa (neniu flugoj);
  • server-port - specifas la pordon kiu estos uzata de la ludservilo. La defaŭlta haveno por Minecraft estas 25565. Ni ne rekomendas ŝanĝi ĉi tiun agordon;
  • level-type - difinas la tipon de la mondo (DEFAUT/FLAT/LARGEBIOMES);
  • enable-rcon - malfermas foran aliron al la servila konzolo. Ĝi estas malebligita (malvera) defaŭlte;
  • level-seed - enigo por la nivelgeneratoro. Por povi krei hazardajn mondojn, ĉi tiu kampo devas esti malplena;
  • force-gamemode - fiksas la norman ludreĝimon por ludantoj konektantaj al la servilo;
  • server-ip - specifas la IP-adreson kiu estos uzata de ludantoj por konekti al la servilo;
  • max-build-height - specifas la maksimuman altecon de konstruaĵo sur la servilo. Ĝia valoro devas esti oblo de 16 (64, 96, 256, ktp.);
  • spawn-npcs - Permesas (se agordita al vera) aŭ malebligas (se agordita al malvera) NPC-oj generi en vilaĝoj.
  • blanka listo - ebligas aŭ malŝaltas la uzon de blanka listo de ludantoj sur la servilo. Se agordita al vera, la administranto povos krei blankan liston permane aldonante al ĝi ludantalnomojn. Se la valoro estas falsa, tiam ĉiu uzanto, kiu konas ĝian IP-adreson kaj havenon, povas aliri la servilon;
  • spawn-animals - permesas aŭtomatan generadon de amikaj mafioj se agordita al vera);
  • snooper-enabled - permesas al la servilo sendi statistikojn kaj datumojn al programistoj;
  • hardcore - ŝaltas la Hardcore-reĝimon sur la servilo;
  • texture-pac - tekstura dosiero kiu estos uzata kiam la ludanto konektas al la servilo. La valoro de ĉi tiu parametro estas la nomo de la zip-arkivo kun teksturoj, kiu estas konservita en la sama dosierujo kiel la servilo;
  • interreta reĝimo - ebligas kontroli la superajn kontojn de uzantoj konektantaj al la servilo. Se ĉi tiu parametro estas agordita al vera, nur superaj kontoposedantoj povos aliri la servilon. Se konta konfirmo estas malŝaltita (metita al falsa), tiam ĉiuj uzantoj (inkluzive, ekzemple, ludantoj kiuj forĝis kromnomon) povas aliri la servilon, kio kreas pliajn sekurecajn riskojn. Kun konfirmo malebligita, vi povas ludi Minecraft per loka reto, sen aliro al Interreto;
  • pvp - permesas aŭ malpermesas ludantojn batali unu la alian. Se ĉi tiu parametro estas vera, tiam ludantoj povas detrui unu la alian. Se metita al falsa, ludantoj ne povas trakti rektan damaĝon al unu la alian;
  • malfacileco - fiksas la malfacilecnivelon de la ludo. Povas preni valorojn de 0 (plej facila) ĝis 3 (plej malfacila);
  • ludreĝimo - specifas kiu ludreĝimo estos agordita por ludantoj aliĝantaj al la servilo. Povas preni la jenajn valorojn: 0 - Supervivo, 1-Kreativo, 2-Aventuro;
  • player-idle-timeout - neaktiva tempo (en minutoj), post kiu ludantoj estas aŭtomate malkonektitaj de la servilo;
  • max-players - la maksimuma permesita nombro da ludantoj sur la servilo (de 0 ĝis 999);
  • spawn-monsters - permesas (se fiksite al vera) la generadon de malamikaj mafioj;
  • generi-strukturoj - ebligas (vera) / malebligas (malvera) la generadon de strukturoj (trezoroj, fortikaĵoj, vilaĝoj);
  • view-distance - ĝustigas la radiuson de ĝisdatigitaj pecoj por sendi al la ludanto; povas preni valorojn de 3 ĝis 15.

Minecraft-servilaj protokoloj estas skribitaj al la server.log-dosiero. Ĝi estas konservita en la sama dosierujo kiel la servilaj dosieroj. La ŝtipo konstante kreskas en grandeco, okupante pli kaj pli da diskospaco. Vi povas simpligi la funkciadon de la registra mekanismo uzante la tiel nomatan ŝtipan rotacion. Por rotacio oni uzas specialan ilon - logrotate. Ĝi limigas la nombron da enskriboj en la protokolo al certa limo.

Vi povas agordi protokolan rotacion tiel ke ĉiuj enskriboj estos forigitaj tuj kiam la protokolo-dosiero atingas certan grandecon. Vi ankaŭ povas agordi periodon post kiu ĉiuj malnovaj enskriboj estos konsiderataj senrilataj kaj forigitaj.

La ĉefaj rotaciaj agordoj estas en la dosiero /etc/logrotate.conf; krome, individuaj agordoj povas esti kreitaj por ĉiu aplikaĵo. Dosieroj kun individuaj agordoj estas konservitaj en la dosierujo /etc/logrotate.d.

Ni kreu tekstdosieron /etc/logrotate.d/craftbukkit kaj enigu la sekvajn parametrojn en ĝin:

/home/craftbukkit/server.log { turni 2 semajne kunpremi missingok notifempty }

Ni konsideru iliajn signifojn pli detale:

  • la rotacia parametro specifas la nombron da rotacioj antaŭ ol forigi la dosieron;
  • ĉiusemajne indikas, ke la rotacio estos farita ĉiusemajne (vi ankaŭ povas agordi aliajn parametrojn: monate - monate kaj ĉiutage - ĉiutage);
  • compress precizigas, ke la arkivitaj protokoloj estu kunpremitaj (opcio estas nocompress);
  • missingok precizigas, ke en foresto de protokoldosiero, laboro devus daŭri kaj neniuj erarmesaĝoj devus esti montritaj;
  • notifempty specifas ne ŝanĝi la protokoldosieron se ĝi estas malplena.

Vi povas legi pli pri protokolo-rotaciaj agordoj tie.

Optimumigo Konsiloj

Tuj faru rezervon, ke ĉi tiu sekcio provizos konsiletojn rilatajn nur al optimumigo de la ludservilo. La problemoj pri agordo kaj optimumigo de la servilo, sur kiu Minecraft estas instalita, estas aparta temo, kiu superas la amplekson de ĉi tiu artikolo; interesataj legantoj povas facile trovi la informojn, kiujn ili bezonas en la Interreto.

Unu el la plej oftaj problemoj, kiuj aperas dum ludado de Minecraft, estas la tiel nomataj malfruoj - situacioj, kiam la programo ne respondas ĝustatempe al enigo de la uzanto. Ili povas esti kaŭzitaj de problemoj kaj ĉe la klienta flanko kaj ĉe la servilo. Malsupre ni donos rekomendojn, kiuj helpos redukti la verŝajnecon de problemoj ĉe la servilo.

Regule monitoru la memorkonsumon de la servilo kaj kromaĵojn

Memorkonsumo povas esti spurita uzante specialecajn administrajn kromaĵojn - ekzemple, LagMeter.

Restu agordita por ĝisdatigoj de kromprogramoj

Kiel regulo, programistoj de novaj kromprogramoj strebas redukti la ŝarĝon kun ĉiu nova versio.

Provu ne uzi multajn kromaĵojn kun simila funkcio

Grandaj kromaĵoj (ekz. Essentials, AdminCMD, CommandBook) tre ofte inkluzivas la funkciecon de multaj pli malgrandaj kromaĵoj. Ekzemple, la sama Essential enhavas la funkciojn de la kromaĵojn iConomy, uHome, OpenInv, VanishNoPacket, Kit. Malgrandaj kromprogramoj, kies funkcieco estas tute kovrita de la funkcieco de unu granda, plejofte povas esti forigitaj por ne troŝarĝi la servilon.

Limigu la mapon kaj elŝutu ĝin mem

Se vi ne limigas la mapon, tiam la ŝarĝo sur la servilo signife pliiĝos. Vi povas limigi la mapon uzante la kromprogramon Monda Limo. Por fari tion, vi devas ruli ĉi tiun kromprogramon kaj ekzekuti la komandon /wb 200, kaj poste desegni la mapon per la komando /wb plenigi.

Desegnado, kompreneble, daŭros multe da tempo, sed estas pli bone fari ĝin unufoje, fermante la servilon por teknika laboro. Se ĉiu ludanto desegnas la mapon, la servilo funkcios malrapide.

Anstataŭigu pezajn kromaĵojn per pli rapidaj kaj malpli intensaj rimedoj

Ne ĉiuj Minecraft-aldonaĵoj povas esti nomataj sukcesaj: ili ofte enhavas multajn nenecesajn kaj nenecesajn funkciojn, kaj foje ili ankaŭ konsumas multe da memoro. Malsukcesaj aldonaĵoj estas plej bone anstataŭigitaj per alternativaj (estas sufiĉe da ili). Ekzemple, la LWC-kromaĵo povas esti anstataŭigita per Wgfix+MachineGuard, kaj la DynMap-kromaĵo per Minecraft Overviewer.

Ĉiam purigu la guton aŭ instalu kromprogramon por aŭtomate forigi la guton

Gutoj en ludoj estas eroj kiuj eliĝas kiam homamaso mortas aŭ kelkaj blokoj estas detruitaj. Stokado kaj prilaborado de gutoj okupas multajn sistemajn rimedojn.

Por ke la servilo funkcii pli rapide, estas konsilinde forigi la guton. Ĉi tio plej bone fariĝas uzante specialajn kromaĵojn - ekzemple, NoLagg aŭ McClean.

Ne uzu kontraŭ-trompojn

Tiel nomataj kontraŭ-trompoj ofte estas instalitaj sur ludserviloj - programoj kiuj blokas provojn influi la ludon malhoneste.

Ankaŭ ekzistas kontraŭ-trompoj por Minecraft. Ajna kontraŭ-trompo ĉiam estas plia ŝarĝo sur la servilo. Estas preferinde instali protekton por la lanĉilo (kiu tamen ne donas absolutan garantion de sekureco kaj facile rompiĝas - sed tio estas temo por aparta diskuto) kaj por la kliento.

Anstataŭ konkludo

Ajnaj instrukcioj kaj rekomendoj montriĝas multe pli efikaj se ili estas subtenataj de specifaj ekzemploj. Surbaze de la instalinstrukcioj supre, ni kreis nian propran Minecraft-servilon kaj metis kelkajn interesajn aferojn sur la mapon.

Jen kion ni ricevis:

  • Bukkit-servilo - stabila rekomendita versio 1.6.4;
  • Statistics plugin - por kolekti statistikojn pri ludantoj;
  • Plugin WorldBorder - por desegni kaj limigi la mapon;
  • WorldGuard kromaĵo (+WorldEdit kiel dependeco) - por protekti iujn areojn.

Ni invitas ĉiujn ludi sur ĝi: por konektiĝi, aldonu novan servilon kaj enigu la adreson mncrft.slc.tl.

Ni ĝojos, se en la komentoj vi dividas vian propran sperton pri instalo, agordo kaj optimumigo de MineCraft-serviloj kaj diros al ni pri kiuj modoj kaj kromprogramoj vi interesiĝas kaj kial.

Bonegaj novaĵoj: Ekde la 1-a de aŭgusto, la agorda kotizo por fiksaj agordaj dediĉitaj serviloj estis reduktita je 50%. Nun la unufoja instala pago estas nur 3000 rubloj.

Legantoj, kiuj ne povas lasi komentojn ĉi tie, bonvenas aliĝi al ni ĉe блог.

fonto: www.habr.com

Aldoni komenton