Search the Community
Showing results for tags 'sync'.
-
Version 1.0.3
16 downloads
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$12.00- 2 comments
- 2 reviews
-
- 1
-
- #sync
- #pterodactyl egg
-
(and 7 more)
Tagged with:
-
Version 1.0.2
8 downloads
This plugin synchronizes groups, group permissions, player groups, and player permissions across multiple servers. Questions & Answer: Config: { "General Settings": { "Prefix": "[PG-Sync]", "SteamID": "0", "Debug": false }, "Sync Settings": { "Main Server (This should be true only on the main server among servers.)": false, "Main Server Redirect IP": "127.0.0.1", "Main Server Redirect Port": "28015", "Sync Groups?": true, "Sync Players Permissions?": true, "Sync Groups in Permissions?": true, "Sync Save Time (secs)": 60, "Exception for Auto Group Sync": [], "Exception for Auto Permissons Sync": [] }, "Mysql Settings (Recommended v5.7.37)": { "MySqlIp": "", "MySqlPort": 3389, "MySqlUsername": "", "MySqlPasword": "", "MySqlDatabase": "" }, "Version": { "Major": 1, "Minor": 0, "Patch": 0 } } This plugin was created at the request of the client.$30.00 -
Version 1.0.2
3 downloads
Sync your currency system across multiple servers. Question & Answer: Config: { "General Settings": { "Debug": false }, "Sync Settings": { "Economics": true, "ServerRewards": true, "UploadTimer": 10.0 }, "Mysql Settings": { "MySqlIp": "127.0.0.1", "MySqlPort": 3899, "MySqlUsername": "", "MySqlPasword": "", "MySqlDatabase": "" }, "Version": { "Major": 1, "Minor": 0, "Patch": 0 } }$9.99- 2 comments
-
- #currency
- #server rewards
-
(and 6 more)
Tagged with:
-
Version 1.0.0
4 downloads
Sync blueprints across multiple servers. Config: { "General Settings": { "Prefix": "[Sync-Blueprints]", "Debug": false }, "Sync Settings": { "Ignore Blueprints shortname": [] }, "Mysql Settings": { "MySqlIp": "", "MySqlPort": 3389, "MySqlUsername": "", "MySqlPasword": "", "MySqlDatabase": "" }, "Version": { "Major": 1, "Minor": 0, "Patch": 0 } }$9.99-
- #sync
- #blueprints
- (and 5 more)
-
Version 1.0.0
1 download
This plugin is a plugin that changes the player's nickname. [Available on single server and multi server.] Commands: Permissions: Config: { "General Settings": { "Prefix": "[ReName]", "SteamID": "0", "Commands": [ "syncname", "name", "changename", "rename" ], "Debug": false }, "nameSettings": { "Default Change Name Count": 1, "Name Min Length": 2, "Name Max Length": 15, "Can't Words": [ "fuck", "porn", "ass", ".com", ".io", ".net" ] }, "Mysql Settings": { "MySqlIp": "", "MySqlPort": 3389, "MySqlUsername": "", "MySqlPasword": "", "MySqlDatabase": "", "If there are multiple servers": false }, "Version": { "Major": 1, "Minor": 0, "Patch": 0 } } Lang: { "NoPerm": "<color=red>You are have not permission</color>", "CantChange": "<color=red>You cannot change your name because you do not have the right to change it.</color>", "Changed": "<color=#00ff00>Previous name: {0} -> New name: {1} changed. [Remaining count: {2}]</color>", "EmptyName": "<color=red>name is blank.</color>", "CantContains": "Contains words that cannot be set as names.", "NameLengthInvalid": "Minimum {0} ~ Maximum {1} name length" }$7.77-
- #name
- #name change
-
(and 5 more)
Tagged with:
-
Version 1.0.6
76 downloads
Connect multiple Rust servers together and have your players travel between them in fun ways using events! This plugin allows you to synchronize player inventories and stats, event containers, and much more to come! Please use the Discussions tab to recommend suggestions, as I am very open to implementing your great ideas for everyone to enjoy! NOTICE: This plugin does not automatically reconnect you to other servers as Rust's Nexus system is not released yet. You'll be notified that you must type in the connect command leading the IP and port of the server you've been transferred to. Try before you buy it! connect germany.mikehawke.co.uk:29015 [ ! ] PLEASE KEEP IN MIND THAT CERTAIN SERVER HOSTS DO NOT ALLOW YOU [ ! ] [ ! ] TO IMPORT FILES/DLLS, WHICH THIS PLUGIN REQUIRES YOU TO [ ! ] INCLUDED DLL EXTENSIONS REQUIRED EVENTS CH47 Transition Event FRIENDLY & HOSTILE MODES THIS EVENT REQUIRES BOTH INITIAL AND DESTINATION SERVERS TO HAVE AIRFIELD FOR IT TO WORK The Chinook event carries you and another 12 participants over the seas. You'll be greeted by Jackie Chan and Jamie Lee, your border patrol officers which will assist you to have a save welcoming onto the server. Make sure you're not wearing any illegal items on you or you'll be marked hostile and will be immediately attacked. The storage on the right in the picture can be used as luggage which can carry items that are coming with the Chinook onto the other server. On screen you'll find the directions on how to get yourself seated. Press [RELOAD] to open up the seating panel, and assign yourself onto whichever you're liking. Cargo Ship Transition Event FRIENDLY & HOSTILE MODES The Cargo Ship event you're willing to infiltrate and use for transport is driven by scientists or has a peaceful visit in the server you're in, broadcasting its next travelling spot. You got a luggage storage which can contain items you wanna carry from the other server in mass. HOW TO INSTALL Have at least 2 servers running so you can make sure the whole connection is valid. On both of your servers, make sure you've loaded the required dependencies for the plugin to work: ImageLibrary by k1lly0u from uMod Human NPC by Ts3hosting from uMod On the first server you consider the Main/Master, make sure you have MultiverseCore.cs and MultiverseMaster.cs. in the plugins folder. On the second server you consider Secondary/Slave, make sure you have MultiverseCore.cs and MultiverseSlave.cs in the plugins folder. After this is done, in the Master server, in oxide/config folder you should find MultiverseMaster.json. Opening it up, you should find a similar config to the one underneath this page, at the CONFIGURATION section. In the shared section, under the Servers property, you must define both your Main and Secondary servers in the list. Only one of the defined servers must have the IsMaster property set to true. Once that is done, make sure you reload the plugin (with o.reload MultiverseMaster) to apply the changes. Please make sure you provide the FirstSpawnServerId property and set it to the ID for the server defined in the Servers property in the config. When the server reloads, you should see what is in the image on both of your servers' windows. To validate that everything is connected, you can manually trigger events with the following command: spawnevent master slave01 2: This will create a Friendly CargoShip event on the Master server which when the timer runs out, it gets teleported to the other Slave server you're running. spawnevent slave01 0: This will create a Friendly CH47 event which comes from the Slave server to the Master. This only works if both servers have Airfield on the map. If you don't, you can use 2 or 3 for the event type value to spawn CargoShips and start events on both servers simultaneously. For more info, scroll lower and read through the CONFIGURATION and/or COMMANDS section if things aren't clear enough. srvs 1/3 is the connected and total amount of servers that are connected with eachother. evnts 0 are the currently locally running events on the server. arriv 0 are the currently local locally running arrival events, events that come from other servers. hnshk valid this must be valid at all times, if the master server goes offline, the handshake becomes invalidated. NOTE: The handshake between the master server and all the sub-connected servers must be synchronized. If the Master server goes offline, the sub-servers will be locked until the Master server is up so it can dictate where the players should go and the their activity being communicated. To set your events up and running, so it all comes to life, follow these instructions: If you at any point struggle to understand where all this is referring to, please scroll lower and read through the CONFIGURATION section, every single property is explained. Within the Shared property, you'll find the Schedules array. Schedules currently consist in 4 different key elements to run. SourceServerId is the ID of the server the event is starting from. DestinationServerId is the ID of the server the event is going towards. EventType is the integer index of the event type / kind you want to be executed for that schedule. Cooldown in minutes the schedule will be postponed until it can be triggered again. (I highly recommend 30 minutes) After this property is done, make sure you reload the Master server plugin (o.reload MultiverseMaster) to apply all your changes. NOTE #1: Scheduled events only get triggered if both the server an event is starting from and the server an event is going towards are valid and online / connected. NOTE #2: Scheduled events are executed in random order. CONFIGURATION The entire plugin can be managed from one configuration file, which can be found in the config folder of the Master server when you've initially added the MultiverseMaster.cs script in the plugins folder (alongside the MultiverseCore.cs file). There can be defined only one server as being the master server. Highly advise to keep the ID of it to "master". The MultiverseSlave.cs and MultiverseCore.cs both go in all the other servers' oxide/plugins folder. This is a rundown on all the current settings you can have for the Master server: "Sync": { "Interval": 120.0, "Time": true, "Weather": true } The sync property is used by the Master server to synchronize the time and weather across all the servers. The interval is set to 120 seconds by default, which is what it is recommended. "ScheduleTickRate (in seconds)": 60.0 Scheduled events ticking rate in seconds. It basically checks every 60 seconds if there's anything available to be triggered onto the server based on the cooldowns of existent scheduled events. "Legend": { "EventTypes": { "0": "CH47 Friendly", "1": "CH47 Hostile", "2": "CargoShip Friendly", "3": "CargoShip Hostile" } } The legend is read-only, is to help you to choose what events you'd like to use in your schedule list. "Shared": { "FirstSpawnServerId": "master", "WipeDeadBody": true, "UI": { "ShowLogo": true, "ShowShadows": true, "Colors": { "ValueColor": "eee16f", "PassengersColor": "6faaee", "StatusColor": "ee6fbe" } }, "BorderPatrol": { "IllegalItems": [ { "ShortName": "bleach", "SkinId": 0, "MinAmount": -1 } ] }, "Schedules": [ { "SourceServerId": "myserver1", "DestinationServerId": "myserver2", "EventType": 0, "Cooldown": 30.0 }, { "SourceServerId": "master", "DestinationServerId": "myserver1", "EventType": 2, "Cooldown": 30.0 } ], "Servers": [ { "IsMaster": true, "Id": "master", "DisplayName": "Master", "Ip": "myip", "Port": 12345, "RconPort": 12346, "RconPassword": "legitpassword", "Settings": {}, "IsConnected": true }, { "IsMaster": false, "Id": "slave01", "DisplayName": "Slave #01", "Ip": "myip", "Port": 23456, "RconPort": 23457, "RconPassword": "legitpassword", "Settings": {}, "IsConnected": false }, { "IsMaster": false, "Id": "slave02", "DisplayName": "Slave #02", "Ip": "myip", "Port": 23456, "RconPort": 23457, "RconPassword": "legitpassword", "Settings": {}, "IsConnected": false }, { "IsMaster": false, "Id": "slave03", "DisplayName": "Slave #03", "Ip": "myip", "Port": 34567, "RconPort": 34568, "RconPassword": "legitpassword", "Settings": {}, "IsConnected": false } ] } This portion of the config is being shared across all servers, just to stay up to date so you don't have to manually do anything onto the other servers. FirstSpawnServerId: Is the where all the newly spawned players that connect to your Multiverse get sent to. If it is one of your other servers, they'll be redirected to this one. WipeDeadBody: Will simply remove the player's info from the data file when a player is dead. This could be used to avoid keeping track of short-time visitors onto the server. UI: It's cosmetic changes to the UI that can be noticed most of the time on screen. BorderPatrol: You may configure what items are illegal to carry from a server to another. IllegalItems: ShortName: Is the short name of the item. SkinId: Used for specific skinned items to be considered contraband. MinAmount: Keep the minimum amount to -1 if you want the whole item to be considered as contraband. Raise it to any other number if a specific amount of items with the amount can be carried across. Schedules: SourceServerId: Is where the event starts. Use the ID predefined in the Servers property. DestinationServerId: Where the players are sent when they the event transitioned. Use the ID predefined in the Servers property. EventType: Is the preferred event ID showed in the Legend section of the config file. Use 0 for CH47 Friendly, 1 for CH47 Hostile, etc. Cooldown: In minutes, it's used whenever an event has started. Servers: IsMaster: This must be assigned to "true" only for one defined server in this array property. Id: Is the server ID that the Scheduled events will be using to initiate events from a server going to another. DisplayName: The in-game name of the servers which will be announced in chat and the UI whenever an event goes towards them. Ip: The IP of the server one can connect to (client & RCON). Port: The port of the server. RconPort: The RCON port of the server one can connect to. RconPassword: The password of the RCON connection one server can connect to. Settings: This will become more populated in future updates. IsConnected: This can be ignored. It's required to be displayed for serialization reasons. COMMANDS Admin Console Commands spawnevent [fromServerId] [toServerId] [eventType]: Manually starts an event. move [playerName/Id] [serverId]: Forcefully moves a player to another server. They'll respawn like a fresh spawn but with everything they have carried in their inventory from the server they came from. Admin Chat Commands /multiadmin: Opens the admin panel. ONLY ACCESSIBLE ON THE MASTER SERVER. Player Commands None. As of now. PERMISSIONS Multiverse.admin: Mainly used by administrator commands or behaviour change. UPCOMING Synchronize Teams Synchronize Blueprints Add plugin synchronisation support Add more events Add custom events Add passport system (c) Raul-Sorin Sorban — 2022 All rights reserved$20.00- 28 comments
- 1 review
-
- 20
-
Version 1.1.4
25 downloads
Allow the administrator to limit the number of authorized players per Tool Cupboard. It can also sync turret auth with Tool Cupboard. Features: Parameters "syncTurret: true" to make Turrets don't attack players who have Building Privilege. "limitPerRank => default" is the default amount of allowed authorization per Tool Cupboard. Permission "ToolCupboardAuthLimiter.rank.zero" players with this permission will upgrade (from default) the amount of allowed authorization per Tool Cupboard. "ToolCupboardAuthLimiter.rank.one" players with this permission will upgrade (from zero) the amount of allowed authorization per Tool Cupboard. "ToolCupboardAuthLimiter.rank.two" players with this permission will upgrade (from one) the amount of allowed authorization per Tool Cupboard. "ToolCupboardAuthLimiter.bypass" allow the player to bypass the limitation. Demonstration: Video coming soon... Live test: You can try all my public plugins on my servers at https://Rust.Maelep.be This plugin is available on the following servers: Maelust: Extended Official, Maelust: Wildman, Maelust: Escape From Rust. Warranty The customers benefits from a 28-day warranty from the date of the last sell of the plugin. This warranty covers bugs related to the script and, as far as possible, bugs related to Rust and uMod updates. Bugs: Bugs because of my script will always fixed as soon as possible. Bugs because of uMod or Rust changes will be fixed as soon as possible but I'm not responsible for the inability to continue to maintain the plugin due to incompatibility. No refund will be made.$10.00- 6 comments
-
- 1
-
- #toolcupboard
- #tool
-
(and 7 more)
Tagged with: