A fancy containerized quake3 dedicated server container. Get playing in no time!
The config I have here is fairly generic but somewhat specific to the overall stock way I play this game with my friends. Either way, it's a great example to get going with if you'd like. If not, read below for more on configuration.
Ideally, you would setup the config how you want, build, launch, and play. I sourced the Dockerfile
and bootstrap.sh
originally from the excellent jberrenberg/quake3 image. That image now doesn't build and so I've tagged and moved on creating my own debian based ioquake3 engine image.
I wanted to thank the Debian Games Team for this excellent package :)
There is an included docker-compose.yml.example
that shows the best way to launch this container and how to take care of the core dependencies: the retail pak0.pk3
, the port forward for 27960/udp
, and optionally, your own server.cfg
.
Note that the server.cfg must exist in the
/usr/share/games/quake3/baseq3
directory!
If you decide to build and incorporate your own server.cfg
, as is recommended, make sure you modify the image
source or just use build: .
in your docker-compose.yml
:)
You could also just -v ./server.cfg:/use/share/games/quake3/baseq3/server.cfg
on the command line.
You can also pass in configuration options via passing them as docker commands either on the command line or in your docker-compose.yml
.
docker run -d -v ./pak0.pk3:/usr/share/games/quake3/baseq3/pak0.pk3 inanimate/quake3 +fraglimit 150
A comprehensive list of possibilities can be found here.
I've set a default launch map of q3dm17, which is The Longest Yard, one of the more popular deathmatch maps. This means you can just run the container straight off with no options and be playing instantly.
Ideally, we like to cycle through maps, starting from the first. It would be even better if we could set random for all minus a few we don't like (q3dm19 is not favorable to my tastes). See my included example server.cfg
for how I cycle through maps.
A great map breakdown can be seen here.
Please see this page for info on how to setup bots.
Basically, you need seta bot_enable 1
at the top of your config. After you define and start a map, you can then:
botadd Major 3
botadd Sorlag 2
Bot names must be one of the supported character names! They cannot be custom!
docker logs quake3
Yep, the server logs to stdout/stderr!
Here are some really helpful links for setting up the server.cfg
and utilizing rcon.
http://it.rcmd.org/networks/q3_install/q3_linux_server_howto.php#step9
http://www.tldp.org/HOWTO/archived/Game-Server-HOWTO/quake3.html
http://gaming.stackexchange.com/questions/46735/quake-3-private-server-with-bots
http://notes.splitbrain.org/q3aserver
http://www.katsbits.com/articles/quake-3/add-remove-bots.php