/ansible-role-doomservers

Ansible Role - Creates an environment for Multiplayer Doom ports.

Primary LanguageShell

ansible-role-doomservers

This role sets up an environment for Doom's multiplayer ports, such as Zdaemon, Zandronum, and Odamex in a Linux environment.

It also creates a server template so that you can suit it to your needs.

By default, all port installations are set to false! You'll have to manually set the variables. See the example below.

Requirements

This role requires to create a dedicated Linux user for safety reasons. This role uses doomuser by default, but you can adapt it to your likings. See Role variables below for more information.

If you intend to include Odamex, you'll require CMake version 3.13 or later. You will also need the community.general.github_release collection to retrieve automatically the latest release version for compilation, as Odamex is the only port whose pre-built binaries are not available on Linux.

You can install the collection using this command:

ansible-galaxy collection install community.general

Role Variables

All the variables used in this role are found in defaults/main.yml.

doom_user: "doomuser"

This is the user that will receive all the data for the Doom environment.

doom_main_directory: /home/{{ doom_user }}/doom

This is the main folder that will be set-up for the Doom environment.

doom_waddir_create: true
doom_waddir: "{{ doom_main_directory }}/wads"

This is the directory that will be created & used for searching all the WADs for the ports. Set doom_waddir_create to false if you do not want this feature.

doom_zdaemon_install: false
doom_zdaemon_install_directory: "{{ doom_main_directory }}/zdaemon"

Set it to true if you want to install ZDaemon. The second variable is where the executable will be installed.

zdaemon_latest_version: "zserv11022_linux26.tgz"
zdaemon_extractdir: "zserv110_bin"

These variables are for advanced-users only! In case this role wasn't updated for a long time, you can still set these to manually update your ZDaemon executables, along with the directory name it uses after extracting. You can see the latest releases here.

doom_install_zandronum: false
doom_install_zandronum_directory: "{{ doom_main_directory }}/zandronum"

Set it to true if you want to install Zandronum. The second variable is where the executable will be installed.

doom_zandronum_release: "3.1"

This variable is for advanced-users only! In case this role wasn't updated for a long time, you can still set these to manually get the latest Zandronum executables. You can see the latest releases here for reference.

doom_install_odamex: false
doom_install_odamex_directory: "{{ doom_main_directory }}/odamex"

Set it to true if you want to install Odamex. The second variable is where the executable will be installed.

Dependencies

None...

Example Playbook

This example will install the wads directory and zdaemon for user doomuser. Zandronum and Odamex will not be installed.

    - hosts: servers
      roles:
         - ch0ww.doomservers

      vars:
        - doom_user: "doomuser"
        - doom_waddir_create: true
        - doom_zdaemon_install: true
        - doom_zandronum_install: false
        - doom_odamex_install: false

License

BSD

Author Information

This role is created by Ch0wW.