Grid Status
Master Feed Locked
Run Your Own Server
Boot a standard Quake III dedicated server with the Q3JS proxy, expose the required ports, and confirm master-server visibility.
Start with an empty directory. You will place a baseq3 folder inside it next.
mkdir my-q3-server cd my-q3-server
Copy a baseq3 directory into my-q3-server. This contains assets, configs, and maps.
Use only official demo files or community-created content. Do not host redistributable retail files.
Run the container from inside my-q3-server.
docker run \ -p 27961:27961 \ -p 27960:27960/udp \ -v "$(pwd)/baseq3":/server/baseq3 \ lukaklacar/q3js-server \ +map q3dm17
Forward both ports on your router to the host running the container.
27960/udp handles Quake III game traffic.
27961/tcp handles the browser proxy used by Q3JS.
If these ports stay closed, the server may work on LAN but remain invisible or unjoinable from the public internet.
Ports: -p 27960:27960/udp exposes the game server. -p 27961:27961 exposes the Q3JS proxy.
Volume: -v "$(pwd)/baseq3":/server/baseq3 mounts your local data directory.
Behavior: once started, the container behaves like a normal ioq3ded server. Standard +set and +map arguments still apply.
Map: replace q3dm17 with any installed map.
After startup, the server should appear on the Q3JS home page.
The Docker image already includes the correct master-server settings.
If it does not appear, the usual causes are missing files, the wrong mount path, or closed ports.
Only official Quake III demo files or community-created assets are allowed. Retail files are not included and cannot be distributed.