rustpm (WIP)

Process manager for RustDedicated

A drop in replacement for RustDedicated that wraps the logs, manages the process and keeps your server up to date. This is still being developed and may have bugs, so please open an issue if you notice anything.

Features

  • Automated Oxide + SteamCMD updates (checked every 60 seconds)
  • Restart server after a crash
  • Windows + Linux compatibility
  • RustDedicated & SteamCMD timestamped log files kept for 7 days
  • RCON command rustupdate ran when an update is available, allowing you to gracefully shutdown. Respond with “wait” to pause the update for 5 minutes.

Usage

  • Place the rustpm binary (releases) alongside RustDedicated
  • Use rustpm instead of RustDedicated in your startup script, passing the same arguments e.g.
./rustpm -batchmode -nographics -server.maxplayers 2 -server.ip 0.0.0.0  -rcon.port 28016  -rcon.password 123

Example
example-log

Build

Requirements

  • Linux / Windows
  • Go 1.17

Linux

make linux

Windows

make windows

Notes

  • To take advantage of graceful shutdowns, you must pass the normal rcon connection params to rustpm and a plugin must respond to the rustupdate RCON command with wait
  • SteamCMD must be in your path
  • You cannot use the -logfile param on windows
  • Both SteamCMD and Oxide updates must be available before the update is triggered
  • LD_LIBRARY_PATH & TERM do not need to be set on Linux, and you don’t need to wrap rustpm in a while loop to keep it alive.

Coming soon

  • Discord notifications for exceptions and crashes
  • Daemon mode
  • Persistence or service setup

GitHub

View Github