Today I’m open sourcing one of my Rust server backend applications. It’s a middleware app I’ve named rustcon. It’s essentially a RCON middleware layer that allows you to maintain a single RCON connection to your Rust server that is accessilbe by many applications.

The benefit of this is for each Rust server you run, you have a corresponding middleware process associated with it. That process uses shared resources like Redis, InfluxDB, webhook, etc to allow any amount of individual applications to interface with the Rust server without having to maintain their own RCON connection. You can have a single discord bot for example that maintains a single connection with Redis, and is able to interact with as many Rust servers as you have.

Above is a sample diagram that is not far off from what I use with Splash.

Statistics too!

It also can handle built in statistics collection from any bit of data it’s receiving from RCON, or from periodically run commands. For example, it can be configured to run clientperf every 30 seconds, and capture the Rust client statistics that command outputs.

It supports the following features:

  • Redis integration
  • InfluxDB integration
  • Built in scripting language for statistics and alerting customization
  • RCON connection persistance

So, here it is! I’ve actually documented it somewhat well.

https://github.com/diametric/rustcon