„Minecraft“ serverio vėlavimo ir žemo TPS diagnozavimas

Kaip veikia Minecraft (kas sukelia vėlavimą?)

Svarbiausia suprasti, kas sukelia atsilikimą, yra suprasti, kaip veikia „Minecraft“. Visa „Minecraft“ serverio programinė įranga veikia panašiai, turėdama vieną pagrindinę problemą: pagrindinėje žaidimo ciklo dalyje nėra kelių gijų ar laiko apribojimų. Kai serveris pereina prie „tic“, jis vykdo kiekvieną „TileEntity“ naujinį, objekto atnaujinimą, bloko atnaujinimą, įvykius ir kitus procesus, kol baigsis. Visa tai vyksta vienoje gijoje, o kita kilpa negali prasidėti, kol nesibaigia dabartinė. Pasaulis nebus atnaujintas, žaidėjai nejudės, o subjektai bus užšaldyti. Idealiu atveju kiekvienas tikėjimas turėtų užtrukti ne ilgiau kaip 50 ms, kad išlaikytų 20 tikų per sekundę (TPS). Tai gali siekti iki 55,55 ms 18 TPS su minimaliomis problemomis. Bet koks mažesnis už tai ir jūs pradėsite matyti atsilikimą.

Tipiškos vėlavimo priežastys

Yra daug dalykų, kurie gali sukelti vėlavimą, tačiau keli iš jų bus labiausiai tikėtinas daugelio serverių kaltininkas.

  • Failų naudojimas : bet koks papildinys, kuris nuolat skaito grotuvo failus, ypač kai vyksta judėjimas, žala ar sąveika. Keletas pavyzdžių būtų kai kurios PVP vėliavėlės arba Glow įskiepiai, kurie nuolat skaitys iš grotuvo failų.
  • Plokštieji failai kaip duomenų bazė : kai turite papildinių, kurie naudoja didelius failus, kad galėtumėte stebėti daug duomenų, kartojamų per tą failą arba atmintyje, priklausomai nuo to, kaip jie saugomi, tai užtruks ilgai. Daugelis papildinių tai daro ir nesiima atsargumo priemonių, kad duomenų bazėms išsipūtus apdorojimo laikas paveiks serverių tikėjimą. Tai dažnai pamatysite įkeldami dideles „MagicSpells“ konfigūracijas arba naudodami leidimų sistemas, kurios naudoja YAML, o ne tinkamą duomenų bazę, pvz., PEX ir GroupManager.
  • Per daug operacijų : kai papildinys sukuria per daug objektų arba bando atlikti sudėtingas užduotis, susijusias su įvykiais, pvz., judėjimu, pradėsite matyti vėlavimą. Net jei kiekvienas paleidimas trunka mažiau nei 1 ms, kai įvykį apdorojate 20 000 kartų per sekundę, jis tampa eksponentinis. Tai gali sukelti pasaulio redagavimo įskiepiai, tokie kaip VoxelSniper ir WorldEdit; arba apsaugos papildinius, tokius kaip „Anti Cheats“ ir „World Protections“.
  • Įkelta per daug gabalų : vienas gabalas yra 16*16*256. Tai gali atrodyti ne taip daug, bet padauginus tai reiškia, kad viename gabale yra 65 536 blokai. Kiekvienas žaidėjas gali turėti daugiau nei 200 dalių, priklausomai nuo jūsų konfigūracijos. Tai daugiau nei 13 107 200 blokų. Tai užima daug atminties. Be to, jei net 1% iš jų yra „TileEntities“, tai yra įkeltos 131 072 „TileEntities“, kurias reikia atnaujinti kiekvieną tikėjimą. Modifikacijos yra žinomos dėl lėto „TileEntities“ apdorojimo laiko.
  • Cascading WorldGen : Tai yra tada, kai įskiepis arba modifikacija sukuria struktūras, esančias už jam pateikto gabalo ribų. Dėl to kitas gabalas įkeliamas, sugeneruojamas ir suaktyvinamas iš naujo, jei taip pat struktūrų perpildymas į kitą dalį. Tai yra blogas dizainas kūrėjų vardu, todėl visi tai darantys papildiniai ar modifikacijos turėtų būti nedelsiant pašalinti.
  • Plytelių objektai : žr . toliau esantį skyrių „ LagGoggles“ .

Atsilikimo priežasties nustatymas šiais laikais paprastai yra paprasta procedūra, nes dauguma „Minecraft“ serverio programinės įrangos yra sukurta naudojant profiliavimo įrankius.

Spigot / PaperSpigot laiko ataskaitos

Norėdami gauti išsamią laiko ataskaitą, galite naudoti šią komandą.

/timings on

Norėsite palaukti kelias minutes ir leisti jam vėluoti, kol bus rodomas laikas. Po kurio laiko sugeneruokite ataskaitą.

/timings paste

Tai suteiks jums nuorodą į svetainę su gražiu ataskaitos suskirstymu ir paprastomis parinktimis, kaip peržiūrėti visus gaunamus duomenis. Daugiau apie tai, kaip tai skaityti, galite sužinoti Spigot laiko nustatymo wiki .

Vėliau norėsite išjungti laikmatį, nes nenorite, kad nepageidaujami duomenys užstotų kitą skaitymą, o laikai prideda papildomo laiko.

/timings off

Sponge laiko ataskaitos

Norėdami gauti išsamią laiko ataskaitą, galite naudoti šią komandą.

/sponge timings on

Norėsite palaukti kelias minutes ir leisti jam vėluoti, kol bus rodomas laikas. Po kurio laiko sugeneruokite ataskaitą.

/sponge timings report

Tai suteiks jums nuorodą į svetainę su gražiu ataskaitos suskirstymu ir paprastomis parinktimis, kaip peržiūrėti visus gaunamus duomenis. Kadangi Sponge laiko nustatymo sistema yra pagrįsta Spigot, galite sužinoti daugiau apie tai, kaip juos perskaityti Spigot laiko nustatymo wiki .

Vėliau norėsite išjungti laikmatį, nes nenorite, kad nepageidaujami duomenys užstotų kitą skaitymą, o laikai prideda papildomo laiko.

/sponge timings off

Taip pat galite iš naujo nustatyti laiką.

/sponge timings reset

Veiksmai, skirti sumažinti atsilikimą

  • Norėdami paleisti „Minecraft“, naudokite tinkamus scenarijaus failo argumentus. Sužinokite daugiau apie tinkamus Java argumentus čia
  • Naudokite LuckPerms arba leidimų tvarkyklę, kuri naudoja tinkamą duomenų bazę, o ne plokščią failą
  • Visiškai venkite gabalų krautuvų
  • Pašalinkite viską, kas sukelia pakopinį pasaulio kartos pasikeitimą
  • Apribokite „Anti Cheat“ papildinius, kad nebūtų per daug uolūs
  • Apribokite žaidėjų žiūrėjimo atstumą server.properties
  • Išvalykite priešiškas minias po nustatyto laiko
  • Kasdien iš naujo paleiskite serverį, kad pašalintumėte „Java“ nutekėjimą
  • NIEKADA neperkraukite serverio, nes tai sukelia nutekėjimą ir kitų problemų
  • Naudokite FastAsync papildinių, tokių kaip WorldEdit ir VoxelSniper, versijas
  • Apribokite savo pasaulio dydį, kad nebūtų nuolat kuriami nauji gabalai
  • Apribokite naudojamų papildinių skaičių. Ne visi papildiniai sukurti gerai ir kuo daugiau jų turėsite, tuo daugiau problemų susidursite

LagGoggles

Didelė dalis modifikuotų serverių vėlavimo kyla iš plytelių objektų. Tai blokams sukurti objektai, naudojami bloko funkcijoms ir įvykiams apdoroti. Jei tai užtrunka per ilgai arba jų yra per daug, gali pailgėti perėjimo laikas ir sumažėti bendras serverio TPS. Šias problemas galima vizualizuoti naudojant modifikaciją, vadinamą LagGoggles. Šį modą galite atsisiųsti iš CurseForce .


Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Kaip nustatyti „Tekkit Classic“ serverį „Ubuntu 16.10“.

Naudojate kitą sistemą? Kas yra Tekkit Classic? „Tekkit Classic“ yra visų žinomo ir mėgstamo žaidimo modifikacijų paketas; Minecraft. Jame yra keletas ver

Sukonfigūruokite „7 Days to Die“ serverį „Ubuntu 14“.

Sukonfigūruokite „7 Days to Die“ serverį „Ubuntu 14“.

Šiame vadove sužinosite, kaip nustatyti savo „7 Days to Die“ serverį (7D2D) „Ubuntu“. Atminkite, kad šis žaidimas vis dar yra ankstyvos prieigos ir kad th

„Half Life 2“ serverio nustatymas „CentOS 6“.

„Half Life 2“ serverio nustatymas „CentOS 6“.

Ši pamoka apims Half Life 2 žaidimų serverio diegimą CentOS 6 sistemoje. 1 veiksmas: būtinų sąlygų įdiegimas Norėdami nustatyti ou

„Counter-Strike Global Offensive“ serverio paleidimo priemonė „Ubuntu“.

„Counter-Strike Global Offensive“ serverio paleidimo priemonė „Ubuntu“.

Tie, kurie turi patirties nustatant dedikuotą CS:GO (Counter-Strike: Global Offensive), žino, kad valdymas naudojant komandų eilutės sąsają

„Counter Strike“ nustatymas: šaltinis „Debian“.

„Counter Strike“ nustatymas: šaltinis „Debian“.

Šiame vadove mes nustatysime Counter Strike: Source žaidimų serverį Debian 7. Šios komandos buvo išbandytos Debian 7, tačiau jos taip pat turėtų veikti.

Kaip įdiegti Unturned 2.2.5 Debian 8

Kaip įdiegti Unturned 2.2.5 Debian 8

Šiame vadove sužinosite, kaip nustatyti Unturned 2.2.5 serverį Vultr VPS, kuriame veikia Debian 8. Pastaba: tai redaguota Unturned versija,

Kaip įdiegti „Cuberite“ „CentOS 6“ arba „7“ serveryje

Kaip įdiegti „Cuberite“ „CentOS 6“ arba „7“ serveryje

Įvadas Kas yra Cuberite? „Cuberite“ yra keičiamo dydžio atvirojo kodo „Minecraft“ serverio diegimas, parašytas C++. Jame yra paprastas naudoti priedas

„Teamspeak“ diegimas „CentOS 7“.

„Teamspeak“ diegimas „CentOS 7“.

Teamspeak yra VOIP serveris, kurį galima naudoti komandoms/keliems žmonėms bendrauti. Jis yra palyginti lengvas ir saugus, nes išleidžiami naujinimai

Kaip įdiegti „SteamCMD“ savo VPS

Kaip įdiegti „SteamCMD“ savo VPS

Šioje pamokoje mes įdiegsime SteamCMD. „SteamCMD“ galima naudoti norint atsisiųsti ir įdiegti daugybę „Steam“ žaidimų serverių, tokių kaip „Counter-Strike: Global Offensiv“

Teamspeak 3 serverio paleidimas CentOS 6.4

Teamspeak 3 serverio paleidimas CentOS 6.4

Vykdykite šias komandas, kad įdiegtumėte Teamspeak 3 serverį. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Kaip įdiegti „Left 4 Dead Server“ „CentOS 7“.

Kaip įdiegti „Left 4 Dead Server“ „CentOS 7“.

Šiame vadove paaiškinsiu, kaip įdiegti ir konfigūruoti L4D serverį CentOS 7. „Left 4 Dead“ diegimas Prieš pradėdami, turime įsitikinti, kad

Kaip įdiegti „Minecraft“ serverį „Ubuntu 14.04“.

Kaip įdiegti „Minecraft“ serverį „Ubuntu 14.04“.

Naudojate kitą sistemą? Šiame straipsnyje mes ketiname įdiegti Minecraft serverį Ubuntu. Įsitikinkite, kad esate prisijungę naudodami vartotoją, kuris nėra

Kaip įdiegti SA-MP San Andreas Multiplayer CentOS 7

Kaip įdiegti SA-MP San Andreas Multiplayer CentOS 7

Šiame vadove sužinosite, kaip nustatyti SA-MP (San Andreas Multiplayer) serverį CentOS 7.

Nustatykite TeeWorlds serverį

Nustatykite TeeWorlds serverį

TeeWorlds yra nemokamas atvirojo kodo internetinis kelių žaidėjų šaudyklės žaidimas. Šiame vadove aš paaiškinsiu, kaip sukurti TeeWorlds serverį. Šie žingsniai buvo

Paleiskite savo „Arma 3“ serverį „Ubuntu 14“.

Paleiskite savo „Arma 3“ serverį „Ubuntu 14“.

Apžvalga Šis vadovas apims jūsų Arma 3 serverio diegimą ir veikimą naudojant SteamCMD ir ekraną. Norėdami gauti papildomos informacijos apie th

Kaip įdiegti „Tekkit Classic“ serverį „CentOS 6/7“.

Kaip įdiegti „Tekkit Classic“ serverį „CentOS 6/7“.

Naudojate kitą sistemą? Šioje pamokoje sukurkite „Tekkit Classic“ serverį. „Tekkit“ yra dar vienas populiarus „Minecraft“ modifikacijų paketas. Dėl sumos

Kaip įdiegti „Glowstone“ („Minecraft“) „CentOS 7“ serveryje

Kaip įdiegti „Glowstone“ („Minecraft“) „CentOS 7“ serveryje

Naudojate kitą sistemą? Įvadas „Glowstone“ yra neabejotinai labiausiai optimizuotas „Minecraft“ serveris. Programinė įranga pasižymi mažu atminties naudojimu ir naudojimu

Kaip įdiegti „Unturned“ sistemoje „Linux“.

Kaip įdiegti „Unturned“ sistemoje „Linux“.

Naudojate kitą sistemą? Įvadas Šiame vadove sužinosite, kaip nustatyti ir įdiegti Unturned serverį Linux sistemoje. Unturned yra populiarus išgyvenimas

JC2:MP žaidimų serverio nustatymas Debiane

JC2:MP žaidimų serverio nustatymas Debiane

Šiame vadove mes nustatysime „Just Cause 2: Multiplayer Linux“ serverį. Šios komandos buvo išbandytos Debian 7 x64, tačiau jos taip pat turėtų veikti su th

Įdiekite „Minecraft“ serverį „Fedora 26“.

Įdiekite „Minecraft“ serverį „Fedora 26“.

Naudojate kitą sistemą? Šioje pamokoje aš padėsiu jums nustatyti „Minecraft“ serverį didelio našumo SSD VPS „Vultr“. Jūs išmoksite ho

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį