Rustpm - Process manager and automated updates for RustDedicated

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
Similar Resources

Automated refactoring for Terraform

tfrefactor Automated refactoring for Terraform. Currently supports: Rename local / var / data / resource across all files in a config Move items or ca

Oct 21, 2022

Automated Arch Linux (Written in Go)

Automated Arch Linux (Written in Go)

ShobuArch -- Automated Arch Linux Tools (Written in Go) Have you ever wanted to use an IaC (Infrastructure as Code) approach towards automating an Arc

Sep 18, 2022

This process installs onto kubernetes cluster(s) and provisions workloads designated by the uffizzi interface

Uffizzi Cloud Resource Controller This application connects to a Kubernetes (k8s) Cluster to provision Uffizzi users' workloads on their behalf. While

Dec 14, 2022

Small helper to bridge between Vault and AWS Credential Process.

vault-aws-credential-helper The Vault AWS Credential Helper is a component that can be injected into a task environment and be used as a credential he

Nov 21, 2021

👻 A simple API to inter-process communicating between Go and Node

go-to-node A simple API to inter-process communicating between Go and NodeJS. Quick start Go to Node main.go: package main import ( "fmt" "os" "os

Jan 7, 2022

Netstat exporter - Prometheus exporter for exposing reserved ports and it's mapped process

Netstat exporter Prometheus exporter for exposing reserved ports and it's mapped

Feb 3, 2022

Bubbly is an open-source platform that gives you confidence in your continuous release process.

Bubbly is an open-source platform that gives you confidence in your continuous release process.

Bubbly Bubbly - Release Readiness in a Bubble Bubbly emerged from a need that many lean software teams practicing Continuous Integration and Delivery

Nov 29, 2022

A very simple utility that allows you to run the desired command or script as soon as a certain process with a known PID completes correctly or with an error.

go-monkill A very simple utility that allows you to run the desired command or script as soon as a certain process with a known PID completes correctl

Dec 17, 2022
Related tags
Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration, and automating updates to configuration when there is new code to deploy.
Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration, and automating updates to configuration when there is new code to deploy.

Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.

Jan 8, 2023
Terraform Provider for Azure (Resource Manager)Terraform Provider for Azure (Resource Manager)
Terraform Provider for Azure (Resource Manager)Terraform Provider for Azure (Resource Manager)

Terraform Provider for Azure (Resource Manager) Version 2.x of the AzureRM Provider requires Terraform 0.12.x and later, but 1.0 is recommended. Terra

Oct 16, 2021
Apachedist-resource - A concourse resource to track updates of an apache distribution, e.g. tomcat

Apache Distribution Resource A concourse resource that can track information abo

Feb 2, 2022
Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates
Kubernetes Operator to automate Helm, DaemonSet, StatefulSet & Deployment updates

Keel - automated Kubernetes deployments for the rest of us Website https://keel.sh Slack - kubernetes.slack.com look for channel #keel Keel is a tool

Dec 28, 2022
Raspberry Pi Archlinux Automated Offline Installer with Wi-Fi. Windows, Mac and more features coming.
Raspberry Pi Archlinux Automated Offline Installer with Wi-Fi. Windows, Mac and more features coming.

Raspberry Pi Archlinux Automated Installer with Wi-Fi. Windows, Mac and more features coming. Download Go to releases page and download the zip file f

Nov 22, 2022
Automated-gke-cilium-networkpolicy-demo - Quickly provision and tear down a GKE cluster with Cilium enabled for working with Network Policy.

Automated GKE Network Policy Demo Before running the automation, make sure you have the correct variables in env-automation/group_vars/all.yaml. There

Jan 1, 2022
Automated configuration documentation library for Go Projects.

Cato Cato is an automated documentation generation library for Go Projects. Through the use of custom tags for struct fields, Cato can extract informa

Aug 28, 2020
Gola is a Golang tool for automated scripting purpose

Gola Gola is a Golang tool for automated scripting purpose. How To Install You can find the install script here. Example Configuration commands: - n

Aug 12, 2022
Mutagen Compose is a modified version of Docker Compose that offers automated integration with Mutagen.

Mutagen Compose Mutagen Compose is a (minimally) modified version of Docker Compose that offers automated integration with Mutagen. This allows you to

Dec 22, 2022
A Golang library for testing infrastructure in automated ways.

Infratest Infratest is a Golang library that we hope makes testing your infrastructure using tests that are written in Golang easier to do. The genera

Nov 2, 2022