Updating Server Settings Is Only the First Step
Changing sv_maxclients to 128 takes only a few seconds in your config file, but preparing your resources to handle that load requires a detailed plan. When player limits rise, performance challenges appear across your server tick times, moderation tools, database queries, and player economy.
To move beyond 32 slots, you must run OneSync. Once you reach 48 concurrent connected players, you should switch to OneSync Infinity. OneSync Infinity provides entity culling, player-based routing, and ownership management at scale. This prevents 128 players from constantly syncing every prop, vehicle, and world object with every other player across the map. Enable it in server.cfg using set onesync on or onesync_enableInfinity 1 on legacy builds, and verify that your server key and deployment tier support your target slot count.
Managing Server Tick Time Under Heavy Load
The main FiveM logic thread operates largely on a single CPU core. Every active resource shares a frame execution budget measured in milliseconds per tick. A resource that consumes only 0.4 ms with 32 players can easily demand 2 ms to 3 ms at 128 slots because loops scanning active players or spawned vehicles scale up automatically.
- Monitor resources under real load: An empty city hides performance flaws. Profile resource usage at 48 or more active players using
resmon 1and txAdmin execution graphs to catch scripts that spike under load. - Eliminate heavy polling loops: Look for
Citizen.Wait(0)threads that repeatedly callGetPlayers(). Replace continuous polling with event-driven triggers, longer wait delays, and cached data structures. - Maintain tick headroom: Keep your total server tick usage well below 50% during peak activity so unexpected player surges or resource events do not cause thread hitch warnings.
Adjusting Moderation Workloads and Staff Tools
Player numbers increase linearly, but player interactions grow exponentially. Doubling your active slots can easily triple or quadruple player reports and support requests. Staff teams that managed 32 players comfortably will quickly find themselves overwhelmed at 96 slots without better operational tools.
- Maintain balanced staff ratios: Target roughly one active administrator for every 15 to 25 online players during peak operating hours.
- Implement efficient support tooling: Use structured in-game
/reportcommands, dispatch alert resources, txAdmin action logging, and integrated Discord ticket systems to help your staff process issues quickly. - Define clear server guidelines: Clear rules allow staff to resolve disputes quickly without spending time interpreting edge cases manually.
Balancing Your Economy Against Player Growth
Expanding player slots creates a massive influx of in-game currency as more players complete legal jobs and gathering loops. If your cash sinks remain unchanged, rapid inflation will diminish the value of money across your city, making entry-level vehicles trivial to buy and discouraging new arrivals.
- Recheck job earnings: Compare average hourly earnings against the price of high-tier goals every time you raise your player capacity.
- Introduce permanent sinks: Repairs, fuel costs, property rent, business fees, and event entry fees remove money from the economy permanently, whereas direct player trades simply shift funds around.
- Bridge the wealth gap: Organize regular community events, seasonal activities, and fresh server content so late joining players have engaging goals that do not require grinding against established veterans.
Upgrading Database and Server Hardware Infrastructure
Standard server hosting options often manage 32 slots without issue, but 128 slots demand careful hardware selection. Single-thread CPU performance is vital because high clock speeds beat extra shared cores every time. Network bandwidth also scales rapidly when high-density player zones sync vehicle movement and custom prop data.
Database efficiency becomes another common bottleneck. Adjust your oxmysql pool configuration by raising connectionLimit from default levels, and confirm that your database server's max_connections value exceeds the combined pool size across all your QBCore scripts, ESX scripts, or Qbox scripts.
- Avoid synchronous database calls: Replace blocking calls like
fetchSyncwith asynchronous functions to prevent pausing the main server thread. - Batch writes and index tables: Save inventory states and player positions on timed intervals or key events rather than on every frame. Add database indexes to key columns so queries stay fast as player tables grow.
Recommended Steps for Each Population Milestone
Avoid jumping directly from 32 to 128 slots at once. Expand in controlled steps and evaluate server health at each tier:
- At 48 slots: Confirm OneSync Infinity is active, review script tick times under full load, and expand your database connection limits.
- At 64 slots: Check staff availability, verify report handling tools, and monitor server host CPU usage.
- At 96 slots: Audit legal job payouts, analyze database latency, and index heavily queried table columns.
- At 128 slots: Track network bandwidth demand, watch for server hitch warnings during peak hours, and confirm that initial player onboarding stays smooth.
Scaling successfully means addressing performance bottlenecks before opening the next tier of slots.