Skip to content
/ zander Public

A Doom server manager. This is a mirror of https://gitlab.node-3.net/zander/zander

License

Notifications You must be signed in to change notification settings

nadams/zander

Repository files navigation

Zander

Zander is a Doom server manager.

Features

  • 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

Installation

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.

Arch Linux

Install from the AUR (zander-bin) or install a pre-built pacman package for your architecture from the releases page.

Debian/Ubuntu

Download the current .deb release for your architecture and install using dpkg.

https://gitlab.node-3.net/zander/zander/-/releases

RHEL/Fedora

Download the current .rpm release for your architecture and install using rpm.

https://gitlab.node-3.net/zander/zander/-/releases

Pre-compiled Binaries

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

Configuration for zander is stored in $XDG_CONFIG_HOME/zander, which usually defaults to $HOME/.config.

  1. Copy zander.toml to $XDG_CONFIG_HOME/zander/zander.toml. You should go through the example file and configure it for your system.
  2. Create a servers directory in $XDG_CONFIG_HOME/zander and copy example doom2.toml file there.

Install as a Systemd User Service

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-linger

The Systemd service file can be found in this repository (.pkg/zander.service) or in a pre-compiled binary archive found on the releases page.

Usage

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.

Contributing

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.

License

MIT