How do I size a dedicated server for multiplayer games?
Game-server capacity depends on the engine, world or map, extensions and player activity. Total core count alone is not a player-capacity guarantee. Measure the time-critical game loop and the number of independent server processes the machine must run.
Before you start
- The exact game/version, extensions, player target and vendor-documented network requirements.
Instructions
1. Measure the representative game workload
Use the intended map or world, mods and realistic player behaviour in a controlled test. Record tick or simulation timing, response latency, memory growth and storage activity. If the engine’s main loop saturates one core, unused capacity on other cores may not improve that session.
2. Plan process and network capacity
Determine whether you will run one large session or several separate game-server processes. Give each process its required ports and resource allowance. Use the engine’s documented TCP or UDP requirements and protect administration interfaces separately. Check player-region latency, jitter and loss; raw link speed alone does not describe interactive quality.
3. Validate maintenance and peak operation
Test expected concurrent sessions, persistence saves, joins and scheduled restarts with the game’s supported tools. Leave capacity for normal variation and monitor the metrics users experience. Coordinate updates and save-state handling so a build change does not unexpectedly interrupt active sessions.
Check the result
- Representative sessions meet the engine’s timing and player-experience targets.
- The configured number of processes fits CPU, memory, storage and network limits.
Troubleshooting
- Players lag while overall CPU use is low
- Inspect per-core activity, simulation timing, plugin work and network quality. An average across many cores can hide a saturated main game loop.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
