Very useful if you own more than one server and want to run a command to the other server without switching between them (similar to CommandSync for Bukkit). This is a must have for large networks! This doesn’t require Bungeecord, works across multiple versions of Minecraft, and across Bukkit and Sponge servers!
SynX is required
How to use
The main and only command is /sync, followed by a comma-separated list of servers, tags, the keyword “all”, and/or flags, followed by the command.
Servers may have one or more tags specified on their config.yml files. This will allow to send commands to all servers with a specified tag instead of specifying each server every time. Tags starts with a #
All flags start with a ! and they’re specified on the first comma-separated parameter.
This is a list of flags you can use:
- sm = Suppress message: no response will be produced by the server
- sc = Server console: the console will receive the response instead
- tl# = Time to live: this command won’t be executed on the target server after the specified amount of seconds
- ep = Emulate player: this should trick the server that receives the command making the plugin think a player is running this command
- vv = Verbose: logs info on the server console about this command.
/sync lobby list - this will return the online players’ list on “lobby”
/sync lobby,#vanilla list - this will return the online players’ list on “lobby” and all servers with the tag “vanilla”
/sync all,!sc,!tl60 list - all known servers will show the online players’ list on those server console, but only if those servers receive this command in 60 seconds (consider if the target server is currently off and will be started after a minute)
- sync.manage - necessary to use all the sync commands
Have you considered using Spongee?
Yes, I found it very very useful for all the developers that wants to use the Bungeecord messaging channel!
This plugin is different. It doesn’t need Bungeecord. SynX just transfer data between plugins across servers. It’s not a proxy, nor a wrapper for Bungeecord. Sync transfers commands only, using SynX and a MySQL database to transfer data.
This is a port of the Bukkit plugin, and it works across almost all Minecraft versions.
Oh. I misunderstood what this did.
You may want to say in the OP that this doesn’t even need Bungee.
How long does it take for all servers to have run the command?
It depends on a lot of factors: settings, latency between the servers and the MySQL server, etc…
I use it to connect multiple distant servers (some in Canada, some in France), and usually it’s within 1 second.
So are you continuously polling the database server or something?
Sync is not polling the MySQL server. At this stage, SynX supports MySQL databases only, so SynX is polling the database. I am aware there are better ways to do this (and it’s already planned, to improve performances), but we needed something that would work easily with just a MySQL server.
Oh right, Yeah I meant Synx, I skimmed a little when reading and didn’t 100% understand the difference.
I would be very grateful if I could get any help what so ever on a fork of this I am trying to do. My aim is instead of sending commands to send player config files such as uuid.dat in the world folder. The idea behind this is to better integrate different servers. I have sent you an email or you can message me on here
This is the topic for Sync, a plugin that allows admins to remotely run commands from other servers.
What you are trying to do is making a plugin (not a fork) that uses SynX to transfer players data between servers.
You can open a new topic on the Plugin Requests category.
PS: there are several issues with this. e.g. all servers must use the same item IDs.
perhaps fork was a bad word. My plan was fork this replacing sending a command with a file and stripping out everything else I didn’t need but guess it is now just a different synX plugin (the result: https://github.com/JamieS1211/Sync). Regardless I am currently having issues with synX when trying to use Sync, its not being recognised correctly in game. This is a screenshot of the server startup log with the error line highlighted. At first I thought sponge wasn’t starting correctly but if you look closely (I also highlighted this) you can see sponge and the permissions stuff starts with the server. When I have Sync in on startup it won’t start as it throws an error of not having SynX on the server when SynX is required.
I am using these builds:
Sorry for the extremely late reply. This plugin is using SpongeAPI 5, not sure if it works with SpongeAPI 4.
EDIT: I just remembered that I already helped you through private messages.