Challenge
Photon P2P was no longer sufficient for large-scale multiplayer sessions. We needed dedicated servers with predictable performance, controlled capacity, and reliable deployments without disrupting active players.
Approach
- Moved to Unreal Engine dedicated servers running headless on EC2.
- Routed connections through AWS API Gateway with load balancing.
- Built an admin panel to control server fleet size and per-server player caps.
- Automated instance launch when capacity was reached and created fallback instances for recovery.
- Implemented a blue/green deployment flow by switching build paths for new traffic.
- Wrote a full Jenkins pipeline to build, deploy, and roll forward safely.
Results
- The platform became manageable in-house with granular control over capacity and deployments.
- Blue/green server paths kept live sessions stable while new players shifted seamlessly.
- Automated load clients caught regressions before release windows.
Key metrics
| Metric | Before | After |
|---|---|---|
| Session model | P2P (Photon) | Dedicated servers on EC2 |
| Server capacity | Limited, peer-dependent | 80-player cap (100-150 headroom) |
| Load validation | Manual checks | 300 automated clients |
- Admin-side control of caps and fleet size kept performance predictable.
- Versioned server builds simplified compatibility with live clients.
- Automated load clients surfaced netcode regressions quickly.