Dedicated Server¶
A headless UE build with no rendering, audio, or input. Production multiplayer hosting target.
Building¶
- Install source UE via GitHub (binary engines can't build server targets)
- Generate project files; create
<Project>Server.Target.cs: - Build target
MyGameServer Development Server | Linux(or Win64)
Launching¶
| Flag | Effect |
|---|---|
-log |
Print log to stdout |
-port=7777 |
Game port |
-NoSound |
Disable audio mixer |
-NoSplash |
Skip splash |
MyMap?Listen |
Initial map + listen mode (or open as standalone) |
Container / cloud deployment¶
| Platform | Approach |
|---|---|
| GameLift | AWS-managed UE dedicated server hosting |
| Agones (Kubernetes) | Open source; runs your container |
| Containerd / Docker | Roll your own |
| Hathora | Managed game server hosting |
| PlayFab Multiplayer Servers | Microsoft-managed |
The server's Docker image needs the cooked content + the executable; no GPU driver required.
Common pitfalls¶
- Server is Type = Server, not Game. The
.Target.csdefines this; mistakes cause client code to be compiled into the server. - Audio / UI subsystems must compile out under
WITH_SERVER_CODEmacros if you reference them. - Save game / replay support — verify these paths still work without rendering.
Replays¶
Demo Net Driver records gameplay on the server, replays on clients. Useful for tournaments and bug repros. Enable in DefaultEngine.ini: