Minecraft-palvelimen viiveen ja alhaisen TPS:n diagnosointi

Kuinka Minecraft toimii (mikä aiheuttaa viivettä?)

Avain viiveen aiheuttajan ymmärtämiseen on ymmärtää, miten Minecraft toimii. Kaikki Minecraft-palvelinohjelmistot toimivat samanlaisissa asioissa yhdellä keskeisellä ongelmalla: pääpelisilmukalla ei ole monisäikeisyyttä tai ajoitusrajoituksia. Kun palvelin siirtyy ticiin, se käy läpi jokaisen TileEntity-päivityksen, entiteettipäivityksen, lohkopäivityksen, tapahtumat ja muut prosessit, kunnes se on valmis. Tämä kaikki tapahtuu yhdessä säikeessä, eikä seuraava silmukka voi alkaa ennen kuin nykyinen on päättynyt. Maailma ei päivity, pelaajat eivät näytä liikkuvan ja entiteetit jäätyvät paikoilleen. Ihannetapauksessa kukin tikki saa kestää enintään 50 ms ylläpitääkseen 20 ticiä sekunnissa (TPS). Tämä voi mennä niinkin alhaiseksi kuin 55,55 ms 18 TPS:llä ilman ongelmia. Jos tämä on pienempi, alat nähdä viivettä.

Tyypillisiä viiveen syitä

On monia asioita, jotka voivat aiheuttaa viivettä, mutta muutamat niistä ovat todennäköisimpiä syyllisiä useimmille palvelimille.

  • Tiedostojen käyttö : Mikä tahansa laajennus, joka lukee jatkuvasti soitintiedostoja, erityisesti tapahtumissa, kuten liikkeessä, vaurioissa tai vuorovaikutuksessa. Muutamia esimerkkejä ovat PVP-liput tai Glow-laajennukset, jotka lukevat jatkuvasti soitintiedostoista.
  • Litteät tiedostot tietokantana : Jos sinulla on laajennuksia, jotka käyttävät suuria tiedostoja pitämään kirjaa paljon tiedoista, jotka toistuvat kyseisen tiedoston läpi tai muistissa tallennustavasta riippuen, kestää kauan. Monet laajennukset tekevät tämän eivätkä ryhdy varotoimiin, jotta tietokantojen turvotessa käsittelyaika vaikuttaa palvelimien toimintaan. Näet tämän paljon, kun lataat suuria MagicSpells-konfiguraatioita tai käytät YAML:ää käyttäviä käyttöoikeusjärjestelmiä oikean tietokannan, kuten PEX ja GroupManager, sijaan.
  • Liian monta toimintoa : Kun laajennus synnyttää liian monta kokonaisuutta tai yrittää suorittaa monimutkaisia ​​tehtäviä tapahtumissa, kuten liikkeessä, alat nähdä viivettä. Vaikka jokainen ajo kestää alle 1 ms, kun käsittelet tapahtumaa 20 000 kertaa sekunnissa, siitä tulee eksponentiaalinen. Lisäosia, jotka voivat aiheuttaa tämän, ovat maailman muokkauslaajennukset, kuten VoxelSniper ja WorldEdit; tai suojauslaajennuksia, kuten Anti Cheats ja World Protections.
  • Liian monta kappaletta ladattu : Yksi pala on 16*16*256. Tämä ei ehkä kuulosta paljolta, mutta kerrottuna se tarkoittaa, että lohkoa kohti on 65 536 lohkoa. Jokaisen pelaajan ympärille voi olla ladattu yli 200 palaa kokoonpanostasi riippuen. Se on yli 13 107 200 lohkoa. Tämä vie paljon muistia. Lisäksi, jos jopa 1 % niistä on TileEntityjä, ladattuina on 131 072 TileEntityä, joiden on päivitettävä jokainen tic. Modit ovat tunnettuja hitaista käsittelyajoista TileEntitiesissä.
  • Cascading WorldGen : Tämä on, kun liitännäinen tai modi luo rakenteita sille annetun palan ulkopuolelle. Tämä saa seuraavan kappaleen latautumaan, luomaan ja sitten käynnistämään tämän uudestaan, jos se myös alkaa vuotaa rakenteita seuraavaan kappaleeseen. Tämä on huono suunnittelu tekijöiden puolesta, ja kaikki tämän tekevät laajennukset tai modit tulisi poistaa välittömästi.
  • Laatta yhteisöt : Katso LagGoggles osiosta.

Viiveen syyn löytäminen on nykyään yleensä yksinkertainen toimenpide, koska useimmat Minecraft-palvelinohjelmistot on rakennettu profilointityökaluilla.

Spigot/PaperSpigotin ajoitusraportit

Saadaksesi yksityiskohtaisen ajoitusraportin voit käyttää follow-komentoa.

/timings on

Haluat odottaa muutaman minuutin ja antaa sen viivästyä, kun ajoitus on käynnissä. Luo raportti hetken kuluttua.

/timings paste

Tämä antaa sinulle linkin verkkosivustolle, jossa on hieno erittely raportista ja helppoja vaihtoehtoja seuloa kaikki saamasi tiedot. Saat lisätietoja siitä, miten lukea nämä klo Hana n ajoitus wiki .

Haluat laittaa ajoitukset pois päältä jälkeenpäin, koska et halua roskatietojen tukkivan seuraavaa lukemaasi, ja ajoitukset lisäävät tikkiin aikaa.

/timings off

Spongen ajoitusraportit

Saadaksesi yksityiskohtaisen ajoitusraportin voit käyttää follow-komentoa.

/sponge timings on

Haluat odottaa muutaman minuutin ja antaa sen viivästyä, kun ajoitus on käynnissä. Luo raportti hetken kuluttua.

/sponge timings report

Tämä antaa sinulle linkin verkkosivustolle, jossa on hieno erittely raportista ja helppoja vaihtoehtoja seuloa kaikki saamasi tiedot. Koska Spongen ajoitusjärjestelmä perustuu Spigot'siin, voit oppia lisää näiden lukemisesta Spigotin ajoituswikistä .

Haluat laittaa ajoitukset pois päältä jälkeenpäin, koska et halua roskatietojen tukkivan seuraavaa lukemaasi, ja ajoitukset lisäävät tikkiin aikaa.

/sponge timings off

Voit myös nollata ajoitukset.

/sponge timings reset

Toimenpiteet viiveen vähentämiseksi

  • Käytä oikeita argumentteja komentosarjatiedostollesi käynnistääksesi Minecraft. Lue lisää sopivista Java-argumenteista täältä
  • Käytä LuckPermsiä tai käyttöoikeuksien hallintaohjelmaa, joka käyttää oikeaa tietokantaa tasaisen tiedoston sijaan
  • Vältä palokuormaajia kokonaan
  • Poista kaikki, mikä aiheuttaa peräkkäistä maailmansukupolvea
  • Rajoita Anti Cheat -laajennuksia olemaan liian innokas
  • Rajoita pelaajien katseluetäisyyttä server.properties
  • Poista vihamieliset väkijoukot tietyn ajan kuluttua
  • Käynnistä palvelin päivittäin uudelleen puhdistaaksesi Java-vuodot
  • ÄLÄ KOSKAAN lataa palvelinta uudelleen, tämä aiheuttaa vuotoja ja muita ongelmia
  • Käytä FastAsync-versioita laajennuksista, kuten WorldEdit ja VoxelSniper
  • Rajoita maailmasi kokoa, jotta uusia paloja ei synny jatkuvasti
  • Rajoita käyttämiesi lisäosien määrää. Kaikkia laajennuksia ei ole rakennettu hyvin, ja mitä enemmän sinulla on, sitä enemmän ongelmia kohtaat

LagGoggles

Suuri osa modifioitujen palvelimien viiveestä tulee ruutukokonaisuuksista. Nämä ovat lohkoille luotuja entiteettejä, joita käytetään lohkon toimintojen ja tapahtumien käsittelyyn. Jos nämä kestävät liian kauan tai niitä on liikaa, se voi pidentää tic-aikaa ja laskea palvelimen kokonais-TPS:ää. Yksi tapa visualisoida nämä ongelmat on käyttää LagGoggles-nimistä modia. Voit ladata tämän modin CurseForcesta .


Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Käytätkö erilaista järjestelmää? Mikä on Tekkit Classic? Tekkit Classic on modack peliin, jonka kaikki tuntevat ja rakastavat; Minecraft. Se sisältää joitain ver

Asenna 7 Days to Die Server Ubuntu 14:ssä

Asenna 7 Days to Die Server Ubuntu 14:ssä

Tässä oppaassa opit asentamaan oman 7 Days to Die -palvelimesi (7D2D) Ubuntuun. Huomaa, että tämä peli on vielä varhainen pääsy ja että th

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Half Life 2 -palvelimen määrittäminen CentOS 6:lle

Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou

Counter-Strike Global Offensive Server Launcher Ubuntussa

Counter-Strike Global Offensive Server Launcher Ubuntussa

Ne, joilla on kokemusta omistetun CS:GO:n (Counter-Strike: Global Offensive) määrittämisestä, tietävät, että komentorivikäyttöliittymän hallintaprosessi

Counter Strike -ohjelman käyttöönotto: Lähde Debianissa

Counter Strike -ohjelman käyttöönotto: Lähde Debianissa

Tässä oppaassa asennamme Counter Strike: Source -pelipalvelimen Debian 7:lle. Nämä komennot testattiin Debian 7:ssä, mutta niiden pitäisi myös toimia.

Unturned 2.2.5:n asentaminen Debian 8:aan

Unturned 2.2.5:n asentaminen Debian 8:aan

Tässä oppaassa opit asentamaan Unturned 2.2.5 -palvelimen Vultr VPS:ään, jossa on Debian 8. Huomautus: Tämä on muokattu versio Unturnedista, joka ei

Kuinka asentaa Cuberite CentOS 6- tai 7-palvelimelle

Kuinka asentaa Cuberite CentOS 6- tai 7-palvelimelle

Johdanto Mikä Cuberite on? Cuberite on skaalautuva, avoimen lähdekoodin Minecraft-palvelintoteutus, joka on kirjoitettu C++:lla. Siinä on helppokäyttöinen liitin

Teamspeakin asentaminen CentOS 7:ään

Teamspeakin asentaminen CentOS 7:ään

Teamspeak on VOIP-palvelin, jota voidaan käyttää tiimien/useiden ihmisten väliseen viestintään. Se on suhteellisen kevyt ja turvallinen, kun päivityksiä julkaistaan

Kuinka asentaa SteamCMD VPS:ään

Kuinka asentaa SteamCMD VPS:ään

Tässä opetusohjelmassa asennamme SteamCMD:n. SteamCMD:llä voidaan ladata ja asentaa monia Steam-pelipalvelimia, kuten Counter-Strike: Global Offensiv

Teamspeak 3 -palvelimen käynnistäminen CentOS 6.4:ssä

Teamspeak 3 -palvelimen käynnistäminen CentOS 6.4:ssä

Asenna Teamspeak 3 -palvelin suorittamalla seuraavat komennot. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Left 4 Dead Serverin asentaminen CentOS 7:ään

Left 4 Dead Serverin asentaminen CentOS 7:ään

Tässä oppaassa selitän kuinka L4D-palvelin asennetaan ja määritetään CentOS 7:ssä. Left 4 Deadin asentaminen Ennen kuin aloitamme, meidän on varmistettava, että

Minecraft-palvelimen asentaminen Ubuntu 14.04:ään

Minecraft-palvelimen asentaminen Ubuntu 14.04:ään

Käytätkö erilaista järjestelmää? Tässä artikkelissa aiomme asentaa Minecraft-palvelimen Ubuntuun. Varmista, että olet kirjautunut sisään sellaisen käyttäjän alaisuudessa, joka ei ole

Kuinka asentaa SA-MP San Andreas -moninpeli CentOS 7:ään

Kuinka asentaa SA-MP San Andreas -moninpeli CentOS 7:ään

Tässä opetusohjelmassa opit asentamaan SA-MP (San Andreas Multiplayer) -palvelimen CentOS 7:ssä.

Asenna TeeWorlds-palvelin

Asenna TeeWorlds-palvelin

TeeWorlds on ilmainen ja avoimen lähdekoodin online-moninpeli-räiskintäpeli. Tässä opetusohjelmassa aion selittää, kuinka TeeWorlds-palvelin luodaan. Nämä vaiheet olivat

Suorita oma Arma 3 -palvelin Ubuntu 14:ssä

Suorita oma Arma 3 -palvelin Ubuntu 14:ssä

Yleiskatsaus Tämä opas kattaa Arma 3 -palvelimesi asennuksen ja käytön SteamCMD:n ja näytön avulla. Lisätietoja aiheesta th

Tekkit Classic -palvelimen asentaminen CentOS 6/7 -käyttöjärjestelmään

Tekkit Classic -palvelimen asentaminen CentOS 6/7 -käyttöjärjestelmään

Käytätkö erilaista järjestelmää? Tässä opetusohjelmassa voit luoda Tekkit Classic -palvelimen. Tekkit on toinen suosittu Minecraftille tehty modpack. Summan takia

Kuinka asentaa Glowstone (Minecraft) CentOS 7 -palvelimelle

Kuinka asentaa Glowstone (Minecraft) CentOS 7 -palvelimelle

Käytätkö erilaista järjestelmää? Johdanto Glowstone on epäilemättä optimoiduin palvelin Minecraftille. Ohjelmiston muistin käyttö ja käyttö on vähäistä

Kuinka asentaa Unturned Linuxiin

Kuinka asentaa Unturned Linuxiin

Käytätkö erilaista järjestelmää? Johdanto Tässä oppaassa opit asentamaan ja asentamaan Unturned-palvelimen Linuxiin. Unturned on suosittu selviytymiskeino

JC2:MP-pelipalvelimen asentaminen Debianissa

JC2:MP-pelipalvelimen asentaminen Debianissa

Tässä oppaassa määritämme Just Cause 2: Multiplayer Linux -palvelimen. Nämä komennot testattiin Debian 7 x64:ssä, mutta niiden pitäisi toimia myös th

Asenna Minecraft-palvelin Fedora 26:een

Asenna Minecraft-palvelin Fedora 26:een

Käytätkö erilaista järjestelmää? Tässä opetusohjelmassa opastan sinua Minecraft-palvelimen määrittämisessä korkean suorituskyvyn SSD VPS:lle Vultrissa. Opit kyllä

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja