Jump to content

3 Screenshots

About Rust Sync Bot

Are you tired of having to change configurations and plugins manually on multiple Rust servers that run the same configurations? (eg. a mirrored US and EU version of your server)

Then this is just what you are looking for!

Introducing RustSyncBot—your ultimate solution for seamless server synchronization. Designed with ease of use in mind, RustSyncBot is an easy-to-install Pterodactyl egg that effortlessly keeps your game servers in sync across multiple machines. Whether you're running a network of Rust servers or any other setup requiring consistency across servers, RustSyncBot is here to simplify your workflow.

With RustSyncBot, you can easily specify the directories and files that need to be mirrored from a main server to one or more secondary servers. The bot’s robust configuration options allow you to manage multiple pairs of servers, ensuring your server network stays perfectly synchronized at all times.

 

Key Features:

  • Easy Installation: Install and set up within minutes with our user-friendly Pterodactyl egg.
  • Seamless Synchronization: Automatically sync specified directories and files from your main server to secondary servers.
  • Multi-Server Management: Configure multiple server pairs to maintain consistency across your entire server setup.
  • Efficiency Boost: Streamline your server management, making it easier than ever to run the same server setup across multiple servers.
  • RustSyncBot takes the hassle out of server synchronization, letting you focus on what matters most—delivering an exceptional gaming experience to your community.
  • Tested and working with "BotReaper Python Discord Bot" node. You just need to modify the "APP PY FILE" to be "main.py" instead of "app.py"
  • Pterodactyl is NOT needed, you can run this bot through normal python on any server or even windows machine with python installed!

 

Installation Instructions:

How to install:
1. Create a new server using the provided egg called "egg-rust-sync-bot.json".
2. Upload the "rustsyncbot.zip" archive to the server's Files section. Once uploaded, you can unzip the file or trigger a reinstall in the server's Settings section.
3. Navigate to the Files section and modify the .env file if you would like to change the sync time (default 120 seconds) (do not set it too low, as then you will have alot of network requests often, test and set to your needs)
4. Navigate to the config directory and look through the "example.yaml" file, you will need to setup your configuration files to connect to your servers, specify what files/folders you would like to sync 
	(I recommend using https://yamlchecker.com/ OR https://jsonformatter.org/yaml-formatter/ to verify that your syntax is correct)
5. Start the server. All dependencies will be installed on startup, and bot will automatically start.
	(The bot will ONLY copy files that have a newer modified date from server_1 over to server_2. so make sure your files are the latest version on server_1)
6. Leave server running, bot will recheck files based on the SYNC_INTERVAL you have set in the .env file

 

NOTE: All directories/files are RELATIVE to the starting location of your SFTP login. this means that you should NOT put /home/container/ before each of your folder/file locations

 

I have made a tool to help with generating the correct information for the configuration. It can be found at:  https://rustsync.rustvideo.com/

 

Sample Configuration:

# MAIN server
server_1_name: Server 1 Display Name
server_1_url: ip:port # eg 192.168.1.1:2022  using sftp://domain.com:2022 "should" work also
server_1_user: username.shortcode
server_1_pass: panelpassword
server_1_sftp: True # do not change, for future functionality

# SECONDARY server
server_2_name: Server 2 Display Name
server_2_url: ip:port # eg 192.168.1.1:2022  using sftp://domain.com:2022 "should" work also
server_2_user: username.shortcode
server_2_pass: panelpassword
server_2_sftp: True # do not change, for future functionality

# directories for the bot to keep in sync CASE SENSITIVE
# directories are listed as key/pair. where the key is the directory on the main server, and value is the directory
# on the secondary server eg.
#  oxide/plugins: carbon/plugins
#
# will sync the directory of oxide/plugins on server_1 to the carbon/plugins directory on server_2
# you can use trailing slashes and preceding slashes. eg.
# /oxide/plugins , /oxide/plugins/, and  oxide/plugins  are all valid options

# CASE SENSITIVE
directories_to_sync:
  oxide/plugins: oxide/plugins
  oxide/config: oxide/configs
  oxide/data/copypaste: oxide/data/copypaste


# files for the bot to keep in sync CASE SENSITIVE
# files are listed as key/pair. where the key is the location on the main server, and value is the location on the secondary server
# eg.
#  oxide/plugins/ZoneManager.cs carbon/plugins/ZoneManager.cs
#
# will sync the individual file of "oxide/plugins/ZoneManager.cs" on server_1 to the location of "carbon/plugins/ZoneManager.cs" on server_2

# CASE SENSITIVE
files_to_sync:
    steam_appid.txt: steam_appid.txt
    
    
# directories for the sync bot to ignore, it will ignore these directories if the path is found within the sync, eg, if you are syncing carbon/data, it will 
# ignore the following
# - carbon/data/AdminMenu


# CASE SENSITIVE
directories_to_ignore:
  - carbon/data/AdminMenu
  - carbon/data/Shop
  - carbon/data/Backpacks
  

# files for the sync bot to ignore, it will ignore these files if the path is found within the sync, eg, if you are syncing carbon/config, it will 
# ignore the following
# - carbon/configs/AbandonedBases.json

# CASE SENSITIVE
files_to_ignore:
  - carbon/configs/AbandonedBases.json
  - carbon/configs/RaidableBases.json

 

  • Like 1

SiCkNeSs's Collection

User Feedback

1.4m

Downloads

Total number of downloads.

6.9k

Customers

Total customers served.

103.4k

Files Sold

Total number of files sold.

2.1m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.