Gids
De FiveM-limiet van 48 spelers en wat OneSync verandert
Bijna elke eigenaar van een FiveM-server komt vroeg of laat het getal 48 tegen: het is de standaardwaarde in de voorbeeldconfig, en het maximum dat een server aankan zonder betaald Cfx.re-abonnement. Deze gids legt uit waar de limiet vandaan komt, wat OneSync verandert aan de manier waarop het spel synchroniseert, wat je nodig hebt om voorbij 48 te gaan, en wat er dan verandert voor je scripts en je server. Hij volgt de Cfx.re-documentatie zoals die er in november 2026 uitziet.
Door het Evorxa-teamGepubliceerd
Waar de 48 vandaan komt
Bij 48 komen twee regels samen. De eerste is technisch. De referentie van servercommando's zegt dat sv_maxClients 1 tot 2048 accepteert, maar dat waarden vanaf 32 vereisen dat onesync op on of legacy staat, en dat waarden boven 64 vereisen dat het op on staat. Zonder OneSync gebruikt het spel zijn oorspronkelijke peer-to-peermodel en stuurt de server alleen verkeer door.
De tweede regel is de licentie. Volgens de OneSync-documentatie is OneSync gratis tot 48 slots. Daarboven heb je een abonnement nodig op het Cfx Portal, vanaf het niveau dat Element Club Argentum heet. De pagina over serverproblemen van Cfx.re zegt hetzelfde: voor meer dan 48 slots heb je Element Club Argentum of hoger nodig.
Let op: Hoeveel slots elk niveau toestaat, bepaalt Cfx.re en staat op de abonnementenpagina van het Portal. Controleer het daar voordat je een niveau of een servergrootte koopt, want het kan veranderen.
Wat OneSync verandert
OneSync is het eigen synchronisatiesysteem van Cfx.re voor GTA V. In plaats van dat clients elkaar over de wereld vertellen, houdt de server de staat van entities bij (spelers, voertuigen, peds, objecten) en beslist hij welke client welke data krijgt. De convar onesync heeft drie waarden:
off: geen state awareness. Clients gebruiken de peer-to-peernetwerking van het spel en de server is alleen een doorgeefluik.on: volledige state awareness en entity routing die de server bepaalt. Dit is de modus die je gebruikt.legacy: een compatibiliteitsmodus voor scripts die verwachten dat elke speler op elke client bestaat. Cfx.re raadt hem af vanwege prestatieproblemen en grafische glitches.
Op FiveM for GTAV Enhanced is er geen keuze meer: het gebruikt een client-servermodel, en OneSync big mode is de enige modus.
Infinity en culling
OneSync Infinity is het onderdeel dat grote servers mogelijk maakt, en onesync_enableInfinity staat standaard aan. Cfx.re vermeldt ondersteuning voor maximaal 2048 spelers en zegt dat er servers zijn met meer dan 1000 spelers tegelijk. Infinity verhoogde de limiet op object-ID's van 8192 naar 65535 en voegde culling toe: clients maken geen spelers of entities aan buiten een focuszone van 424 units rond de speler. Daarom moet de server, niet de client, van iedereen weten, en daarom moeten loops over spelers op de server draaien.
Licentiesleutels en voorbij 48 gaan
Elke openbare server heeft een licentiesleutel nodig van portal.cfx.re, ingesteld met sv_licenseKey. Als je de server met txAdmin opzet, vraagt de recipe deployer erom; op een kale FXServer gaat de sleutel in server.cfg. Een minimaal blok voor een server tot 48 spelers, in lijn met de voorbeeld-server.cfg:
# license key from portal.cfx.re
sv_licenseKey "your-license-key"
# server-side state awareness and entity routing
set onesync on
# the free limit
sv_maxclients 48Om voorbij 48 te gaan, noemt de pagina over serverproblemen drie stappen: gebruik de nieuwste serverbuild, zet sv_maxclients boven 48 binnen je abonnementsniveau, en herstart.
# 1. update FXServer to the current recommended build
# 2. raise the slot count to what your subscription tier allows
sv_maxclients 64 # example value
# 3. restart the serverDe installatiehandleidingen wijzen ook op een veelgemaakte fout: als de console zegt dat er geen licentiesleutel is opgegeven, draai je de server meestal vanuit de verkeerde map of zonder +exec server.cfg, waardoor de regel met de sleutel nooit is gelezen.
Voor een privé-testserver is er sv_lan true. Volgens de referentie maakt dat de server alleen bereikbaar via LAN: hij verschijnt niet in de openbare serverlijst en de controles van de licentiesleutel worden overgeslagen. Dat is geschikt om scripts op je eigen machine te testen, niet voor een server waar spelers via internet op komen.
Routing buckets
Routing buckets, toegevoegd in serverpipeline 3245, splitsen één server op in aparte werelden. Een speler of entity in een bucket ziet alleen spelers en entities in dezelfde bucket, en elke bucket heeft een eigen grid voor populatie. Cfx.re stelt ze voor voor servers met meerdere modi, voor sessies of party's, en voor schermen voor karakterselectie. Cfx.re zegt uitdrukkelijk dat ze niet bedoeld zijn voor interieurs.
Elke bucket heeft een lockdown-modus die bepaalt wat clients mogen aanmaken:
| Modus | Effect |
|---|---|
strict | Clients kunnen geen enkele entity aanmaken. |
relaxed | Alleen script-owned entities die clients aanmaken, worden geblokkeerd. |
inactive | Clients kunnen elke entity aanmaken. |
full | Schakelt ook het aanmaken van dummy-objecten uit. Alleen GTAV Enhanced. |
-- server-side Lua: put a player in bucket 1, a separate world
SetRoutingBucketEntityLockdownMode(1, "strict") -- clients cannot create entities
SetRoutingBucketPopulationEnabled(1, false) -- no ambient population
SetPlayerRoutingBucket(source, 1)Wat er verandert voor je scripts
Als je een server van legacy of off naar on zet, breken scripts die ervan uitgaan dat elke client elke speler ziet. Dit zijn de patronen die Cfx.re in plaats daarvan aanraadt:
- Loop over spelers op de server. Een client kent alleen spelers binnen zijn focuszone, dus een loop aan clientzijde over alle spelers mist op een drukke server de meesten van hen.
- Maak entities aan op de server. Voertuigen, peds en objecten die de server aanmaakt, blijven onder controle van de server. Stel de orphan mode zo in dat de server ze niet verwijdert.
- Gebruik state bags om data over een entity te delen, in plaats van events die naar elke client worden gestuurd.
- Vermijd de scope-events.
playerEnteredScopeenplayerLeftScopeworden bij elke binnenkomst en elk vertrek één keer afgevuurd voor elke speler in scope, dus hun kosten groeien met het aantal spelers. In het voorbeeld van Cfx.re betekenen 32 spelers in de scope van één speler 32 aanroepen. - Vergrendel het aanmaken van entities met een strict bucket als clients geen reden hebben om dingen te spawnen. Cfx.re presenteert dit als de manier om te voorkomen dat clients met kwade bedoelingen entities spawnen.
-- server-side Lua: create the vehicle on the server and keep it
local vehicle = CreateVehicleServerSetter(GetHashKey("blista"), "automobile", x, y, z, heading)
SetEntityOrphanMode(vehicle, 2) -- the server will not delete itWat het de server kost
Met OneSync aan doet de server werk dat clients vroeger deden: hij houdt de staat van elke entity bij en beslist wat elke client nodig heeft. Meer spelers betekent meer van dat werk, en meer van je eigen scripts die per speler draaien. Cfx.re publiceert geen hardwarecijfers per spelersaantal, dus behandel elk getal dat je online ziet als een gok en meet je eigen server met je eigen resources.
Een paar convars ruilen nauwkeurigheid in voor minder werk. Hun standaardwaarden staan hieronder; wijzig er één tegelijk en kijk naar het effect:
# OneSync convars with their default values
set onesync_enableInfinity true # startup only
set onesync_distanceCulling true
set onesync_distanceCullVehicles false
set onesync_population true # false: no NPCs spawnonesync_distanceCullinghaalt entities uit de sync als ze ver weg en buiten beeld zijn. Laat dit aan.onesync_distanceCullVehiclespast dezelfde culling toe op voertuigen. Cfx.re merkt op dat dit de prestaties kan verbeteren.onesync_populationregelt het spawnen van NPC's. Zet het alleen uit als je server geen ambient verkeer of voetgangers moet hebben. Om populatie op één plek uit te zetten, zoals een scherm voor karakterselectie, gebruik jeSetRoutingBucketPopulationEnabledop die bucket.- Op FiveM for GTAV Enhanced worden sync-updates standaard parallel verwerkt (
onesync_multithreadedPacketProcessing), wat volgens Cfx.re de belangrijkste beperking opheft voor hoeveel spelers een server aankan.
De scriptbelasting groeit met het aantal spelers, dus controleer of de server het bij het huidige aantal slots tijdens piekuren volhoudt voordat je dat aantal verhoogt.
Checklist voordat je de limiet verhoogt
- Zoek op hoeveel slots je niveau op het Cfx Portal toestaat, en neem het abonnement voordat je de config aanpast.
- Update FXServer naar de huidige aanbevolen build.
- Zet
onesync on. Alles boven 64 slots vereist het, enlegacywordt afgeraden. - Doorzoek je resources op loops aan clientzijde over alle spelers en op handlers voor
playerEnteredScopeofplayerLeftScope, en verplaats die logica naar de server. - Bekijk het CPU-gebruik van het FXServer-proces op je drukste uur met je echte resources, niet op een verse testserver.
- Verhoog
sv_maxclients, herstart, en controleer het aantal slots dat voor je server in de serverlijst wordt getoond.
FiveM bij Evorxa
De FiveM-hostingpagina toont Evorxa-plannen voor FXServer: VPS-plannen met gedeelde cores en VDS-plannen met toegewezen high-frequency cores, die passen bij een server met veel spelers en scripts. Je krijgt root-toegang om FXServer of txAdmin te installeren en elke regel uit deze gids in te stellen; de Cfx.re-licentiesleutel en een eventueel abonnement blijven in je eigen Cfx-account. Plannen beginnen bij $2.99 per maand, vooraf betaald per maand, voor zes maanden of per jaar, en servers draaien in één regio, Eygelshoven in Nederland.
Bronnen
De feiten in deze gids komen van deze pagina's.