FiveM-server optimaliseren: meer FPS en minder lag

FiveM-servers draaien op een tick rate van 64 per seconde (64 FPS). Elke tick berekent de server de posities van spelers, voertuigen, NPC's en de logica van al uw scripts. Zakt de FPS onder de 30, dan ervaren spelers desync: voertuigen die teleporteren, schoten die niet registreren en interacties die haperen.

Server FPS controleren

In txAdmin ziet u de server FPS op het dashboard. De ideale waarde is 64; alles boven 50 is acceptabel. Onder de 30 is er een serieus probleem.

De meest voorkomende oorzaken

1. Te veel of slecht geschreven scripts

De nummer-een oorzaak. Elke resource voert code uit bij elke tick. Een script dat 0.5 ms per tick kost klinkt onschuldig, maar met 100 scripts bent u al op 50 ms, wat de server beperkt tot 20 FPS.

Oplossing: gebruik het commando resmon 1 in de console (of txAdmin). Dit toont het CPU-verbruik per resource. Sorteer op verbruik en onderzoek de zwaarste scripts.

2. Client-side scripts die server-side draaien

Scripts die bedoeld zijn voor de client (UI, HUD, NPC-rendering) moeten in client.lua staan, niet in server.lua. Een client-side NPC-spawner die per ongeluk server-side draait berekent de NPC voor elke verbonden speler, wat de server overbelast.

3. Ongeoptimaliseerde database queries

Synchrone database-aanroepen blokkeren de server tot het antwoord terugkomt. Gebruik altijd asynchrone queries via oxmysql. Voeg indexes toe aan kolommen waar u op zoekt (identifier, citizenid). Een query zonder index op een tabel met 10.000 rijen is zichtbaar traag.

4. Te veel gestreamde assets

Custom voertuigen, kleding, kaarten en props moeten naar elke speler worden gestuurd. Honderden custom voertuigen en uitgebreide MLO's (map interiors) verhogen de laadtijd en het geheugengebruik.

Oplossing: verwijder ongebruikte assets. Comprimeer texturen. Overweeg een asset whitelist.

5. OneSync-instellingen

OneSync is het netwerksysteem van FiveM. Zonder OneSync is de spelerlimiet 32 en is de performance slechter. Zorg dat OneSync is ingeschakeld:

set onesync on

Infinity mode (set onesync legacy uitschakelen) schaalt beter bij veel spelers.

Optimalisatietips

  • Verwijder scripts die niemand gebruikt of die overlappende functionaliteit hebben.
  • Gebruik Wait() of Citizen.Wait() in loops. Een loop zonder wait draait elke tick en verspilt CPU.
  • Cache veelgebruikte waarden in plaats van ze elke tick op te halen.
  • Gebruik events en callbacks in plaats van polling (continu controleren of iets is veranderd).
  • Herstart de server dagelijks. FiveM-servers bouwen geheugen op door script-lekken.

Hoeveel scripts zijn te veel?

Er is geen vast getal. Het hangt af van de kwaliteit. Een server met 50 goed geschreven scripts kan beter presteren dan een met 20 slechte. Monitor met resmon en focus op de zwaarste resources.

Helpt meer RAM tegen lag?

Alleen als de lag veroorzaakt wordt door geheugengebrek (de server swapt naar schijf). In de meeste gevallen is CPU de bottleneck, niet RAM. Meer RAM helpt bij veel gestreamde assets, niet bij scriptperformance.

Kan ik de tick rate verlagen?

Nee. FiveM draait altijd op 64 ticks per seconde. Als de server dat niet haalt, zakt de FPS. De oplossing is het verminderen van de belasting, niet het verlagen van de verwachting.

FiveM-servers met gegarandeerde CPU draaien op de FiveM-pakketten van HostValues.


Komt u er niet uit? Open een support ticket, ons team helpt u graag verder.

Terug naar de blog