PrimoSync 1.0.3 Beta

Multi-server Economy Synchronization using Redis and Vault

  1. kukelekuuk00
    Note: This is a beta, and thus should be considered experimental. It should work, but properly test it before use on a production server.
    And obviously report any bugs/exploits you can find.

    Multi-server Economy Synchronization using Redis. No MySQL database required. Syncs data every [configurable] seconds (default 3).
    I wrote this plugin because other economy synchronization plugins I had found used MySQL databases or plugin messaging to handle the synchronization.
    The problem with MySQL databases and loading/saving as the player moves around servers is that it's prone to exploits and bugs, the most noticeable bug being the desynchronization of balances.
    The problem with plugin messaging is the fact that it doesn't work on servers with no players on it. So if I have 2 servers, Main and Creative and no people on Creative, then the balance won't be properly updated on Creative.
    My plugin utilizes Redis' Pub-Sub system. This means when it syncs it actually syncs to each server right away, no matter how many people are on it. This isn't plagued by the bugs and exploits that come with plugin messaging and mysql saving/loading. Not to mention it's blazing fast.
    All servers do need to be on-line for synchronization to function, though.

    Installation instructions:
    1. Install redis-server on your server.
      • If you are running Debian 8 or Ubuntu 14.04 and above, a suitable server can be installed by running apt-get install redis-server as root. (or sudo)
      • If you are running CentOS 6, you'll need to compile Redis from source. The version in EPEL is not supported by RedisBungee as of 0.3.8.
      • If you are running CentOS 7, a suitable server can be installed by running yum install redis.
      • If you are running Windows 7 or higher, you can download the latest version here
      • If you're using a shared host then you'll have to ask your host if Redis is available for you to use.
    2. Upload PrimoSync to every server you want to synchronize.
    3. Make sure vault and an economy plugin is installed on each server.
    4. Start each server, and shut each server down again.
    5. Edit the config files that were generated on each server. (make sure the redis information is correct)
    6. Start the servers up again.
    7. Enjoy.
    Note, this plugin doesn't actually require bungeecord to work. As it synchronizes without bungeecord's help. Thus it could potentially be used for lilypad, or any 2 or more bukkit/spigot servers. Whether they're linked together with bungee/lilypad or not.