Diagnostisera Minecraft Server Lag och Låg TPS

Hur Minecraft fungerar (Vad orsakar fördröjning?)

Nyckeln till att förstå vad som orsakar fördröjning är att förstå hur Minecraft fungerar. Minecraft-servermjukvaran fungerar alla i en liknande fråga med ett nyckelproblem: det finns inga flertråds- eller tidsgränser för huvudspelsslingan. När servern går till tic körs den igenom varje TileEntity-uppdatering, enhetsuppdatering, blockuppdatering, händelser och andra processer tills den är klar. Allt detta sker på en tråd, och nästa loop kan inte starta förrän den nuvarande slutar. Världen kommer inte att uppdateras, spelare verkar inte röra sig och enheter kommer att frysas på plats. Helst bör varje tic inte ta mer än 50ms för att bibehålla 20 Tics per sekund (TPS). Detta kan gå så lågt som 55,55 ms för 18 TPS med minimala problem. Om du är lägre än så kommer du att börja se eftersläpning.

Typiska orsaker till eftersläpning

Det finns många saker som kan orsaka fördröjning men några av dem kommer att vara den mest troliga boven för de flesta servrar.

  • Filanvändning : Alla plugin som ständigt läser från spelarfiler, speciellt vid händelser som rörelse, skada eller interaktion. Några exempel skulle vara några PVP-flaggor eller Glow-plugins som kontinuerligt läser från spelarfiler.
  • Platta filer som en databas : När du har plugins som använder stora filer för att hålla reda på massor av data som itererar genom den filen eller i minnet beroende på hur den lagras kommer det att ta lång tid. Många plugins gör detta och vidtar inga försiktighetsåtgärder mot hur, när databaserna blir uppsvällda, bearbetningstiden kommer att påverka servrarnas tic. Du kommer att se detta mycket när du laddar upp stora MagicSpells-konfigurationer, eller använder behörighetssystem som använder YAML istället för en riktig databas som PEX och GroupManager.
  • För många operationer : När en plugin skapar för många enheter, eller försöker utföra komplexa uppgifter på händelser som rörelse, kommer du att börja se eftersläpning. Även om varje körning tar mindre än 1ms, när du bearbetar en händelse 20 000 gånger i sekunden blir den exponentiell. Insticksprogram som kan orsaka detta är plugins för världsredigering som VoxelSniper och WorldEdit; eller skyddsplugins som Anti Cheats och World Protections.
  • För många bitar laddade : En bit är 16*16*256. Detta kanske inte låter som mycket men när det multipliceras ut betyder det att det finns 65 536 block per bit. Varje spelare kan ha mer än 200 bitar laddade runt sig, beroende på din konfiguration. Det är uppåt 13 107 200 block. Detta tar upp mycket minne. Dessutom, om ens 1% av dessa är TileEntities så är det 131 072 TileEntities laddade som behöver uppdatera varje tic. Mods är ökända för att ha långsamma behandlingstider på TileEntities.
  • Cascading WorldGen : Det här är när en plugin eller mod genererar strukturer utanför den del som den ges. Detta får nästa del att ladda, generera och sedan trigga detta igen om det också börjar få strukturer att svämma över till nästa del. Detta är dålig design på uppdrag av skaparna och alla plugin eller mod som gör detta bör tas bort omedelbart.
  • Tile-enheter : Se avsnittet LagGoggles nedan.

Att hitta orsaken till fördröjning är i allmänhet en enkel procedur nuförtiden eftersom de flesta Minecraft-serverprogramvara är byggda med profileringsverktyg inkluderade.

Tidsrapporter för Spigot/PaperSpigot

För att få en detaljerad tidsrapport kan du använda kommandot följ.

/timings on

Du kommer att vilja vänta några minuter och låta det dröja medan dina tider körs. Efter ett tag, generera rapporten.

/timings paste

Detta ger dig en länk till en webbplats med en bra sammanfattning av rapporten med enkla alternativ för att sålla igenom all data du får. Du kan lära dig mer om hur du läser dessa på Spigots timingwiki .

Du kommer att vilja stänga av timings efteråt, eftersom du inte vill att skräpdata täpper till din nästa läsning, och timings lägger till ytterligare tid till tic.

/timings off

Tidsrapporter för Sponge

För att få en detaljerad tidsrapport kan du använda kommandot följ.

/sponge timings on

Du kommer att vilja vänta några minuter och låta det dröja medan dina tider körs. Efter ett tag, generera rapporten.

/sponge timings report

Detta ger dig en länk till en webbplats med en bra sammanfattning av rapporten med enkla alternativ för att sålla igenom all data du får. Eftersom Sponges tidsystem är baserat på Spigots kan du lära dig mer om hur du läser dessa på Spigots timingwiki .

Du kommer att vilja stänga av timings efteråt, eftersom du inte vill att skräpdata täpper till din nästa läsning, och timings lägger till ytterligare tid till tic.

/sponge timings off

Du kan också återställa tiderna.

/sponge timings reset

Åtgärder för att minska eftersläpningen

  • Använd korrekta argument för din skriptfil för att starta Minecraft. Läs mer om lämpliga Java-argument här
  • Använd LuckPerms eller en behörighetshanterare som använder en korrekt databas istället för en platt fil
  • Undvik chunk loaders helt och hållet
  • Ta bort allt som orsakar överlappande världsgenerering
  • Begränsa Anti Cheat-plugins för att inte vara övernitiska
  • Begränsa visningsavståndet för spelare i server.properties
  • Rensa fientliga mobbar efter en viss tidsperiod
  • Starta om servern dagligen för att rensa upp läckor från Java
  • Ladda ALDRIG om servern, detta orsakar läckor och andra problem
  • Använd FastAsync-versioner av plugins som WorldEdit och VoxelSniper
  • Begränsa storleken på din värld så att nya bitar inte hela tiden skapas
  • Begränsa mängden plugins du använder. Alla plugins är inte välbyggda och ju fler du har desto fler problem kommer du att stöta på

Lagglasögon

En stor del av fördröjningen på modderade servrar kommer från tile-enheter. Dessa är entiteterna som skapas för block som används för att bearbeta blockets funktionalitet och händelser. Om dessa tar för lång tid eller om det finns för många kan det öka tiden per tic för att få ner den totala serverns TPS. Ett sätt att visualisera dessa problem är att använda en mod som heter LagGoggles. Du kan ladda ner denna mod från CurseForce .

Spelservrar, Minecraft

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer