Skip to content
This repository has been archived by the owner on Aug 26, 2021. It is now read-only.

melkortf/morgoth

Repository files navigation


morgoth

A source dedicated server manager

Features

  • Start, stop and show status of any game server with one command
  • Extend functionality by writing plug-ins
  • Access your servers via anna API and ando front-end

Dependencies

  • Qt (>= 5.11)
  • CMake (>= 3.12)
  • systemd
  • DBus

Installation

# Clone this repository
$ git clone https://github.com/melkortf/morgoth

# Create build directory
$ mkdir morgoth/build && cd morgoth/build

# Configure project
$ cmake ..

# Build project
$ make && make test

# Install
$ make install

Configuration

The configuration file is installed in /etc/morgoth.conf. Available options are:

  • dbus specifies which bus should morgoth bind to. Leave it set to system if you wish to use morgoth as a daemon;
  • database defines the location of SQlite database file;
  • user specifies the user that will own all the running game server instances. It is adviced against running source game as a root.

You also need to create the user for the last configuration option:

$ useradd -r -U morgoth

Usage

# Start morgoth daemon
$ systemctl start morgoth

# Add your server installation
$ morgothctl add my-fancy-server /home/tf2/servers/fancy

# Make sure your server is added
$ morgothctl list

# Adjust your server launch arguments
$ morgothctl config my-fancy-server

# Start the server
$ morgothctl start my-fancy-server

# Verify your server started successfully
$ morgothctl status my-fancy-server