Diagnose van Minecraft Server Lag en lage TPS

Hoe Minecraft werkt (wat veroorzaakt vertraging?)

De sleutel om te begrijpen wat vertraging veroorzaakt, is om te begrijpen hoe Minecraft werkt. Minecraft-serversoftware werkt allemaal op een vergelijkbare manier met één belangrijk probleem: er zijn geen multi-threading of timinglimieten voor de hoofdgame-loop. Wanneer de server naar tic gaat, doorloopt hij elke TileEntity-update, entiteitsupdate, blokupdate, gebeurtenissen en andere processen totdat hij klaar is. Dit gebeurt allemaal op één thread en de volgende lus kan niet starten totdat de huidige is afgelopen. De wereld wordt niet bijgewerkt, spelers lijken niet te bewegen en entiteiten worden op hun plaats bevroren. In het ideale geval duurt elke tic niet meer dan 50 ms om 20 Tics Per Second (TPS) te behouden. Dit kan zo laag gaan als 55.55ms voor 18 TPS met minimale problemen. Lager dan dit en je zult vertraging zien.

Typische oorzaken van vertraging

Er zijn veel dingen die vertraging kunnen veroorzaken, maar een paar hiervan zijn de meest waarschijnlijke boosdoener voor de meeste servers.

  • Bestandsgebruik : elke plug-in die constant uit spelerbestanden leest, vooral bij gebeurtenissen zoals beweging, schade of interactie. Een paar voorbeelden zijn enkele PVP-vlaggen of Glow-plug-ins die continu worden gelezen uit spelerbestanden.
  • Platte bestanden als database : als u plug-ins hebt die grote bestanden gebruiken om bij te houden hoeveel gegevens zich herhalen in dat bestand of in het geheugen, afhankelijk van hoe het is opgeslagen, duurt het lang. Veel plug-ins doen dit en nemen geen voorzorgsmaatregelen tegen hoe, wanneer de databases opgeblazen raken, de verwerkingstijd de server-tic zal beïnvloeden. Je zult dit veel zien bij het laden van grote MagicSpells-configuraties of bij het gebruik van machtigingensystemen die YAML gebruiken in plaats van een goede database zoals PEX en GroupManager.
  • Te veel bewerkingen : wanneer een plug-in te veel entiteiten voortbrengt of probeert complexe taken uit te voeren op gebeurtenissen zoals beweging, zul je vertraging zien. Zelfs als elke run minder dan 1 ms duurt, wordt het exponentieel wanneer u een gebeurtenis 20.000 keer per seconde verwerkt. Plug-ins die dit kunnen veroorzaken zijn plug-ins voor wereldbewerking zoals VoxelSniper en WorldEdit; of beschermingsplug-ins zoals Anti Cheats en Wereldbeschermingen.
  • Te veel brokken geladen : één brok is 16*16*256. Dit klinkt misschien niet veel, maar als het wordt vermenigvuldigd, betekent dit dat er 65.536 blokken per stuk zijn. Elke speler kan meer dan 200 brokken om zich heen hebben, afhankelijk van je configuratie. Dat is meer dan 13.107.200 blokken. Dit kost veel geheugen. Als zelfs maar 1% daarvan TileEntities zijn, zijn er 131.072 TileEntities geladen die elke tic moeten bijwerken. Mods zijn berucht vanwege de trage verwerkingstijden op TileEntities.
  • Cascading WorldGen : Dit is wanneer een plug-in of mod structuren genereert buiten het deel dat het wordt gegeven. Dit zorgt ervoor dat het volgende stuk wordt geladen, gegenereerd en vervolgens helemaal opnieuw wordt geactiveerd als het ook structuren begint te laten overlopen in het volgende stuk. Dit is een slecht ontwerp namens de makers en elke plug-in of mod die dit doet, moet onmiddellijk worden verwijderd.
  • Tile-entiteiten : Zie LagGoggles- sectie hieronder.

Het vinden van de oorzaak van lag is tegenwoordig over het algemeen een eenvoudige procedure, aangezien de meeste Minecraft-serversoftware is gebouwd met profileringstools.

Timingsrapporten voor Spigot / PaperSpigot

Om een ​​gedetailleerd timingsrapport te krijgen, kunt u de volgopdracht gebruiken.

/timings on

Je wilt een paar minuten wachten en het laten wachten terwijl je timings lopen. Genereer na een tijdje het rapport.

/timings paste

Dit geeft u een link naar een website met een mooie uitsplitsing van het rapport met eenvoudige opties om door alle gegevens te bladeren die u krijgt. U kunt meer over hoe u deze lezen op Spigot te leren timing wiki .

U zult de timings achteraf willen uitschakelen, omdat u niet wilt dat ongewenste data uw volgende meting verstoppen, en timings voegt extra tijd toe aan de tic.

/timings off

Timingsrapporten voor spons

Om een ​​gedetailleerd timingsrapport te krijgen, kunt u de volgopdracht gebruiken.

/sponge timings on

Je wilt een paar minuten wachten en het laten wachten terwijl je timings lopen. Genereer na een tijdje het rapport.

/sponge timings report

Dit geeft u een link naar een website met een mooie uitsplitsing van het rapport met eenvoudige opties om door alle gegevens te bladeren die u krijgt. Sinds Sponge's timings systeem is gebaseerd off van spon is kunt u meer over hoe u deze lezen op Spigot te leren timing wiki .

U zult de timings achteraf willen uitschakelen, omdat u niet wilt dat ongewenste data uw volgende meting verstoppen, en timings voegt extra tijd toe aan de tic.

/sponge timings off

U kunt ook de timings opnieuw instellen.

/sponge timings reset

Stappen om vertraging te verminderen

  • Gebruik de juiste argumenten voor uw scriptbestand om Minecraft te starten. Meer informatie over de juiste Java argumenten hier
  • Gebruik LuckPerms of een Permissions-manager die een goede database gebruikt in plaats van een plat bestand
  • Vermijd totaal laders
  • Verwijder alles dat trapsgewijze wereldgeneratie veroorzaakt
  • Beperk Anti Cheat-plug-ins om niet overijverig te zijn
  • Beperk de kijkafstand van spelers in server.properties
  • Schakel vijandige mobs uit na een bepaalde periode
  • Start de server dagelijks opnieuw op om lekken van Java op te ruimen
  • Laad de server NOOIT opnieuw, dit veroorzaakt lekken en andere problemen
  • Gebruik FastAsync-versies van plug-ins zoals WorldEdit en VoxelSniper
  • Beperk de grootte van uw wereld zodat er niet constant nieuwe brokken worden gemaakt
  • Beperk het aantal plug-ins dat u gebruikt. Niet alle plug-ins zijn goed gebouwd en hoe meer je hebt, hoe meer problemen je tegenkomt

LagGoggles

Een groot deel van de vertraging op gemodificeerde servers komt van tegelentiteiten. Dit zijn de entiteiten die zijn gemaakt voor blokken die worden gebruikt voor het verwerken van de functionaliteit en gebeurtenissen van het blok. Als deze te lang duren of als er te veel zijn, kan dit de tijd per tic verlengen waardoor de totale server-TPS wordt verlaagd. Een manier om deze problemen te visualiseren, is door een mod genaamd LagGoggles te gebruiken. Je kunt deze mod downloaden van CurseForce .

Laat een reactie achter

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.