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 -server target; disable UGameViewportClient, ensure DEDICATED_SERVER preprocessor 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 --headless flag; 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

Back to Glossary