Zandronum is a multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. This egg uses the Freedoom WAD by default.
Zandronum is a multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software.
This egg uses the Freedoom WAD by default.
Zandronum requires a single port:
Port | default |
---|---|
Game | 10666 |
Name | Tag |
---|---|
Debian | ghcr.io/ptero-eggs/yolks:debian |
Name | Description | Environment Variable | Default Value | User Viewable | User Editable |
---|---|---|---|---|---|
Max Players | The maximum amount of players allowed on your game server. | MAX_PLAYERS | 16 | Yes | No |
IWAD | An IWAD is the main resource file for a Doom-engine game, containing all the game's original sounds, levels, and graphics. | IWAD | freedoom1.wad | Yes | Yes |
PWADS | If you wish to use multiple PWAD you can do so by separating them with spaces. A PWAD is a WAD containing lumps of data, often used as addons. They replace in-game assets. | PWADS | Yes | Yes | |
Skill | Set the difficulty of the game. | SKILL | Yes | Yes | |
map | The map the server should start with. | MAP | e1m1 | Yes | Yes |
dmflags | Gameplay flags. https://wiki.zandronum.com/DMFlags | DMFLAGS | Yes | Yes | |
dmflags2 | Gameplay flags. https://wiki.zandronum.com/DMFlags | DMFLAGS2 | Yes | Yes | |
zadmflags | Zandronum specific gameplay flags. https://wiki.zandronum.com/DMFlags | ZADMFLAGS | Yes | Yes | |
compatflags | Compatibility flags. https://wiki.zandronum.com/DMFlags | COMPATFLAGS | Yes | Yes | |
compatflags2 | Compatibility flags. https://wiki.zandronum.com/DMFlags | COMPATFLAGS2 | Yes | Yes | |
zacompatflags | Zandronum specific compatibility flags. https://wiki.zandronum.com/DMFlags | ZACOMPATFLAGS | Yes | Yes | |
Enable GeoIP | GeoIP is used to identify the country of the client's ip address | GEOIP | 1 | Yes | Yes |
#!/bin/bash
mkdir -p /mnt/server
cd /mnt/server
ARCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "linux-x86_64" || echo "linuxserver-armv8")
echo "Fetching latest version number of Zandronum"
version="$(wget -q -O - http://zandronum.com/download |
sed -n 's/.*The latest version is <strong>\(.*\)<\/strong>.*/\1/p')"
z="zandronum"$version"-${ARCH}.tar.bz2"
echo "Downloading release $version of Zandronum."
echo "Executing wget -nc https://zandronum.com/downloads/$z"
wget -nc https://zandronum.com/downloads/"$z"
echo "Untar Zandronum"
echo "Executing tar -xjvf $z"
tar -xjvf "$z"
echo "Remove useless files"
rm "$z"
rm zandronum # This is the client, we don't need that.
echo "Making zandronum-server executable"
chmod +x zandronum-server
# Create IWAD and PWAD folder
mkdir -p IWAD
mkdir -p PWAD
# Download latest freedoom for the default iwad
freedoom=$(curl -s https://api.github.com/repos/freedoom/freedoom/releases/latest | jq .assets | jq -r .[].browser_download_url | grep -m1 -i freedoom-.*.zip)
echo "$freedoom"
curl -L -o freedoom.zip $freedoom
unzip -j -o freedoom.zip '*/*' -d IWAD/
# Removing useless files
rm freedoom.zip
rm IWAD/*.html
rm IWAD/*.pdf
# Download the configuration file. The server fail to generate a config by itself so we have to supply one or it will crash
wget https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/doom/zandronum/zandronum.ini -O /mnt/server/zandronum.ini
touch adminlist.txt
touch whitelist.txt
touch banlist.txt
if [[ "${GEOIP}" == "1" ]]; then
echo "setting up GeoIP"
wget https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/doom/zandronum/GeoIP.dat -O /mnt/server/GeoIP.dat
fi
echo "Install finished."