A Docker container that runs Zandronum.
Docker Hub: https://hub.docker.com/r/frozenfoxx/zandronum/
To just build the default image, input the following:
git clone https://github.com/frozenfoxx/docker-zandronum.git
cd docker-zandronum
docker build -t frozenfoxx/zandronum:latest .
If you wish to build an alternate image, copy the alternate Dockerfile with the paramters to you wish to use to Dockerfile
and issue the build command.
The following will run the latest Zandronum client with a default configuration.
docker run -it \
--rm \
-p 8080:8080 \
-v /Path/To/WADs/:/wads:ro \
--name=zandronum \
frozenfoxx/zandronum:latest
Then open http://localhost:8080/vnc_lite.html in your browser.
The entrypoint will pass all additional options to the Zandronum executable. To mount an additional WAD file, for instance:
docker run -it \
--rm \
-p 8080:8080 \
-v /Path/To/WADs/:/wads:ro \
-v /Path/To/Other/WADs:/tmp/other_wads:ro \
--name=zandronum \
frozenfoxx/zandronum:latest \
/tmp/other_wads/savage.wad \
+connect dm.zserver.net
A Multiplay compatible version of this container is also available. For deployment to Multiplay, you will need to follow their Container guildelines.
- Copy your WAD files into
wads
. - Build the container (
docker build -t localhost/zandronum:multiplay -f Dockerfile.multiplay.novnc .
). - Authenticate, tag, and push to Multiplay in alignment with their documentation.
- Under Build Configuration/Launch Parameters, input
--displayport $$port$$ --novncport $$port$$ --rfbport $$port$$
.
The default control scheme has been modified for easier use with noVNC. Since the mouse cannot be captured exclusively, keyboard is recommended.
- Fire:
Up Arrow
- Forward:
W
- Backward:
S
- Strafe Left:
A
- Strafe Right:
D
- Turn Left:
Left Arrow
- Turn Right:
Right Arrow
- Use:
E
- Jump:
Space
- Crouch:
Control
DISPLAY_PORT
: allows modification of the virtual display's port (default: 0).DISPLAY_HEIGHT
: allows modification of the virtual display's height (default: 720).DISPLAY_WIDTH
: allows modification of the virtual display's width (default: 1280).NOVNC_PORT
: allows modification of the listening port for noVNC (default: 8080).RFB_PORT
: remote framebuffer port (default: 5900).
--displayport [port]
: port to listen on for display, overridesDISPLAY_PORT
.--novncport [port]
: port to listen on for noVNC, overridesNOVNC_PORT
.--rfbport [port]
: port to listen on for RFB, overridesRFB_PORT
.