/xonotic-server-management-suite

for managing infrastructure, tests, deployments of Xonotic game servers

Primary LanguagePythonMIT LicenseMIT

xonotic-server-management-suite

For managing infrastructure, tests, deployments of Xonotic game servers.

Build Status Documentation Status

Features:

Define Your servers:

# This file is read from ~/.xsms/servers.yml make sure that's where you are editing it
version: '1'
servers:
  insta:
    title: "(SMB) -z- Simple Insta"
    motd: "Welcome to ${hostname} | Owner: -z-"
    port: 26000
    maxplayers: 16
    net_address: ""
    use_smbmod: false
    exec: ./all run dedicated +serverconfig insta.cfg

Build and Run:

xsms servers build
xsms servers start -e screen

Requirements

  • Python 3
  • A supported engine (screen, tmux, supervisor)

With Docker

  • docker
  • docker-compose

Without Docker

Use the Dockerfiles in docker/containers for inspiration.

Install

python setup.py install  # this clones the server configs and modpack
xsms smbmod init         # setup SMB modpack and assets (optional)

If using docker, all custom server assets go in ~/.xonotic-smb on the host which gets mounted to ~/.xonotic in the containers.

Documentation

Documentation is hosted on readthedocs.io.

License

Copyright (c) 2016 Tyler Mulligan (z@xnz.me) and contributors.

Distributed under the MIT license. See the LICENSE file for more details.