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/udp handles normal Quake III game traffic.
  • 27961/tcp handles 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/udp exposes the Quake III server port, and-p 27961:27961 exposes the proxy port for Q3JS.
  • Volume mount:-v "$(pwd)/baseq3":/server/baseq3mounts your local baseq3 folder into the container.
  • Dedicated server behavior:After startup, the container behaves like a normal ioq3ded server, so standard+set and +map arguments 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.