Headless Server
A headless server is a game server process that runs without any graphics rendering, display output, or audio — only the game logic and network stack, making it far cheaper and faster to run at scale.
When you ship a multiplayer game, you build two separate binaries from the same codebase: a client build (with rendering, UI, audio, and input handling) and a server build with all of that stripped out. The server build is headless. It never draws a frame — it just simulates the game world, processes player inputs, and sends state updates over the network.
Why headless matters for infrastructure cost
Graphics rendering is expensive. A GPU capable of running a modern game at 60fps costs significantly more — in both hardware and electricity — than a CPU-only machine. Because headless servers need no GPU, you can run dozens of game server instances on a single bare-metal machine that would otherwise render one game client.
This is why game server orchestration platforms like Gameye use CPU-only infrastructure for session hosting. A single physical node can run many concurrent game sessions at a fraction of the cost of running equivalent client hardware.
Headless vs. dedicated vs. authoritative
These three terms describe overlapping but distinct properties of a server:
- Headless — no rendering or display output (a property of the build)
- Dedicated — no player is attached to the machine; it exists solely to run the game (a property of the deployment)
- Authoritative — the single source of truth for game state; clients cannot override it (a property of the architecture)
Most production game servers are all three. When developers say “dedicated server”, they almost always mean a headless, authoritative server running on dedicated infrastructure.
How to build a headless server
Most major engines support headless server builds natively:
- Unreal Engine — compile with
-servertarget; disableUGameViewportClient, ensureDEDICATED_SERVERpreprocessor macro is set - Unity — enable the Dedicated Server build target introduced in Unity 2021 LTS; the editor strips client-only assemblies automatically
- Godot — export with
--headlessflag; the engine skips the rendering tree entirely
Once built, a headless server binary is typically packaged into a Docker container — a self-contained image that includes the binary, its runtime dependencies, and any configuration. This container is what orchestrators like Gameye deploy and manage across global infrastructure.
See also: Dedicated server · Authoritative server · Containers · Docker · How Gameye runs containerised game servers globally