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 .



McMyAdmin installeren op Ubuntu 14.10

McMyAdmin installeren op Ubuntu 14.10

McMyAdmin is een Minecraft-serverbedieningspaneel dat wordt gebruikt om uw server te beheren. Hoewel McMyAdmin gratis is, zijn er meerdere edities, waarvan sommige pai zijn

Hoe Left 4 Dead 2 Server op Ubuntu in te stellen

Hoe Left 4 Dead 2 Server op Ubuntu in te stellen

In deze zelfstudie leert u hoe u een Left 4 Dead 2-server op Ubuntu instelt. Deze handleiding is getest op Ubuntu-server 15.10. Vereisten Update th

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

In deze tutorial leer je goed hoe je een Just Cause 2 multiplayer-server opzet. Vereisten Zorg ervoor dat het systeem volledig is bijgewerkt voordat we beginnen

Hoe Starbound Server op CentOS 7 te installeren

Hoe Starbound Server op CentOS 7 te installeren

Gebruikt u een ander systeem? In deze tutorial leg ik uit hoe je een Starbound-server instelt op CentOS 7. Vereisten Je moet dit spel op je hebben

Hoe Unturned op Linux te installeren

Hoe Unturned op Linux te installeren

Gebruikt u een ander systeem? Inleiding In deze handleiding leert u hoe u een Unturned-server op Linux instelt en installeert. Unturned is een populaire overlevende

Hoe PufferPanel (gratis Minecraft-configuratiescherm) op CentOS 7 te installeren

Hoe PufferPanel (gratis Minecraft-configuratiescherm) op CentOS 7 te installeren

Introductie Installeer in deze tutorial PufferPanel op onze Vultr VPS. PufferPanel is een open source, gratis te gebruiken configuratiescherm om u te beheren

Stel 7 Days to Die Server in op Ubuntu 14

Stel 7 Days to Die Server in op Ubuntu 14

In deze gids leert u hoe u uw eigen 7 Days to Die-server (7D2D) op Ubuntu instelt. Houd er rekening mee dat dit spel nog steeds vroege toegang is en dat th

Stel PaperSpigot in op Ubuntu

Stel PaperSpigot in op Ubuntu

PaperSpigot is een hoogwaardige vork van Spigot die tot doel heeft gameplay en mechanische inconsistenties op te lossen. Papier bevat tal van unieke kenmerken en wijzigingen

Hoe Counter-Strike 1.6 Server op Linux te installeren

Hoe Counter-Strike 1.6 Server op Linux te installeren

Deze gids laat je zien hoe je een Counter-Strike: 1.6 server op Linux instelt. De stappen hier werken voor de meeste Linux-distributies die SteamCMD ondersteunen. Eerste

Unturned 2.2.5 installeren op CentOS 6

Unturned 2.2.5 installeren op CentOS 6

In deze handleiding leert u hoe u een Unturned 2.2.5-server instelt op een Vultr VPS met CentOS 6. Opmerking: Dit is een bewerkte versie van Unturned die niet

Stel een Team Fortress 2-server in op Arch Linux

Stel een Team Fortress 2-server in op Arch Linux

Deze tutorial legt uit hoe je een Team Fortress 2-server instelt op Arch Linux. Ik neem aan dat je bent ingelogd met een niet-root gebruikersaccount dat sudo-toegang heeft

Hoe een Tekkit Classic-server op Ubuntu 16.10 in te stellen

Hoe een Tekkit Classic-server op Ubuntu 16.10 in te stellen

Gebruikt u een ander systeem? Wat is Tekkit Classic? Tekkit Classic is een modpack voor het spel dat iedereen kent en leuk vindt; Minecraft. Het bevat een deel van de ver

Stel een Minecraft PE-server in op CentOS 6

Stel een Minecraft PE-server in op CentOS 6

Dit artikel leert je hoe je een Minecraft Pocket Edition-server instelt op CentOS 6. Het opzetten van een Minecraft PE-server is vrij eenvoudig. Installeer eerst th

Hoe Teamspeak 3 Server op Ubuntu 16.04 64-bit te installeren

Hoe Teamspeak 3 Server op Ubuntu 16.04 64-bit te installeren

Gebruikt u een ander systeem? Overzicht Ben je ziek van Discord / Skype? Ben je het zat om niet de volledige controle over je server te hebben? Of misschien komt het door het ontbreken van o

Hoe ARK Survival Evolved (ArkSE) op CentOS 7 te installeren

Hoe ARK Survival Evolved (ArkSE) op CentOS 7 te installeren

In deze tutorial leert u goed hoe u een ARK Survival-server instelt op CentOS 7. Vereisten ARK vereist een grote hoeveelheid geheugen. Ik raad aan om een ​​V te gebruiken

Hoe een tegenaanval te installeren: Global Offensive Server op Windows

Hoe een tegenaanval te installeren: Global Offensive Server op Windows

Inleiding In deze handleiding leert u hoe u een Counter-Strike: Global Offensive-server op Windows installeert. Vereisten Voordat we beginnen, youl

Counter Strike: Global Offensive op Debian opzetten

Counter Strike: Global Offensive op Debian opzetten

In deze handleiding gaan we een Counter Strike: Global Offensive-gameserver opzetten op Debian 7. Deze opdrachten zijn getest op Debian 7, maar ze zouden ook moeten

Unturned 2.2.5 installeren op Ubuntu 16.04

Unturned 2.2.5 installeren op Ubuntu 16.04

Gebruikt u een ander systeem? Inleiding In deze handleiding leert u hoe u een Unturned 2.2.5-server instelt op een Vultr VPS met Ubuntu 16.04. Opmerking: Thi

Een Reflex-server installeren op Windows

Een Reflex-server installeren op Windows

Introductie Reflex is een opkomende competitieve Arena FPS van Turbo Pixel Studios. Deze tutorial laat je zien hoe je je eigen Reflex-server kunt opzetten

Hoe een Minecraft-server op Ubuntu 18.04 in te stellen

Hoe een Minecraft-server op Ubuntu 18.04 in te stellen

Minecraft is nog steeds een van de populairste games ter wereld. Als je het spel speelt, speel je waarschijnlijk de hele tijd op servers. Deze gids is bedoeld om u les te geven

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.