HomeJavaModsCommandSync
CommandSync
Spoiler: About updating
I just got tired of waiting for the official support of PaperSpigot core and I decided to do it myself.
After the changes I made, I decided to put it in open access.
Original plugin ---> Link.

Please tell me on which versions you have successfully launched this plugin.
With almost 100% probability the plugin will not work on hosting sites that provide only 1 port for connection!!! VDS/VPS or dedicated server is required for correct functionality!


Supported proxy:
- Velocity(plugin version 2.8+)
- BungeeCord
- WaterFall
- Other BungeeCord forks
Supported servers:
- SpongeVanilla/SpongeForge API 7/8+
- Bukkit, Spigot, PaperSpigot etc. Theoretically can work on ForgeBukkit servers(not tested).
- Fabric(Cardboard mod is required).


Installation
  1. Read this entire post before installing.
  2. Download the jar file.
  3. Stop your BungeeCord/Velocity server, if it isn't already.
  4. Put the CommandSync.jar file in your BungeeCord/Velocity plugin folder.
  5. Start your BungeeCord/Velocity server.
  6. Stop your BungeeCord/Velocity server.
  7. Set the pass in the <BungeeCord/Velocity>/plugins/CommandSync/config.txt.
  8. Start your BungeeCord/Velocity server.
  9. Stop your Minecraft servers, if they aren't already.
  10. Put the CommandSync.jar file in your plugin/mods folder on your Minecraft servers. Magically, they don't need to be under the same BungeeCord/Velocity instance.
  11. Start your Minecraft servers.
  12. Stop your Minecraft servers.
  13. In each <BukkitServer>/plugins/CommandSync/config.txt or <SpongeServer>/config/commandsync/config.txt put a UNIQUE name for identification. Example: survival, creative or whatever. Also put the pass that you set in CommandSyncServer's config.txt.
  14. Start your Minecraft servers.
  15. Woo, you're done!
Usage
Here are some example uses.
  1. /sync console all broadcast Hi there people! would make the console on all servers run the command broadcast Hi there people!
  2. /sync console survival broadcast Hey there! would make the console on the server identified as survival run the command broadcast Hey there!
  3. /sync console bungee alert Wassup! would make the console of the BungeeCord server run the command alert Wassup!
  4. /sync player all me Hey would make every online player under the BungeeCord instance the CommandSyncServer is running off run the command /me Hey
  5. /sync player md_5 give YoFuzzy3 cookie 1337 would make the player md_5 run the command /give YoFuzzy3 cookie 1337
(Of course when you make a player perform a command they must have the permission to use it)

Commands (Only Minecraft Servers)
Permissions
Configuration
CommandSyncServer:
ip=localhost
port=9190
heartbeat=1000
pass=UNSET
debug=false
removedata=false
lang=en_US
CommandSyncClient:
ip=localhost
port=9190
heartbeat=1000
name=UNSET
pass=UNSET
debug=false
removedata=false
lang=en_US
Awesome Features
Internals
Here's my very bad diagram of how it works made in Paint, you're welcome to make me a better one. http://imgur.com/llIbkia

If that diagram made no sense to you here it is in most basic text form.
The ` /proxysync` command with the same arguments is used for the proxy server.
To execute the command " /sync console player <player_name>" you need the player to be online and the server name in the plugin configuration coincided with the server name in the configuration of the proxy server.
Because of how it all works data has to be saved. So here's that explained.

CommandSyncClient (CSC) saves:
CommandSyncServer (CSS) saves:
Deleting any piece of data (excluding the queued commands for offline players) will cause the CSS and the CSCs to go out of sync (wow such pun) potentially causing commands to be run duplicate times.

If the CSS or a CSC crashes and prevents its data from saving then the same effect as described above may occur.

If you are confident that all commands have been processed successfully and would like to reset the saves then you must:
  1. Shut down the Bungee server running CSS and all MC servers running CSC.
  2. Delete all the data.txt files located at:
    1. Bungee/plugins/CommandSync/data.txt
    2. Bukkit Server/plugins/CommandSync/data.txt
    3. Sponge Server/config/CommandSync/data.txt
  3. Start up all the servers.
Changelog

Version 2.8.2 ►
Fixed message for `sync console player args...` command.
Fixed saving localization file on SpongeForge.

Version 2.8.1
Fix logger messages on SpongeForge.

Version 2.8
Velocity support.
Removed unnecessary code.
Bug fix with player not executing commands when sending them from a proxy server.

Version 2.7
Changed the supported version of SpongeAPI to 8.

Version 2.6

Added a filter for sending a command by a player's nickname.
For the proxy server, the `proxysync` command has been added. The functionality is similar to the `sync` command.

Version 2.5
Now one single file!
The id of the plugin on the Sponge API is changed.
Fixed incorrect permissions in the Sponge API version.
Fixed a small localization error on the Bukkit API.
In language files, the symbol § is replaced by &.
The SelectLocalization.yml file in the Bukkit API version was deleted. Now the parameter for changing the language in the main config.
Now localization files are available on the Bungee and Sponge API.

Version 2.4 + Sponge 0.9 - Creation of commands for the server on Sponge API is completed.

Version 2.4 + Sponge 0.5.9 - Added config option to remove data.txt. Added localization option for Bukkit version.

Version Bukkit 2.3-Fix + Sponge 0.5 - Fix errors on PaperSpigot servers. Added support Sponge servers(Not full. I have not yet been able to make the plugin commands on this core.)


========== Old ==========

Version 2.3 - Added support for spaces in the /sync command. Added version to internal checking. Fix null password bug.

Version 2.2 - Fix config file generation.

Version 2.1 - The config.txt will be updated on startup with some new options for auth and debug file logging.

Version 2.0b - Complete rewrite! Now uses Java networking making it a lot more flexible, reliable and secure.

Version 1.0 - Initial release. Not feature complete.

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

CommandSync is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10, 1.11 and newer. Downloaded 5,290 times (via Spigot). Download it and open it directly in the game.

Explore more