Run Your Own Q3JS Server
Q3JS can list and connect to standard Quake III dedicated servers. The simplest way to run one is with the official Docker image, which starts an ioq3ded-compatible server and the WebSocket proxy Q3JS needs.
1. Create a Server Folder
Start with an empty directory for your server files. You will place a baseq3 folder inside it in the next step.
mkdir my-q3-server cd my-q3-server
2. Add Your baseq3 Files
Copy a baseq3 directory into my-q3-server. This folder contains the game assets, configs, and maps the server will load.
Use only files you are allowed to host, such as the Quake III demo data or community-created content. Do not use redistributable retail game files.
3. Start the Container
From inside my-q3-server, run:
docker run \ -p 27961:27961 \ -p 27960:27960/udp \ -v "$(pwd)/baseq3":/server/baseq3 \ lukaklacar/q3js-server \ +map q3dm17
4. Open the Required Ports
To make the server reachable outside your local network, forward both ports on your router to the machine running the container.
27960/udphandles normal Quake III game traffic.27961/tcphandles the WebSocket proxy used by browser clients.
If these ports are not open, the server may work on your LAN but it will not be visible or joinable from the public internet.
5. How the Docker Command Works
- Ports:
-p 27960:27960/udpexposes the Quake III server port, and-p 27961:27961exposes the proxy port for Q3JS. - Volume mount:
-v "$(pwd)/baseq3":/server/baseq3mounts your localbaseq3folder into the container. - Dedicated server behavior:After startup, the container behaves like a normal
ioq3dedserver, so standard+setand+maparguments still work. - Map loading:The example starts on
q3dm17, but you can replace it with any map present in your data files.
6. Confirm the Server Is Reachable
After the container starts, your server should appear on the Q3JS home page. The Docker image already includes the correct master server settings, so if it does not show up, the usual causes are missing files, the wrong mounted directory, or closed ports.
7. File Requirements
Only official Quake III demo files or community-created assets are allowed. Retail files are not included and cannot be distributed.