An Ansible role to manage a Terraria server
Go to file
Salt 2c32b3223b Fix README
Forgot about the part where no Terraria config options have dashes lol
2021-01-10 20:09:47 -06:00
defaults Minor fixes 2021-01-10 19:55:26 -06:00
handlers Add a hopefully functional implementation 2021-01-10 19:50:20 -06:00
tasks Minor fixes 2021-01-10 19:55:26 -06:00
templates Add a hopefully functional implementation 2021-01-10 19:50:20 -06:00
.gitignore Add gitignore 2021-01-09 22:21:46 -06:00
README.md Fix README 2021-01-10 20:09:47 -06:00

README.md

ansible-role-terraria

A role to install a Terraria server.

Supported Configuration

The role supporst the following distros:

  • Anything Debian-like

The only real dependency is Mono. If you can get that installed some other way, the role will probably work on any distro.

Basic Setup

Template out the role, ensuring it has root privileges. Consider setting the following vars:

terraria_name: Name of the subdirectory of the server
terraria_version: The Terraria version string, sans periods (ex. 1412)
terraria_enabled: Boolean to determine the state of the server (defaults to yes)

More handy variables can be found in defaults.

You can manage server-config through the terraria_config dictionary:

terraria_config:
  maxplayers: 8
  password: supersecret

Run the play and enjoy.

Administration

The role will install servers as systemd units. A server named default will have the unit terraria@default.service. The server runs as its own user.

To access the server console, invoke screen as the terraria user. For example, to access the console of a server named default, use sudo -u terraria screen -r default.

TODO

The biggest issue is that Redigit doesn't have a very... friendly server URL scheme. Often, if you want to download an updated server package, you'll have to manually change the terraria_downloadurl. Solutions to this problem are welcome.