Minecraft server optimization

Minecraft server optimization
Pa blog yedu tatova nayo kuudzwa, maitiro ekugadzira yako Minecraft server, asi makore mashanu apfuura kubva ipapo uye zvakawanda zvachinja. Isu tiri kugovana newe zvazvino nzira dzekugadzira uye kukwenenzvera chikamu cheseva chemutambo wakakurumbira wakadai.

Pamusoro penhoroondo yayo yemakore mapfumbamwe (kuverenga kubva pazuva rekuburitswa), Minecraft yakawana nhamba inoshamisa yevateveri uye vanovenga pakati pevatambi vakajairwa uye geeks. Pfungwa yakapfava yenyika yakagadzirwa nemabhuroko yakashanduka kubva kunzira yakapusa yevaraidzo ikava svikiro repasi rose rekutaurirana nekugadzira zvinhu zvakasiyana kubva kunyika chaiyo.

Pamusoro pekuvaka, mutambo une kugona kugadzira logic, iyo inokutendera iwe kuti uite yakazara-yakazara algorithms mukati meMinecraft. YouTube izere nemavhidhiyo anokatyamadza apo vanhu, vakaisa muhukuru hwekuedza uye nekushandisa nguva yakawanda, vakagadzira kopi yeichi kana icho chemagetsi mudziyo kana kuvaka kopi yakadzama. aripo и fictional zvivakwa zvekuvaka. Zvese zvinoganhurirwa chete nekufungidzira kwemutambi uye mikana yemitambo yepasirese.


Asi ngatirege kutaura nezve izvo chaizvo izvo vatambi vanogadzira, asi ngatitarisei kune sevha chikamu chechishandiso uye tiratidze matambudziko (dzimwe nguva akaomarara) anogona kumuka panguva yekushanda pasi pemutoro. Ngatiite chengetedzo ipapo kuti isu tichangotaura nezve Java Edition.

Mhando dzemaseva

Iyo yakapusa sarudzo iseva yakavakirwa mukati memutengi wemutambo. Isu takagadzira nyika, takadzvanya bhatani rimwe, uye sevha yakave inowanikwa pamusoro penetiweki yemuno. Iyi sarudzo haigone kumira chero mutoro wakakomba, uye saka isu hatitombozvifungi.

Vanilla

Mojang Studios iri kugovera sevha chikamu chemutambo seJava application yemahara pane webhusaiti yepamutemo. Izvi zvinokubvumira kuti ugadzire iwe pachako yakatsaurirwa server uye nyika yako pachako, zvichiita kuti iwanikwe yekubatanidza kubva chero kupi zvako papasi. Kune avo vari kuita izvi kekutanga, pane yakakura tutorial, inowanikwa pane inoenderana mutambo weWiki.

Iyi nzira ine imwe yakakomba drawback, kureva kushaikwa kwekunze-kwe-the-bhokisi kugona kwekubatanidza mapulagi anowedzera mashandiro evhavha uye anobvumira kwete chete kuita otomatiki maitiro mazhinji, asiwo kugadzirisa mashandiro. Uye zvakare, sevha yepamutemo ine yakakura kwazvo RAM kushandiswa kune yega yega yakabatana mutambi.

bukkit

Sevha application yakagadzirwa nevanofarira yakavakirwa paVanilla vhezheni bukkit yakawedzera zvakanyanya kugona kwemutambo nekutsigira plugins uye mods (magadzirirwo). Izvo zvakabvumira kwete chete kuwedzera mabhuraki matsva kumutambo wemutambo, asiwo kuita akasiyana manipulations aive asingasvikike kune vanilla software. Sezvineiwo, iyi application yaida zvakanyanya kushoma ndangariro.

Kuisa Bukkit hakuna kuoma; mirairo inoenderana iri pane sosi GamePedia. Asi izvi hazvina musoro, sezvo kubva 2014 boka reBukkit rakaparara, vanogadzira chirongwa vave vashandi veMojang Studios, uye. repository kusiiwa. Nokudaro, Bukkit akafa, uye zvine musoro kuterera kune mapurojekiti maviri anotevera.

SpigotMC

Kuita kuti hupenyu huve nyore kune vanogadzira plugin, pakanga paine kudikanwa kweiyo API yekudyidzana nenyika yemutambo. Iri ndiro dambudziko chairo rakagadziriswa nevasiki. Spigot, kutora iyo Bukkit core uye kuigadzirisa kuti iwane kuvimbika uye kuita zvirinani. Zvakadaro, Git repository chirongwa chakavharwa nekuda kweDigital Millennium Copyright Act (DMCA), uye hazvibviri kurodha kodhi kodhi kubva ipapo.

Parizvino, SpigotMC inoshingaira kugadzirwa uye kushandiswa. Inotsigira ese maplugins akagadzirirwa Bukkit, asi haasi kumashure anoenderana nawo. Kuti utenderere neDMCA Takedown, nzira inoyevedza inonzi BuildTools yakagadzirwa. Ichi chishandiso chinobvisa kukosha kwekugovera yakaunganidzwa application uye inobvumira vashandisi kuunganidza Spigot, CraftBukkit uye Bukkit kubva kusource code. Zvese izvi zvinoita kuti kurambidzwa kweDMCA kushaye basa.

PaperMC

Zvese zvaiita sekutonhorera, uye Spigot yakava sarudzo huru. Asi izvi hazvina kukwana kune vamwe vanofarira, uye vakagadzira yavo forogo yeSpigot "pamasteroid." On peji yeprojekiti kukosha kwakakosha ndekwekuti "Kupusa kunokurumidza". Developed community inokubvumira kukurumidza kugadzirisa nyaya dziri kubuda, uye API yakawedzerwa inokubvumira kuti ugadzire plugins dzinonakidza. Unogona kuvhura PaperMC nemurairo mumwe wakapusa, wakapihwa mukati zvinyorwa.

PaperMC ine kugarisana kwakanaka, saka mapulagi akanyorerwa SpigotMC anogona kushanda zviri nyore paPaperMC, asi pasina rutsigiro rwepamutemo. Kumashure kuenderana neSpigotMC iripo zvakare. Zvino zvatanyora sarudzo dzakasiyana dzekugadzira sevha, ngatienderere mberi kune nyaya dzekuita dzinogona kumuka.

Matambudziko Nekugadzirisa

Chinhu chikuru chaunofanirwa kunzwisisa ndechekuti zvese zvine chekuita nekugadzirisa nyika yemutambo zvichagadziriswa chete pane imwe komputa musimboti weiyo sevha yemuviri. Saka kana kamwe kamwe iwe uine yakanakisa sevha ine gumi nemaviri computing cores, ipapo imwe chete ichatakurwa. Vamwe vese vanenge vasisina basa. Uku ndiko kuvakwa kwechishandiso, uye hapana chaungaita nezvazvo. Saka kana uchisarudza sevha, iwe unofanirwa kuterera kwete kune huwandu hwemacores, asi kune wachi frequency. Iyo yakakwirira iyo, zviri nani kushanda kuchava.

Nezve nyaya ye RAM, isu tinofanirwa kuenderera kubva kune zvinotevera zviratidzo:

  • nhamba yakarongwa yevatambi;
  • nhamba yakarongwa yenyika pane server;
  • ukuru hwenyika imwe neimwe.

Izvo zvinofanirwa kuyeukwa kuti Java application inogara ichida kuchengetwa kwe RAM. Kana iwe unotarisira kushandiswa kwekuyeuka kwe8 gigabytes, saka iwe unoda chaizvo kuva ne 12. Nhamba dzacho dzine hama, asi essence haina kuchinja.

Kuti utange sevha chikamu, tinokurudzira kushandisa mireza yakatsanangurwa muchinyorwa Kugadzirisa iyo JVM - G1GC Garbage Muunganidzi Mireza yeMinecraft. Iyi "mashiripiti akasviba" inobvumira sevha kugadzirisa nemazvo "muunganidzi wemarara" uye nekugonesa kushandiswa kwe RAM. Iwe haufanirwe kugovera ndangariro yakawanda kupfuura iyo sevha inodya chaizvo panguva yekuwanda kwevatambi.

Kugadzira block mepu

"Unofunga kuti mwedzi uripo chete kana ukautarisa?" (Albert Einstein)

Sevha itsva zvachose. Kana mutambi achinge anyatsobatana kekutanga, mutambi wemutambo anoonekwa panzvimbo yekuunganidza (spawn). Iyi ndiyo chete nzvimbo iyo nyika yemutambo inofanogadzirwa neserver. Panguva imwecheteyo, chikamu chemutengi chinotarisa marongero, uye kiyi parameter idhirowa kureba. Inoyerwa muzvidimbu (nzvimbo yemepu ndeye 16×16 uye 256 mabhuroko kumusoro) Machunks mangani anoratidzwa kuti mangani chaiwo achakumbirwa kubva kuseva.

Iyo sevha inochengeta mepu yepasirese yenyika, uye kana pasina mabhuraki akagadzirwa mairi parizvino panguva yekuonekwa kwechimiro chemutambo, ipapo sevha inovagadzira zvine simba nekuichengeta. Izvi hazvingode zviwanikwa zvemakomputa zvakakura, asi zvakare zvinogara zvichiwedzera saizi yemepu yenyika. Pane imwe yekare anarchist maseva 2b2t (2builders2tools) Saizi yemepu yakatopfuura 8 Tb, uye muganho wenyika wasvika pamamiriyoni makumi matatu emabhuroko. Kune zviuru zvenyaya dzakabatana neserver iyi uye inokodzera neyayo chinyorwa munhevedzano.

Kugadzira nyika yakatenderedza mutambi mumwe harisi dambudziko. Kugadzira nyika yakatenderedza mazana evatambi kunokonzeresa kuderera kwe server kwenguva pfupi, mushure mezvo mutoro uchadzikira. Kugadzira nyika kune mutengi inopa chinhambwe chakatenderedza chiuru chevatambi chave kutokwanisa "kudonhedza" sevha uye kukanda vatengi vese kubva mairi nekuda kwekufamba kwenguva.

Mu server software pane kukosha kwakadai se TPS (Tiki paSevha - zvikwekwe pasekondi). Kazhinji, 1 wachi kutenderera yakaenzana 50 ms. (1 sekondi yenyika chaiyo yakaenzana ne20 zvikwekwe zvemutambo wenyika). Kana kugadziridzwa kwekikwe chimwe kuchiwedzera kusvika kumasekonzi makumi matanhatu, server application ichavharwa, ichirasa vatambi vese.

Mhinduro ndeyekudzikamisa nyika kune mamwe marongero uye kuita yekutanga block block. Nekudaro, isu tinobvisa kudiwa kwechizvarwa chine simba panguva yemutambo, uye sevha inongoda kuverenga mepu iripo. Nyaya mbiri idzi dzinogona kugadziriswa neimwe plugin imwe chete WorldBorder.

Nzira iri nyore ndeyekumisa muganho wepasirese muchimiro chedenderedzwa chine hukama neinotapa (kunyangwe uchikwanisa kuigadzira chero chimiro) nemurairo mumwechete:

/wb set <радиус в блоках> spawn

Kana mutambi akaedza kuyambuka muganhu, anosundirwa kumashure akati wandei. Kana izvi zvikaitwa kakawanda mukati menguva shoma, mupari wemhosva anotakurwa nechisimba kunzvimbo yekuberekera. Pre-chizvarwa chenyika inoitwa zvakapusa, nemurairo:

/wb fill

Sezvo ichi chiitiko chinogona kukanganisa vatambi paseva, ita chokwadi chekusimbisa:

/wb confirm

Pakazara, zvakatora nguva ingangoita maawa maviri kugadzira nyika ine radius ye5000 blocks (~40 bhiriyoni zvibhuroko) paIntel® Xeon® Gold 2 processor. Naizvozvo, kana uchida kufanogadzira mepu yakakura, ziva kuti maitiro aya achatora yakaringana nguva, uye sevha TPS ichaderedzwa zvakanyanya. Zvakare, rangarira kuti kunyangwe radius ye6240 zvidhinha inoda inenge 5000 GB yedhisiki nzvimbo.

Pasinei nenyaya yekuti yazvino vhezheni yeplugin yakagadziridzwa yeMinecraft vhezheni 1.14, yakaonekwa nekuyedza kuti inoshanda zvakanaka pane dzinotevera shanduro. Rondedzero yakazara yemirairo ine tsananguro iripo pane plugin forum.

Dambudziko rinovhara

Kune akakura akasiyana-siyana emabhuraki muMinecraft. Nekudaro, isu tinoda kukwevera kutarisa kwevaverengi kune bhuroka yakadai se TNT. Sezvinoratidzwa nezita, iyi block inoputika (chinyorwa chemupepeti - ichi chinhu chemutambo chenyika chaiyo uye chinhu ichi hachina chinhu chine zvinoputika). Hunhu hwayo ndehwekuti panguva yekushandiswa simba regiravhiti rinotanga kuita pariri. Izvi zvinomanikidza sevha kuti iverenge zvese zvinongedzo kana panguva ino block inotanga kudonha.

Kana paine akati wandei TNT zvidhinha, ipapo detonation yeimwe block inokonzeresa detonation uye activation yegiravhiti mumabhuraki akavakidzana, achiaparadzira mativi ese. Ese aya makanika akanaka padivi pesevha anoita seakawanda mashandisirwo ekuverenga trajectory yebhuroka rega rega, pamwe nekudyidzana nemabhuroki akavakidzana. Basa racho rinonyanya kushandisa zviwanikwa, izvo chero munhu anogona kutarisa zviri nyore. Gadzira uye detonate cube kubva kuTNT blocks inosvika 30x30x30 muhukuru. Uye kana iwe waifunga kuti une yakanaka, ine simba yekutamba komputa, wanga wakanganisa zvakanyanya 😉

/fill ~ ~ ~ ~30 ~30 ~30 minecraft:tnt

Minecraft server optimization
Imwe "yedzo" yakafanana pane sevha ine Intel® Xeon® Goridhe 6240 yakatungamira kune yakakomba TPS kudonha uye 80% CPU mutoro panguva yese yekuvhara block nguva. Naizvozvo, kana chero mutambi achikwanisa kuita izvi, ipapo dambudziko rekuita richabata vatambi vese paserver.

Imwe yakanyanya kuoma sarudzo - Edge Crystals. Kana TNT zvakadaro ichiputika zvakatevedzana, ipapo Edge Crystals inoputika ese panguva imwe chete, iyo mudzidziso inogona kumisa zvachose kushanda kwesevha application.

Ichi chiitiko chinogona kudzivirirwa chete nekurambidza zvachose kushandiswa kwezvivharo izvi munyika yemutambo. Somuenzaniso, kushandisa plugin WorldGuard. Ndokumbira utarise kuti iyi plugin yega haishande pasina imwe plugin WorldEdit. Saka isa WorldEdit kutanga, uyezve WorldGuard.

mhedziso

Kunyatso gadzirisa sevha yemutambo harisi basa riri nyore. Zvinetso uye kuderera kwekuita zvinokumirira iwe nguva dzese, kunyanya kana ukasafunga nezve gameplay mechanics ivo pachavo. Izvo hazvigone kufanoona zvese, nekuti vatambi vanogona dzimwe nguva kuve vakanyanya kugadzira mukuyedza kumanikidza sevha kuita chimwe chinhu chaive chisina kuitirwa. Chete chiyero chinonzwisisika pakati penjodzi uye zvakatemerwa zvirambidzo zvinobvumira sevha kuti irambe ichishanda uye isingaderedze kuita kwayo kune yakakosha kukosha.

Munguva yekuvharirwa, vamwe vevashandi vedu vakapotsa mahofisi avo avaida uye vakafunga kuvagadzira zvakare mukati meMinecraft. Iwe zvakare une mukana wekuuya kuzotishanyira usingaise hutano hwako panjodzi kana kutambisa nguva munzira.

Kuti tiite izvi, tinokoka munhu wese kune server yedu minecraft.selectel.ru (mutengi shanduro 1.15.2), apo nzvimbo dze data Tsvetochnaya-1 uye Tsvetochnaya-2 dzakagadzirwazve. Usakanganwa kubvuma kudhawunirodha zvimwe zviwanikwa, izvo zvinodiwa pakuratidzwa chaiko kwedzimwe nzvimbo.

Makwikwi, makodhi ekusimudzira, mazai eIsita uye kutaurirana kunonakidza kwakamirira iwe.

Source: www.habr.com

Voeg