Lag op je FiveM server vinden met resmon en de profiler

Zoek uit welke resource je FiveM server laat haperen, met de hitch warnings in de console, de grafiek in txAdmin, resmon en de profiler.

EliteStarHosting Team2 november 20263 min lezen

Haperen auto's, reageren scripts traag of loopt je server achter? Vaak zit het probleem in één resource. Met deze stappen vind je welke.

1. Hitch warnings in de console

In de console van het gamepaneel zie je bij vertraging regels zoals deze:

server thread hitch warning: timer interval of 250 milliseconds

Hoe hoger het getal, hoe langer de server bleef hangen. Een paar van deze meldingen tijdens het opstarten zijn normaal: dan laadt hij alles in. Komen ze steeds terug terwijl er spelers online zijn, dan houdt iets je server op. Soms staat er sync thread of network thread in plaats van server thread.

2. De grafiek in txAdmin

Klik bovenaan je serverpagina op Tx Admin. Op het dashboard van txAdmin staat een grafiek met de prestaties van je server naast het aantal spelers. Zo zie je wanneer het misgaat, maar nog niet door welke resource. Meer over txAdmin lees je in txAdmin openen en gebruiken.

De knop Tx Admin bovenaan je serverpagina

3. resmon in de game

resmon is de resource monitor van FiveM. Hij toont per resource hoeveel CPU-tijd en geheugen die op jouw computer gebruikt.

  1. Zet developer mode aan: voeg +set moo 31337 toe aan het doel van je FiveM-snelkoppeling.
  2. Join je server, druk op F8 en typ resmon true.
  3. Ga naar een plek waar het hapert en kijk welke resources bovenaan staan.
  4. Zet de monitor uit met resmon false.

Zonder developer mode krijg je Access denied for command resmon. Het update channel Beta van FiveM zet developer mode ook aan, maar kan minder stabiel zijn. Op FiveM voor GTA V Enhanced werkt +set moo 31337 niet: daar moet de server sv_devMode true hebben, en dan kunnen er maar 8 spelers op. Doe dat dus alleen op een testserver.

Een officiële grens is er niet. Een vuistregel van veel hosts: een resource die niets doet, blijft onder ongeveer 0,1 ms. Let vooral op resources die steeds bovenaan staan.

4. De profiler op de server

Voor de server zelf is er de profiler. Typ in de console van het gamepaneel, terwijl het hapert:

  1. profiler record 500 neemt 500 frames op.
  2. profiler status laat zien of de opname nog loopt.
  3. profiler saveJSON lag.json slaat de opname op als hij klaar is. Het bestand komt bij je serverbestanden; download het via Files.
  4. Open Google Chrome, druk op Ctrl + Shift + I en ga naar Performance. Klik met de rechtermuisknop in het paneel en kies Load profile.

Liever niet downloaden? Typ dan profiler view en open de link die de console geeft in Chrome.

In de gele grafiek, de CPU-tijd, zie je pieken. Zoom in op een piek met je scrollwiel en ga met je muis over de blokken van een resource. Je ziet dan hoeveel milliseconden die kostte, met het bestand en de regels in de code.

Tegen lage FPS bij spelers werkt de profiler ook in het F8-venster van de game.

Veelvoorkomende oorzaken

  • Lussen met Wait(0): een script dat elk frame iets controleert, ook als dat niet nodig is.
  • Trage databasequery's: een script dat heel vaak of heel grote query's naar de database stuurt.
  • Resources die je start maar niet gebruikt. Haal hun ensure-regels weg bij Resources in de server.cfg editor.
  • Heel grote texturebestanden (.ytd) van auto's, kleding of maps. Kies lichtere versies, zie Eigen auto's, maps en kleding toevoegen.

Gevonden welke resource het is? Zet hem tijdelijk uit en kijk of de lag verdwijnt. Zoek daarna een update of meld het bij de maker.