Zander is a Doom server manager.
- Automatically restart crashed servers
- Collect metrics (prometheus and statsd are supported)
- Attach to a running server
- View and tail server logs
- Shell completion
- Hot reloading of server configurations
Using a pre-built package for your platform will install zander at a system level. If you don't want to pollute your system, you can download a precompiled binary archive and install it to your $HOME directory instead. This archive comes with example configuration that you can copy and modify for your use case.
Install from the AUR (zander-bin) or install a pre-built pacman package for your architecture from the releases page.
Download the current .deb release for your architecture and install using dpkg.
https://gitlab.node-3.net/zander/zander/-/releases
Download the current .rpm release for your architecture and install using rpm.
https://gitlab.node-3.net/zander/zander/-/releases
You can find pre-compiled binaries on the releases page.
Simply extract the archive and place the zander binary in your $PATH. There are also other files which are example
configurations. Refer to the configuration section for more information.
Configuration for zander is stored in $XDG_CONFIG_HOME/zander, which usually defaults to $HOME/.config.
- Copy
zander.tomlto$XDG_CONFIG_HOME/zander/zander.toml. You should go through the example file and configure it for your system. - Create a
serversdirectory in$XDG_CONFIG_HOME/zanderand copy exampledoom2.tomlfile there.
mkdir -p $HOME/.config/systemd/user
cp config/zander.service $HOME/.config/systemd/user
# Edit the ExecStart field in zander.service file to point to where you installed `zander`
systemctl --user daemon-reload
systemctl --user enable --now zander
sudo loginctl enable-lingerThe Systemd service file can be found in this repository (.pkg/zander.service) or in a pre-compiled binary archive found on the releases page.
Zander is split into two parts. One part is the service which is typically run as a Systemd service. The second part is the client which will attempt
to communicate with the service via a unix socket. This socket is located here $XDG_RUNTIME_DIR/zander.sock by default. This value can overwritten by
setting the $ZANDER_SOCKET environment variable or by setting the -s/--socket flag. Using the Zander client without a running service will
result in a connection error.
Pull/merge requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.