Anleitung
Das FiveM-Limit von 48 Spielern und was OneSync ändert
Fast jeder FiveM-Serverbetreiber stößt früher oder später auf die Zahl 48: Sie ist der Standardwert in der Beispielkonfiguration und das Maximum, das ein Server ohne kostenpflichtiges Cfx.re-Abo aufnehmen kann. Dieser Leitfaden erklärt, woher das Limit kommt, was OneSync an der Art ändert, wie das Spiel synchronisiert, was du brauchst, um über 48 hinauszugehen, und was sich dann für deine Skripte und deinen Server ändert. Er folgt der Cfx.re-Dokumentation mit Stand November 2026.
Von Evorxa-TeamVeröffentlicht
Woher die 48 kommt
Bei 48 treffen zwei Regeln aufeinander. Die erste ist technisch. Die Referenz der Serverbefehle sagt, dass sv_maxClients 1 bis 2048 akzeptiert, Werte ab 32 aber voraussetzen, dass onesync auf on oder legacy steht, und Werte über 64 on verlangen. Ohne OneSync nutzt das Spiel sein ursprüngliches Peer-to-Peer-Modell, und der Server leitet nur Verkehr weiter.
Die zweite Regel ist die Lizenz. Laut der OneSync-Dokumentation ist OneSync bis 48 Slots kostenlos. Darüber brauchst du ein Abo im Cfx Portal, ab der Stufe namens Element Club Argentum. Die Seite zu Serverproblemen von Cfx.re sagt dasselbe: Mehr als 48 Slots erfordern Element Club Argentum oder höher.
Hinweis: Wie viele Slots jede Stufe erlaubt, legt Cfx.re fest, und es steht auf der Abo-Seite des Portals. Prüf es dort, bevor du eine Stufe oder eine Servergröße kaufst, denn es kann sich ändern.
Was OneSync ändert
OneSync ist das eigene Synchronisationssystem von Cfx.re für GTA V. Statt dass Clients sich gegenseitig über die Welt informieren, hält der Server den Zustand der Entities (Spieler, Fahrzeuge, Peds, Objekte) und entscheidet, welcher Client welche Daten bekommt. Die Convar onesync hat drei Werte:
off: kein Zustandswissen. Clients nutzen das Peer-to-Peer-Networking des Spiels, und der Server ist ein Relay.on: volles Zustandswissen und vom Server bestimmtes Entity-Routing. Das ist der Modus, den du nutzen solltest.legacy: ein Kompatibilitätsmodus für Skripte, die erwarten, dass jeder Spieler auf jedem Client existiert. Cfx.re empfiehlt ihn wegen Performanceproblemen und Grafikfehlern nicht.
Auf FiveM for GTAV Enhanced gibt es diese Wahl nicht mehr: Es nutzt ein Client-Server-Modell, und OneSync Big Mode ist der einzige Modus.
Infinity und Culling
OneSync Infinity ist der Teil, der große Server möglich macht, und onesync_enableInfinity ist standardmäßig aktiv. Cfx.re gibt Unterstützung für bis zu 2048 Spieler an und sagt, es gebe Server mit mehr als 1000 gleichzeitig. Infinity hat das Limit für Objekt-IDs von 8192 auf 65535 angehoben und Culling eingeführt: Clients erzeugen keine Spieler oder Entities außerhalb einer Fokuszone von 424 Einheiten um den Spieler. Deshalb muss der Server, nicht der Client, über alle Bescheid wissen, und deshalb müssen Schleifen über Spieler auf dem Server laufen.
Lizenzschlüssel und mehr als 48 Spieler
Jeder öffentliche Server braucht einen Lizenzschlüssel von portal.cfx.re, gesetzt mit sv_licenseKey. Wenn du mit txAdmin einrichtest, fragt der Recipe Deployer danach; auf einem reinen FXServer kommt er in server.cfg. Ein minimaler Block für einen Server mit bis zu 48 Spielern, passend zur Beispiel-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 48Um über 48 hinauszugehen, nennt die Seite zu Serverproblemen drei Schritte: den neuesten Server-Build verwenden, sv_maxclients innerhalb deiner Abo-Stufe über 48 setzen und neu starten.
# 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 serverDie Einrichtungsanleitungen weisen auch auf einen häufigen Fehler hin: Wenn die Konsole meldet, dass kein Lizenzschlüssel angegeben wurde, startest du den Server meist aus dem falschen Ordner oder ohne +exec server.cfg, sodass die Zeile mit dem Schlüssel nie gelesen wurde.
Für einen privaten Testserver gibt es sv_lan true. Laut Referenz macht es den Server LAN-only: Er erscheint nicht in der öffentlichen Serverliste, und die Prüfung des Lizenzschlüssels wird übersprungen. Das passt zum Testen von Skripten auf deinem eigenen Rechner, nicht zu einem Server, dem Spieler über das Internet beitreten.
Routing Buckets
Routing Buckets, eingeführt in Server-Pipeline 3245, teilen einen Server in getrennte Welten auf. Ein Spieler oder eine Entity in einem Bucket sieht nur Spieler und Entities im selben Bucket, und jeder Bucket hat sein eigenes Grid für die Population. Cfx.re schlägt sie für Server mit mehreren Spielmodi, für Sessions oder Partys und für Bildschirme zur Charakterauswahl vor. Ausdrücklich heißt es, dass sie nicht für Interiors gedacht sind.
Jeder Bucket hat einen Lockdown-Modus, der steuert, was Clients erstellen dürfen:
| Modus | Wirkung |
|---|---|
strict | Clients können keine Entities erstellen. |
relaxed | Nur skripteigene Entities, die von Clients erstellt werden, werden blockiert. |
inactive | Clients können jede Entity erstellen. |
full | Deaktiviert zusätzlich die Erstellung von Dummy-Objekten. Nur 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)Was sich für deine Skripte ändert
Wenn du einen Server von legacy oder off auf on umstellst, gehen Skripte kaputt, die davon ausgehen, dass jeder Client jeden Spieler sieht. Diese Muster empfiehlt Cfx.re stattdessen:
- Iteriere auf dem Server über die Spieler. Ein Client kennt nur Spieler innerhalb seiner Fokuszone, also verpasst eine clientseitige Schleife über alle Spieler auf einem vollen Server die meisten davon.
- Erstelle Entities auf dem Server. Vom Server erstellte Fahrzeuge, Peds und Objekte bleiben unter der Kontrolle des Servers. Setze den Orphan Mode so, dass der Server sie nicht löscht.
- Nutze State Bags, um Daten über eine Entity zu teilen, statt Events an jeden Client zu senden.
- Vermeide die Scope-Events.
playerEnteredScopeundplayerLeftScopefeuern bei jedem Betreten und Verlassen einmal für jeden Spieler im Scope, also wachsen ihre Kosten mit der Spielerzahl. Im Beispiel von Cfx.re bedeuten 32 Spieler im Scope eines Spielers 32 Aufrufe. - Sperr die Erstellung von Entities mit einem strikten Bucket, wenn Clients keinen Grund haben, etwas zu spawnen. Cfx.re stellt das als den Weg dar, Clients daran zu hindern, Entities zu böswilligen Zwecken zu 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 itWas es den Server kostet
Mit aktivem OneSync übernimmt der Server Arbeit, die früher die Clients erledigt haben: Er hält den Zustand jeder Entity und entscheidet, was jeder Client braucht. Mehr Spieler bedeuten mehr von dieser Arbeit und mehr von deinen eigenen Skripten, die pro Spieler laufen. Cfx.re veröffentlicht keine Hardwarewerte pro Spielerzahl, also betrachte jede Zahl, die du online siehst, als Schätzung und miss deinen eigenen Server mit deinen eigenen Ressourcen.
Ein paar Convars tauschen Genauigkeit gegen weniger Arbeit. Ihre Standardwerte stehen unten; ändere jeweils nur einen und beobachte die Wirkung:
# 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_distanceCullingnimmt Entities aus der Synchronisierung, wenn sie weit weg und außer Sicht sind. Lass es aktiv.onesync_distanceCullVehicleswendet dasselbe Culling auf Fahrzeuge an. Cfx.re merkt an, dass es die Performance verbessern kann.onesync_populationsteuert das Spawnen von NPCs. Schalte es nur aus, wenn dein Server keinen Umgebungsverkehr und keine Fußgänger haben soll. Um die Population nur an einer Stelle abzuschalten, etwa auf einem Bildschirm zur Charakterauswahl, nutzeSetRoutingBucketPopulationEnabledfür diesen Bucket.- Auf FiveM for GTAV Enhanced werden Sync-Updates standardmäßig parallel verarbeitet (
onesync_multithreadedPacketProcessing), was laut Cfx.re die wichtigste Grenze dafür aufhebt, wie viele Spieler ein Server aufnehmen kann.
Die Skriptlast wächst mit der Spielerzahl, also prüf vor dem Anheben, ob der Server bei seiner aktuellen Slotzahl zu Stoßzeiten standhält.
Checkliste, bevor du das Limit anhebst
- Schau nach, wie viele Slots deine Stufe im Cfx Portal erlaubt, und schließ das Abo ab, bevor du die Konfiguration änderst.
- Aktualisiere FXServer auf den aktuell empfohlenen Build.
- Setze
onesync on. Alles über 64 Slots erfordert es, undlegacywird nicht empfohlen. - Durchsuche deine Ressourcen nach clientseitigen Schleifen über alle Spieler und nach Handlern für
playerEnteredScopeoderplayerLeftScope, und verlege diese Logik auf den Server. - Beobachte die CPU-Nutzung des FXServer-Prozesses zu deiner stärksten Stunde mit deinen echten Ressourcen, nicht auf einem frischen Testserver.
- Erhöhe
sv_maxclients, starte neu und prüf die Slotzahl, die für deinen Server in der Serverliste angezeigt wird.
FiveM bei Evorxa
Die FiveM-Hosting-Seite listet Evorxa-Tarife für FXServer: VPS-Tarife mit geteilten Kernen und VDS-Tarife mit dedizierten High-Frequency-Kernen, die zu einem Server mit vielen Spielern und Skripten passen. Du bekommst Root-Zugriff, um FXServer oder txAdmin zu installieren und jede Zeile aus diesem Leitfaden zu setzen; der Cfx.re-Lizenzschlüssel und ein eventuelles Abo bleiben in deinem eigenen Cfx-Konto. Tarife beginnen bei $2.99 im Monat, monatlich, für sechs Monate oder jährlich im Voraus bezahlt, und die Server laufen in einer Region, Eygelshoven in den Niederlanden.
Quellen
Die Fakten in dieser Anleitung stammen von diesen Seiten.