Skip to content

NullSoldier/serverthrall

Repository files navigation

This project is no longer being maintained.

I've really enjoyed working on the project but I've had to move onto other important things.

May crom watch over you.

 - NullSoldier

Server Thrall is a python based dedicated server toolbox. It's not a GUI to manage your server. It adds new features to the dedicated server that are not previously supported. I also highly recommend enabling the ApiUploader plugin to get your own live server website at http://thrallbrowser.com.

Quickstart

How To...

Plugins

Do not edit serverthrall.config while serverthrall is running. Your changes will be overwritten by serverthrall.

Name Description
ServerConfig Allows you to configure common server settings from your server thrall config. If the config differs from expected, the config will be edited and the server restarted.
DownRecovery Restarts the server if the server is offline.
ServerUpdater Checks for updates and updates the server automatically
ServerRestarter Will restart the server at defined intervals, and sends out a warning to RCON and Discord
Discord Sends message to discord via webhooks.
RCON Sends messages and commands to a conan exiles server via the RCON protocol.
RestartManager Makes sure notifications are sent out during restarts and the waiting period for a restart is respected. Used by other plugins.
UptimeTracker Records the percentage of time the server has been online. If the server thrall is closed, this counts against the uptime percentage.
ApiUploader Uploads your server data to serverthrallapi so you can see your data online. If your server_id was 2, you would access your servers characters at this URL: https://thrallbrowser.com/server/2/characters and you can fetch your REST API data at https://serverthrallapi.herokuapp.com/api/2/characters
DeadManSnitch https://deadmanssnitch.com Emails you when your server is down. You can sign up for a free account which gives one limited snitch.
PeriodicMessage Lets you send messages using RCON into your server at a defined rate.
RunScripts Lets you run arbitrary scripts when the server is restarting, and optionally send the results from STDOUT to a discord webhook.

Example Config

[ServerThrall]
conan_server_directory = c:\serverthrall\vendor\server
force_update_on_launch = false
additional_arguments =
set_high_priority = false
testlive = false

[ServerConfig]
enabled = true
ServerName = "Test Server"
AdminPassword = ilovefruit
QueryPort = 27015
Port = 7777
RconEnabled = 1
RconPassword = ilovefruit
RconPort = 25575
RconMaxKarma = 60

[UptimeTracker]
enabled = false

[DownRecovery]
enabled = true

[ServerUpdater]
enabled = true

[ApiUploader]
enabled = true

[DeadManSnitch]
enabled = false
snitch_url = https://nosnch.in/...

[ServerRestarter]
enabled = true
restart_times = 2:56,1:00,4:00,9:00,16:00,20:00
force_restart_on_launch = false

[Discord]
enabled = true
ServerRestarter = https://discordapp.com/api/webhooks/...
DownRecovery = https://discordapp.com/api/webhooks/...
ServerUpdater = https://discordapp.com/api/webhooks/...

[RemoteConsole]
enabled = true

[RestartManager]
enabled = true
warning_minutes = 5
warning_send_discord = True
warning_send_rcon = True
restart_send_discord = True
restart_send_rcon = True

Example Log

> runserver.bat
[serverthrall] Running version 2.0.8
[serverthrall] Initializing with plugin ApiUploader
[serverthrall] Initializing with plugin DeadManSnitch
[serverthrall] Initializing with plugin Discord
[serverthrall] Initializing with plugin DownRecovery
[serverthrall] Initializing with plugin ServerConfig
[serverthrall] Initializing with plugin ServerUpdater
[serverthrall] Initializing with plugin ServerRestarter
[serverthrall] Initializing with plugin UptimeTracker
[serverthrall] Launching server and waiting for child processes with extra arguments,  -MULTIHOME=192.168.2.18
[serverthrall] Server running successfully
[serverthrall.ServerUpdater] Auto updater ready, currently known buildid is 2729250
[serverthrall.UptimeTracker] Server Uptime at 87.06 percent