Diagnostisere Minecraft Server Lag og Lav TPS

Hvordan Minecraft fungerer (Hva forårsaker lag?)

Nøkkelen til å forstå hva som forårsaker lag er å forstå hvordan Minecraft fungerer. Minecraft-serverprogramvaren opererer i en lignende sak med ett nøkkelproblem: det er ingen flertråds- eller tidsbegrensninger for hovedspillsløyfen. Når serveren går til tic, kjører den gjennom hver TileEntity-oppdatering, enhetsoppdatering, blokkoppdatering, hendelser og andre prosesser til den er ferdig. Alt dette skjer på én tråd, og neste løkke kan ikke starte før den nåværende er ferdig. Verden vil ikke oppdateres, spillere vil ikke se ut til å bevege seg og enheter vil bli frosset på plass. Ideelt sett bør hver tic ikke ta mer enn 50 ms for å opprettholde 20 tics per sekund (TPS). Dette kan gå så lavt som 55,55 ms for 18 TPS med minimale problemer. Hvis du er lavere enn dette, vil du begynne å se etterslep.

Typiske årsaker til lag

Det er mange ting som kan forårsake lag, men noen få av dem vil være den mest sannsynlige synderen for de fleste servere.

  • Filbruk : Enhver plugin som konstant leser fra spillerfiler, spesielt ved hendelser som bevegelse, skade eller samhandling. Noen få eksempler kan være noen PVP-flagg eller Glow-plugins som kontinuerlig vil lese fra spillerfiler.
  • Flate filer som database : Når du har plugins som bruker store filer for å holde styr på masse data som itererer gjennom den filen eller i minnet, avhengig av hvordan den er lagret, vil det ta lang tid. Mange plugins gjør dette og tar ikke forholdsregler mot hvordan, når databasene blir oppblåste, vil behandlingstiden påvirke serverens tic. Du vil se dette mye når du laster opp store MagicSpells-konfigurasjoner, eller bruker tillatelsessystemer som bruker YAML i stedet for en skikkelig database som PEX og GroupManager.
  • For mange operasjoner : Når en plugin skaper for mange enheter, eller prøver å utføre komplekse oppgaver på hendelser som bevegelse, vil du begynne å se etterslep. Selv om hver kjøring tar mindre enn 1 ms, blir den eksponentiell når du behandler en hendelse 20 000 ganger i sekundet. Plugins som kan forårsake dette er verdensredigeringsplugins som VoxelSniper og WorldEdit; eller beskyttelsesplugins som Anti Cheats og World Protections.
  • For mange deler er lastet inn : En del er 16*16*256. Dette høres kanskje ikke så mye ut, men når det multipliseres ut betyr det at det er 65 536 blokker per del. Hver spiller kan ha mer enn 200 biter lastet rundt seg, avhengig av konfigurasjonen din. Det er oppover 13 107 200 blokker. Dette tar opp mye minne. Dessuten, hvis til og med 1 % av disse er TileEntities, er det 131 072 TileEntities lastet inn som må oppdateres hver tic. Mods er beryktet for å ha langsomme behandlingstider på TileEntities.
  • Cascading WorldGen : Dette er når en plugin eller mod genererer strukturer utenfor delen den er gitt. Dette får neste del til å laste, generere og så trigge dette på nytt hvis det også begynner å få strukturer over i neste del. Dette er dårlig design på vegne av skaperne, og enhver plugin eller modd som gjør dette bør fjernes umiddelbart.
  • Tile-enheter : Se LagGoggles- delen nedenfor.

Å finne årsaken til etterslep er generelt en enkel prosedyre i dag, da de fleste Minecraft-serverprogramvare er bygget med profileringsverktøy inkludert.

Tidsrapporter for Spigot/PaperSpigot

For å få en detaljert tidsrapport kan du bruke følg-kommandoen.

/timings on

Du vil ønske å vente noen minutter og la det ligge mens timingen kjører. Generer rapporten etter en stund.

/timings paste

Dette vil gi deg en lenke til et nettsted med en fin oversikt over rapporten med enkle alternativer for å sile gjennom alle dataene du får. Du kan lære mer om hvordan du leser disse på Spigots timing-wiki .

Du vil ønske å slå av tidtaking etterpå, siden du ikke vil at søppeldata skal tette igjen neste lesing, og tidtaking gir ekstra tid til tikken.

/timings off

Tidsrapporter for Sponge

For å få en detaljert tidsrapport kan du bruke følg-kommandoen.

/sponge timings on

Du vil ønske å vente noen minutter og la det ligge mens timingen kjører. Generer rapporten etter en stund.

/sponge timings report

Dette vil gi deg en lenke til et nettsted med en fin oversikt over rapporten med enkle alternativer for å sile gjennom alle dataene du får. Siden Sponges timing-system er basert på Spigots, kan du lære mer om hvordan du leser disse på Spigots timing-wiki .

Du vil ønske å slå av tidtaking etterpå, siden du ikke vil at søppeldata skal tette igjen neste lesing, og tidtaking gir ekstra tid til tikken.

/sponge timings off

Du kan også tilbakestille tidspunktene.

/sponge timings reset

Trinn for å redusere etterslep

  • Bruk riktige argumenter for skriptfilen din for å starte Minecraft. Lær mer om de aktuelle Java-argumentene her
  • Bruk LuckPerms eller en tillatelsesbehandling som bruker en riktig database i stedet for en flat fil
  • Unngå chunk loaders helt
  • Fjern alt som forårsaker gjennomgripende verdensgenerasjon
  • Begrens Anti Cheat-plugins til å ikke være overivrige
  • Begrens visningsavstanden for spillere i server.properties
  • Fjern fiendtlige mobber etter en bestemt tidsperiode
  • Start serveren på nytt daglig for å rydde opp i lekkasjer fra Java
  • ALDRI last inn serveren på nytt, dette forårsaker lekkasjer og andre problemer
  • Bruk FastAsync-versjoner av plugins som WorldEdit og VoxelSniper
  • Begrens størrelsen på din verden slik at det ikke hele tiden opprettes nye biter
  • Begrens mengden plugins du bruker. Ikke alle plugins er bygget godt, og jo flere du har, jo flere problemer kommer du til å støte på

LagGoggles

En stor del av etterslep på moddede servere kommer fra fliseenheter. Dette er enhetene som er opprettet for blokker som brukes til å behandle blokkens funksjonalitet og hendelser. Hvis disse tar for lang tid, eller det er for mange, kan det øke tiden per tic reduserer den totale server-TPS. En måte å visualisere disse problemene på er å bruke en mod kalt LagGoggles. Du kan laste ned denne moden fra CurseForce .


Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Hvordan sette opp en Tekkit Classic Server på Ubuntu 16.10

Bruker du et annet system? Hva er Tekkit Classic? Tekkit Classic er en modpack for spillet alle kjenner og elsker; Minecraft. Den inneholder noe av ver

Sett opp 7 Days to Die Server på Ubuntu 14

Sett opp 7 Days to Die Server på Ubuntu 14

I denne guiden lærer du hvordan du setter opp din egen 7 Days to Die-server (7D2D) på Ubuntu. Vær oppmerksom på at dette spillet fortsatt er tidlig tilgang og at th

Sette opp en Half Life 2-server på CentOS 6

Sette opp en Half Life 2-server på CentOS 6

Denne opplæringen vil dekke prosessen med å installere en Half Life 2-spillserver på CentOS 6 System. Trinn 1: Installere forutsetninger For å sette opp ou

Counter-Strike Global Offensive Server Launcher på Ubuntu

Counter-Strike Global Offensive Server Launcher på Ubuntu

De som har erfaring med å sette opp dedikert CS:GO (Counter-Strike: Global Offensive) vet at prosessen med å bruke kommandolinjegrensesnittet for å administrere

Sette opp Counter Strike: Source på Debian

Sette opp Counter Strike: Source på Debian

I denne veiledningen skal vi sette opp en Counter Strike: Source-spillserver på Debian 7. Disse kommandoene ble testet på Debian 7, men de bør også fungere o

Hvordan installere Unturned 2.2.5 på Debian 8

Hvordan installere Unturned 2.2.5 på Debian 8

I denne veiledningen lærer du hvordan du setter opp en Unturned 2.2.5-server på en Vultr VPS som kjører Debian 8. Merk: Dette er en redigert versjon av Unturned som ikke

Slik installerer du Cuberite på en CentOS 6- eller 7-server

Slik installerer du Cuberite på en CentOS 6- eller 7-server

Innledning Hva er Cuberite? Cuberite er en skalerbar Minecraft-serverimplementering med åpen kildekode som er skrevet i C++. Den har en brukervennlig plugi

Installere Teamspeak på CentOS 7

Installere Teamspeak på CentOS 7

Teamspeak er en VOIP-server som kan brukes for team/flere personer til å kommunisere. Den er relativt lett og sikker, ettersom oppdateringer er utgitt

Slik installerer du SteamCMD på din VPS

Slik installerer du SteamCMD på din VPS

I denne opplæringen vil vi installere SteamCMD. SteamCMD kan brukes til å laste ned og installere mange Steam-spillservere, for eksempel Counter-Strike: Global Offensiv

Starte en Teamspeak 3-server på CentOS 6.4

Starte en Teamspeak 3-server på CentOS 6.4

Kjør følgende kommandoer for å installere en Teamspeak 3-server. # Secure Iptables iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -

Slik installerer du Left 4 Dead Server på CentOS 7

Slik installerer du Left 4 Dead Server på CentOS 7

I denne veiledningen vil jeg forklare hvordan du installerer og konfigurerer en L4D-server på CentOS 7. Installere Left 4 Dead Før vi kommer i gang, må vi sørge for at

Hvordan installere en Minecraft-server på Ubuntu 14.04

Hvordan installere en Minecraft-server på Ubuntu 14.04

Bruker du et annet system? I denne artikkelen skal vi installere en Minecraft-server på en Ubuntu. Pass på at du er logget inn under en bruker som ikke er

Slik installerer du SA-MP San Andreas Multiplayer på CentOS 7

Slik installerer du SA-MP San Andreas Multiplayer på CentOS 7

I denne opplæringen lærer du hvordan du setter opp en SA-MP (San Andreas Multiplayer)-server på CentOS 7.

Sett opp TeeWorlds server

Sett opp TeeWorlds server

TeeWorlds er et gratis og åpen kildekode online flerspiller skytespill. I denne opplæringen skal jeg forklare hvordan du lager en TeeWorlds-server. Disse trinnene var

Kjør din egen Arma 3-server på Ubuntu 14

Kjør din egen Arma 3-server på Ubuntu 14

Oversikt Denne guiden vil dekke installasjonen og driften av din Arma 3-server ved hjelp av SteamCMD og skjerm. For ytterligere informasjon om th

Hvordan installere en Tekkit Classic Server på CentOS 6/7

Hvordan installere en Tekkit Classic Server på CentOS 6/7

Bruker du et annet system? I denne opplæringen kan du godt lage en Tekkit Classic-server. Tekkit er en annen populær modpack laget for Minecraft. På grunn av beløpet

Slik installerer du Glowstone (Minecraft) på en CentOS 7-server

Slik installerer du Glowstone (Minecraft) på en CentOS 7-server

Bruker du et annet system? Introduksjon Glowstone er utvilsomt den mest optimaliserte serveren for Minecraft. Programvaren har lav minnebruk og bruk

Hvordan installere Unturned på Linux

Hvordan installere Unturned på Linux

Bruker du et annet system? Introduksjon I denne veiledningen lærer du hvordan du setter opp og installerer en Unturned-server på Linux. Unturned er en populær overlevelse

Sette opp en JC2:MP-spillserver på Debian

Sette opp en JC2:MP-spillserver på Debian

I denne veiledningen vil vi sette opp en Just Cause 2: Multiplayer Linux-server. Disse kommandoene ble testet på Debian 7 x64, men de bør også fungere på th

Installer en Minecraft-server på Fedora 26

Installer en Minecraft-server på Fedora 26

Bruker du et annet system? I denne opplæringen vil jeg veilede deg gjennom å sette opp en Minecraft-server på en høyytelses SSD VPS på Vultr. Du vil lære ho

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer