IOQuake 3 Dedicated Server in Docker
10K+

This docker image uses IOQuake3 for the server binary. It also includes OSP mod.
By default, this server will only work the maps that were shipped with the public Quake 3 demo (q3dm1, q3dm7,
q3dm17, and q3tourney2). To run a Quake 3 server that includes all maps, you will need to provide a legal copy
of pak0.pk3 from the retail version of Quake 3. Quake 3 can be easily picked up on
Steam, GOG,
and the Microsoft Store / Gamepass. For
legal reasons this pak0.pk3 is not distributed with this Docker image.
To provide a pak0.pk3, simply use a Docker volume to mount it
inside the running container.
-v ./runtime/pak0.pk3:/app/baseq3/pak0.pk3
This server separates playlist to keep game modes easier to manage via a chain of cvars, configured via playlists.cfg. It groups like-maps in rotating playlists. For example:
set stock-dm-2 "map q3dm2 ; set nextmap vstr stock-dm-3" // House of Pain
On this configuration line the cvar stock-dm-2 will load map q3dm2 and queue up the cvar stock-dm-3 to
be executed afterwards. To start a server using the map q3dm2, add the command +vstr stock-dm-2 to the end
of your launch string, this will keep the playlist intact.
This server supports Quake3quest, by providing specific config file, a custom playlist, and the Dreamcast Map Pack. The Dreamcast map pack was originally intended to allow cross-play between Dreamcast and PC, however due to the reduced visuals it became popular to the VR community since its easier for the quest 2 to hit that 90 frames per second. It can easily be downloaded on the quest2 using the Quake3quest companion app.
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +exec server-ffa-vm.cfg +exec playlists.cfg +vstr dc-dm1 +set rconpassword "EXAMPLE"
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +exec server-ffa.cfg +exec playlists.cfg +vstr stock-dm-1 +set rconpassword "EXAMPLE"
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +exec server-ctf.cfg +exec playlists.cfg +vstr stock-ctf-1 set rconpassword "EXAMPLE"
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +exec server-tdm.cfg +set rconpassword "EXAMPLE" +exec playlists.cfg +vstr stock-dm-1
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +set fs_game osp +exec ffa-instagib.cfg +exec playlists.cfg +vstr stock-dm-1
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +set fs_game osp +exec 1v1-instagib.cfg +exec playlists.cfg +vstr stock-1v1-map1
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +set fs_game osp +exec ctf-instagib.cfg +exec playlist.cfg +vstr stock-ctf-1
docker run -it --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +set fs_game osp +exec team.cfg +exec playlists.cfg +vstr stock-dm-1
docker run -d --rm --net=host lacledeslan/gamesvr-ioquake3 /app/ioq3ded +set fs_game osp +exec freezetag.cfg +exec playlists.cfg +vstr stock-dm-1
Content type
Image
Digest
sha256:3ba62c94f…
Size
158.5 MB
Last updated
about 2 hours ago
docker pull lacledeslan/gamesvr-ioquake3Pulls:
4,741
Last week