CommandSync Master 1.1

command, sync, command sync, commandsync, commandsync master

  1. BartuAbiHD
    Original plugin ---> Link. (Commands are saved in this plugin.)

    Introduction
    I wrote this plugin because quite a few people wanted it. Request thread.

    Installation
    This is a two-part plugin.
    1. Read this entire post before installing.
    2. Download the zip package and put it wherever.
    3. Unzip the package.
    4. Stop your BungeeCord server, if it isn't already.
    5. Put the CommandSyncBungee.jar file in your BungeeCord's plugin folder.
    6. Start your BungeeCord server.
    7. Stop your BungeeCord server.
    8. Set the pass in the <BungeeCord>/plugins/CommandSync/config.txt.
    9. Start your BungeeCord server.
    10. Stop your Minecraft servers, if they aren't already.
    11. Put the CommandSync.jar file in your Minecraft servers' plugin folders. Magically, they don't need to be under the same BungeeCord instance.
    12. Start your Minecraft servers.
    13. Stop your Minecraft servers.
    14. In each <MinecraftServer>/plugins/CommandSync/config.txt put a UNIQUE name for identification. Example: survival, creative or whatever. Also put the pass that you set in CommandSyncBungee's config.txt.
    15. Start your Minecraft servers.
    16. 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 CommandSyncBungee 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)

    [​IMG]
    • /sync - view the help menu.
    • /sync console - Send a command to run on all Minecraft servers, a single Minecraft server, or the BungeeCord server.
    • /sync player - Send a command to run for all players, or a single player.
    [​IMG]
    • sync.use - Access to the command /sync - a Bukkit command. Default: OP.
    Configuration
    CommandSyncBungee:
    Code (Text):
    ip=localhost
    port=9190
    heartbeat=1000
    pass=UNSET
    debug=false
    • ip - The IP that the CommandSyncBungee tries to bind to.
    • port - The port that the CommandSyncBungee tries to bind to.
    • heartbeat - In milliseconds, how often should the CommandSyncBungee process data.
    • pass - A password that all clients must authorize through. (UNSET means the plugin will not operate.)
    • debug - If true all debug will be saved to a log.txt file.
    CommandSync:
    Code (Text):
    ip=localhost
    port=9190
    heartbeat=1000
    name=UNSET
    pass=UNSET
    debug=false
    • ip - The IP that the CommandSync tries to connect to.
    • port - The port that the CommandSync tries to connect to.
    • heartbeat - In milliseconds, how often should the CommandSync process data.
    • name - A UNIQUE identifier for the CommandSync, used for the /sync console single command. (UNSET means the plugin will not operate.)
    • pass - A password that the client uses to authorize with the server. (UNSET means the plugin will not operate.)
    • debug - If true all debug will be saved to a log.txt file.
    Awesome Features
    • This plugin now uses Java networking, making it much more reliable than the Plugin Messaging System. This means that silly bugs no longer exist. It also means you can synchronize commands across Minecraft servers under different BungeeCord server instances!
    • If you try sync a command and the CommandSyncBungee is down, it will be kept in a queue for when it comes back online!
    • If a Minecraft server is down the CommandSyncBungee will wait until it comes back online before it tells it to run a command!
    • If you try sync a command for a player that is offline, the command will not be attempted to run until they come back online!
    • All command queues are saved to a file on shutdown, meaning you can have downtimes across many servers but every command will be stored and run as soon as possible!
    • Authorization for secure cross-network links!
    • Debug file logging!
    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.
    • /sync console all /sync -> Single CSC -> CSS -> All CSCs -> MC Console -> Run
    • /sync console <server> /sync -> Single CSC -> CSS -> Defined CSC -> MC Console -> Run
    • /sync console bungee /sync -> Single CSC -> CSS -> Bungee Console -> Run
    • /sync player all /sync -> Single CSC -> CSS -> All Players -> Run
    • /sync player <name> /sync -> Single CSC -> CSC -> Defined Player -> Run
    Because of how it all works data has to be saved. So here's that explained.

    Does CommandSync (CS) save commands?
    • All string commands sent. These are not saved.
    • An int value that represents where CS is when sending commands to CSB. These are cleared.
    Does CommandSyncBungee (CSB) record commands?
    • All string commands received. These are not saved.
    • An int value for each CS that represents where it depends when sending commands to that CS. These are cleared.

Recent Updates

  1. Update Checker Added

Recent Reviews

  1. alexisl315
    alexisl315
    5/5,
    Version: 1.1
    Hello, I love this plugin but the problem I only have this error but I have yet configured the correct password, so if you can correct it please...

    Exception in thread "Thread-10" java.lang.IllegalStateException: Asynchronous command dispatch!
    [13:22:40 WARN]: at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:15)
    [13:22:40 WARN]: at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:801)
    [13:22:40 WARN]: at youtube.bartuabihd.CommandSync.ClientThread.run(ClientThread.java:63)

    However in the consoles they tell me that it connects correctly.
  2. uncute174
    uncute174
    5/5,
    Version: 1.0
    [07:08:46 ERROR]: Command Dispatched Async: points give Crush_Seul 100
    [07:08:46 ERROR]: Please notify author of plugin causing this execution to fix this bug! see: http://bit.ly/1oSiM6C
    java.lang.Throwable: null
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:667) ~[patched_1.12.2.jar:git-Paper-1618]
    at youtube.bartuabihd.CommandSync.ClientThread.run(ClientThread.java:63) ~[?:?]


    Can you upgrade the plugin further?
    1. BartuAbiHD
      Author's Response
      Hi, can you download the new version and try again?

      I'm sorry for the late reply.