mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-19 14:59:21 +00:00
* feat: add support for ProtocolLib packet-level state cancelling * refactor: move commands to event listener, document ProtocolLib support * docs: make Setup less claustrophobic * fix: remove `@Getter` on `PlayerPacketAdapter` * build: add missing license headers * fix: inaccessible method on Paper * test: add ProtocolLib to network spin test * fix: whoops I targeted the wrong packets * fix: bad command disabled check logic * fix: final protocollib adjustments
3.3 KiB
3.3 KiB
This will walk you through installing HuskSync on your network of Spigot servers.
Requirements
Note: If the plugin fails to load, please check that you are not running an incompatible version combination
- A MySQL Database (v8.0+) (MariaDB, PostrgreSQL or MongoDB are also supported)
- A Redis Database (v5.0+) — see FAQs for more details.
- Any number of Spigot servers, connected by a BungeeCord or Velocity-based proxy (Minecraft v1.17.1+, running Java 17+)
Setup Instructions
1. Install the jar
- Place the plugin jar file in the
/plugins/directory of each Spigot server. - You do not need to install HuskSync as a proxy plugin.
- You can additionally install ProtocolLib for better locked user handling, and Plan for analytics.
2. Restart servers
- Start, then stop every server to let HuskSync generate the config file.
- HuskSync will throw an error in the console and disable itself as it is unable to connect to the database. You haven't set the credentials yet, so this is expected.
- Advanced users: If you'd prefer, you can create one config.yml file and create symbolic links in each
/plugins/HuskSync/folder to it to make updating it easier.
3. Enter Mysql & Redis database credentials
- Navigate to the HuskSync config file on each server (
~/plugins/HuskSync/config.yml) - Under
credentialsin thedatabasesection, enter the credentials of your (MySQL/MariaDB/MongoDB/PostgreSQL) Database. You shouldn't touch theconnection_poolproperties. - Under
credentialsin theredissection, enter the credentials of your Redis Database. If your Redis server doesn't have a password, leave the password blank as it is. - Unless you want to have multiple clusters of servers within your network, each with separate user data, you should not change the value of
cluster_id.
Important — MongoDB Users
- Navigate to the HuskSync config file on each server (
~/plugins/HuskSync/config.yml) - Set
typein thedatabasesection toMONGO - Under
credentialsin thedatabasesection, enter the credentials of your MongoDB Database. You shouldn't touch theconnection_poolproperties.
Additional configuration for MongoDB Atlas users
- Navigate to the HuskSync config file on each server (
~/plugins/HuskSync/config.yml) - Set
using_atlasin themongo_settingssection totrue. - Remove
&authSource=HuskSyncfromparametersin themongo_settings.
(The port setting in credentials is disregarded when using Atlas.)
4. Set server names in server.yml files
- Navigate to the HuskSync server name file on each server (
~/plugins/HuskSync/server.yml) - Set the
name:of the server in this file to the ID of this server as defined in the config of your proxy (e.g., if this is the "hub" server you access with/server hub, put'hub'here)
5. Start every server again
- Provided your MySQL and Redis credentials were correct, synchronization should begin as soon as you start your servers again.
- If you need to import data from HuskSync v1.x or MySQLPlayerDataBridge, please see the guides below: