Game servers by the hour. Pay only when you play.

How to set up a Quake Live dedicated server

Quake Live runs on id Tech 3 (the classic Quake 3 engine) and ships a free dedicated server you install with SteamCMD. This is the full self-host walkthrough on Linux. If you just want a server for tonight without any of this, 2hours.gg deploys one in about five minutes and you only pay for the hours you use.

Deploy a Quake Live server on 2hours.gg

1. Requirements

  • A Linux box (Ubuntu works well). The server is light, about 1.1 GB installed.
  • SteamCMD, plus 32-bit libs for it (lib32gcc-s1, lib32stdc++6), and ca-certificates (see the gotcha below).

2. Install with SteamCMD

The dedicated server is Steam app 349090 and installs anonymously (no account needed):

steamcmd +force_install_dir ./qlds +login anonymous +app_update 349090 validate +quit

3. Launch the server

The install ships run_server_x64.sh, which sets the working directory and library path for you. Pass your settings after it:

./run_server_x64.sh +set net_port 27960 +set sv_hostname "My Quake Live Server" +set fs_homepath ~/.quakelive

Two gotchas that cost real debugging time:

  • Install ca-certificates. The server does an SSL handshake to the Steam / Quake Live backend right after init; without trusted root certificates it hangs and never binds its port (no error, it just stalls before loading a map).
  • On a modern OS the 2016 binary can crash with "corrupted size vs. prev_size" during Steam init. Launch it with the environment variable GLIBC_TUNABLES=glibc.malloc.check=0 to disable the aborting malloc check and it boots cleanly.

4. Open the port

Open UDP 27960 (net_port) inbound. That single port carries the game, the server-browser query, and the Steam traffic. There is no separate query port. The ZMQ rcon port (28960/tcp) should stay closed to the internet, use it only from a trusted host.

5. Configure gametypes and maps

The server auto-runs baseq3/server.cfg on startup. Useful settings: sv_hostname, sv_maxClients (default 16), g_password (a server-wide join password), sv_master 1 (appear in the browser), and serverstartup (the command run once init finishes). To boot straight into a gametype + map, set serverstartup to load one, for example:

set serverstartup "map campgrounds ca"

Gametype tokens: ffa, duel, tdm, ca, ctf, ft, dom and more. Map voting draws from the map pool file set by sv_mapPoolFile (the install ships mappool.txt plus per-mode pools like mappool_ca.txt).

6. Grant yourself admin

Admin is a text file: baseq3/access.txt, one entry per line as steamid|admin. Get your 64-bit Steam ID by joining a match and typing players in the console, then add a line like 76561198000000000|admin. If you edit it while the server runs, reload it with reload_access (over rcon or as an admin). Moderation is done through the scoreboard menu and callvotes, not the old /mod command (that no longer exists).

7. Custom content (Steam Workshop)

Quake Live only auto-downloads custom maps and factories that are on the Steam Workshop. Put one Workshop item id per line in baseq3/workshop.txt and the server pulls them before it finishes starting.

Or skip all of it

On 2hours.gg you pick a gametype, a map and a size, and get a configured, admin-ready Quake Live server in about five minutes, in a region near your group, billed by the hour. No Linux, no SteamCMD, no port-forwarding.

See also

Back to all guides