From 2a7371be31261d645d5bd927caf3763348ead0ea Mon Sep 17 00:00:00 2001 From: William Date: Tue, 19 Oct 2021 18:06:36 +0100 Subject: [PATCH] Initial project setup, building, setup planning, readme & redis --- .gitignore | 3 +- README.md | 20 +++ build.gradle | 48 +++--- bukkit/build.gradle | 56 ++----- .../CrossServerSyncSpigot.java | 17 --- .../bukkit/BukkitRedisListener.java | 50 +++++++ .../bukkit/CrossServerSyncBukkit.java | 37 +++++ .../bukkit/InventorySerializer.java | 137 ++++++++++++++++++ .../bukkit/config/ConfigLoader.java | 15 ++ bukkit/src/main/resources/config.yml | 4 + bukkit/src/main/resources/plugin.yml | 6 - bungeecord/build.gradle | 42 ++---- .../CrossServerSyncBungeeCord.java | 16 -- .../bungeecord/BungeeRedisListener.java | 41 ++++++ .../bungeecord/CrossServerSyncBungeeCord.java | 44 ++++++ .../bungeecord/PlayerDataCache.java | 51 +++++++ .../bungeecord/config/ConfigLoader.java | 32 ++++ .../bungeecord/config/ConfigManager.java | 44 ++++++ .../src/main/resources/bungee-config.yml | 19 +++ bungeecord/src/main/resources/bungee.yml | 4 - common/build.gradle | 34 +++-- .../crossserversync/PlayerData.java | 57 ++++++++ .../william278/crossserversync/Settings.java | 52 +++++++ .../crossserversync/redis/RedisListener.java | 52 +++++++ .../crossserversync/redis/RedisMessage.java | 117 +++++++++++++++ common/src/main/resources/bungee.yml | 5 + common/src/main/resources/plugin.yml | 6 + images/flow-chart.png | Bin 0 -> 172316 bytes plugin/build.gradle | 27 ++++ settings.gradle | 12 +- 30 files changed, 898 insertions(+), 150 deletions(-) create mode 100644 README.md delete mode 100644 bukkit/src/main/java/me/william278/crossserversync/CrossServerSyncSpigot.java create mode 100644 bukkit/src/main/java/me/william278/crossserversync/bukkit/BukkitRedisListener.java create mode 100644 bukkit/src/main/java/me/william278/crossserversync/bukkit/CrossServerSyncBukkit.java create mode 100644 bukkit/src/main/java/me/william278/crossserversync/bukkit/InventorySerializer.java create mode 100644 bukkit/src/main/java/me/william278/crossserversync/bukkit/config/ConfigLoader.java create mode 100644 bukkit/src/main/resources/config.yml delete mode 100644 bukkit/src/main/resources/plugin.yml delete mode 100644 bungeecord/src/main/java/me/william278/crossserversync/CrossServerSyncBungeeCord.java create mode 100644 bungeecord/src/main/java/me/william278/crossserversync/bungeecord/BungeeRedisListener.java create mode 100644 bungeecord/src/main/java/me/william278/crossserversync/bungeecord/CrossServerSyncBungeeCord.java create mode 100644 bungeecord/src/main/java/me/william278/crossserversync/bungeecord/PlayerDataCache.java create mode 100644 bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigLoader.java create mode 100644 bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigManager.java create mode 100644 bungeecord/src/main/resources/bungee-config.yml delete mode 100644 bungeecord/src/main/resources/bungee.yml create mode 100644 common/src/main/java/me/william278/crossserversync/PlayerData.java create mode 100644 common/src/main/java/me/william278/crossserversync/Settings.java create mode 100644 common/src/main/java/me/william278/crossserversync/redis/RedisListener.java create mode 100644 common/src/main/java/me/william278/crossserversync/redis/RedisMessage.java create mode 100644 common/src/main/resources/bungee.yml create mode 100644 common/src/main/resources/plugin.yml create mode 100644 images/flow-chart.png create mode 100644 plugin/build.gradle diff --git a/.gitignore b/.gitignore index 22b29d22..d7b144fa 100644 --- a/.gitignore +++ b/.gitignore @@ -106,7 +106,7 @@ build/ # Ignore Gradle GUI config gradle-app.setting -# Cache of project +# me.william278.crossserversync.bungeecord.PlayerDataCache of project .gradletasknamecache **/build/ @@ -117,3 +117,4 @@ run/ # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) !gradle-wrapper.jar /build-output-final/ +/target/ diff --git a/README.md b/README.md new file mode 100644 index 00000000..cc26c3fc --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# CrossServerSync +**CrossServerSync** is a robust solution for synchronising player data (inventories, health, hunger & status effects) between servers. It was designed as a lightweight alternative to MySQLPlayerDataBridge, + +### Installation +Install CrossServerSync in the `/plugins/` folder of your Spigot (and derivatives) servers and Proxy (BungeeCord and derivatives) server. +Start your servers, then stop them again to allow the configuration files to generate. + +Navigate to the generated config.yml files on your Spigot server and Proxy (located in `/plugins/CrossServerSync/`) and fill in the credentials of your redis server. On the Proxy server, you can additionally configure a MySQL database to save player data in, as by default the plugin will create a SQLite database for this. + +If you have multiple proxy servers (i.e. via RedisBungee), you need to install the plugin on all of them and make use of the MySQL option and ensure the proxies are using the same database. + +### How it works +![Flow chart showing different processes of how the plugin works](images/flow-chart.png) +CrossServerSync synchronises player data between servers using Redis to transfer cached data, loaded from a central database as necessary. + +### Building +To build CrossServerSync, run the following in the root of the repository: +``` +./gradlew clean build +``` \ No newline at end of file diff --git a/build.gradle b/build.gradle index fa5925b9..3211c6f7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,28 +1,40 @@ -defaultTasks ':bukkit:createFinalJar' +buildscript { + repositories { + mavenCentral() + } +} -subprojects { - apply plugin: 'java-library' - apply plugin: 'maven-publish' +plugins { + id 'com.github.johnrengelman.shadow' version '7.1.0' apply false + id 'java' +} - group = 'me.William278' - project.version = '0.1' - project.properties.put('description', 'Synchronize data cross-server') +allprojects { + group 'me.William278' + version '0.1' - sourceCompatibility = 16 - targetCompatibility = 16 + compileJava { options.encoding = 'UTF-8' } + tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } + javadoc { options.encoding = 'UTF-8' } +} - tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' - } - tasks.withType(Javadoc) { - options.encoding = 'UTF-8' +logger.lifecycle('Building CrossServerSync v' + version.toString()) + +subprojects { + apply plugin: 'com.github.johnrengelman.shadow' + apply plugin: 'java' + apply plugin: 'maven-publish' + + compileJava { + options.release = 16 } repositories { mavenLocal() - } - - tasks.withType(Copy).all { - duplicatesStrategy 'include' + mavenCentral() + maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } + maven { url 'https://repo.minebench.de/' } + maven { url 'https://repo.codemc.org/repository/maven-public' } + maven { url 'https://jitpack.io' } } } \ No newline at end of file diff --git a/bukkit/build.gradle b/bukkit/build.gradle index 316ff92f..d9716746 100644 --- a/bukkit/build.gradle +++ b/bukkit/build.gradle @@ -1,54 +1,18 @@ -plugins { - id 'java' - id 'com.github.johnrengelman.shadow' version '7.1.0' -} - -repositories { - mavenCentral() - maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } - maven { url 'https://repo.minebench.de/' } - maven { url 'https://repo.codemc.org/repository/maven-public' } - maven { url 'https://jitpack.io' } -} - dependencies { - api project(':common') - implementation 'de.themoep:minedown:1.7.1-SNAPSHOT' + compileOnly project(':common') + implementation project(path: ':common', configuration: 'shadow') + implementation 'org.bstats:bstats-bukkit:2.2.1' - implementation 'com.zaxxer:HikariCP:5.0.0' - compileOnly 'org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT' -} + implementation 'redis.clients:jedis:3.7.0' -processResources { - def props = [version: project.version] - inputs.properties props - expand props - filteringCharset 'UTF-8' - filesMatching('bungee.yml') { - expand props - } + compileOnly 'org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT' } shadowJar { - relocate 'org.bstats', 'me.william278.shaded.org.bukkit.bstats' - relocate 'de.themoep.minedown', 'me.william278.shaded.de.themeop.minedown' - dependencies { - include(dependency(':common')) - } -} - -artifacts { - archives shadowJar -} - -tasks.build.dependsOn tasks.shadowJar - -task createFinalJar(type: Copy) { - dependsOn(tasks.build) - from file("build/libs/bukkit-${project.version}-all.jar") - into file("../build-output-final") - rename 'bukkit-', 'CrossServerSync-' - rename '-all', '' + relocate 'redis.clients', 'me.William278.crossserversync.libraries.jedis' + relocate 'org.bstats', 'me.William278.crossserversync.libraries.plan' + relocate 'org.apache.commons', 'me.William278.crossserversync.libraries.apache-commons' + relocate 'org.slf4j', 'me.William278.crossserversync.libraries.slf4j' } -task prepareKotlinBuildScriptModel {} \ No newline at end of file +tasks.register('prepareKotlinBuildScriptModel'){} \ No newline at end of file diff --git a/bukkit/src/main/java/me/william278/crossserversync/CrossServerSyncSpigot.java b/bukkit/src/main/java/me/william278/crossserversync/CrossServerSyncSpigot.java deleted file mode 100644 index c39603be..00000000 --- a/bukkit/src/main/java/me/william278/crossserversync/CrossServerSyncSpigot.java +++ /dev/null @@ -1,17 +0,0 @@ -package me.william278.crossserversync; - -import org.bukkit.plugin.java.JavaPlugin; - -public final class CrossServerSyncSpigot extends JavaPlugin { - - @Override - public void onEnable() { - // Plugin startup logic - - } - - @Override - public void onDisable() { - // Plugin shutdown logic - } -} diff --git a/bukkit/src/main/java/me/william278/crossserversync/bukkit/BukkitRedisListener.java b/bukkit/src/main/java/me/william278/crossserversync/bukkit/BukkitRedisListener.java new file mode 100644 index 00000000..a0315e04 --- /dev/null +++ b/bukkit/src/main/java/me/william278/crossserversync/bukkit/BukkitRedisListener.java @@ -0,0 +1,50 @@ +package me.william278.crossserversync.bukkit; + +import me.william278.crossserversync.Settings; +import me.william278.crossserversync.redis.RedisListener; +import me.william278.crossserversync.redis.RedisMessage; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +import java.util.logging.Level; + +public class BukkitRedisListener extends RedisListener { + + private static final CrossServerSyncBukkit plugin = CrossServerSyncBukkit.getInstance(); + + // Initialize the listener on the bukkit server + public BukkitRedisListener() { + listen(); + } + + /** + * Handle an incoming {@link RedisMessage} + * + * @param message The {@link RedisMessage} to handle + */ + @Override + public void handleMessage(RedisMessage message) { + // Ignore messages for proxy servers + if (message.getMessageTarget().targetServerType() != Settings.ServerType.BUKKIT) { + return; + } + // Handle the message for the player + for (Player player : Bukkit.getOnlinePlayers()) { + if (player.getUniqueId() == message.getMessageTarget().targetPlayerName()) { + + return; + } + } + } + + /** + * Log to console + * + * @param level The {@link Level} to log + * @param message Message to log + */ + @Override + public void log(Level level, String message) { + plugin.getLogger().log(level, message); + } +} diff --git a/bukkit/src/main/java/me/william278/crossserversync/bukkit/CrossServerSyncBukkit.java b/bukkit/src/main/java/me/william278/crossserversync/bukkit/CrossServerSyncBukkit.java new file mode 100644 index 00000000..a4cd3f88 --- /dev/null +++ b/bukkit/src/main/java/me/william278/crossserversync/bukkit/CrossServerSyncBukkit.java @@ -0,0 +1,37 @@ +package me.william278.crossserversync.bukkit; + +import me.william278.crossserversync.bukkit.config.ConfigLoader; +import org.bukkit.plugin.java.JavaPlugin; + +public final class CrossServerSyncBukkit extends JavaPlugin { + + private static CrossServerSyncBukkit instance; + public static CrossServerSyncBukkit getInstance() { + return instance; + } + + @Override + public void onLoad() { + instance = this; + } + + @Override + public void onEnable() { + // Plugin startup logic + + // Load the config file + getConfig().options().copyDefaults(true); + saveDefaultConfig(); + saveConfig(); + reloadConfig(); + ConfigLoader.loadSettings(getConfig()); + + // Initialize the redis listener + new BukkitRedisListener(); + } + + @Override + public void onDisable() { + // Plugin shutdown logic + } +} diff --git a/bukkit/src/main/java/me/william278/crossserversync/bukkit/InventorySerializer.java b/bukkit/src/main/java/me/william278/crossserversync/bukkit/InventorySerializer.java new file mode 100644 index 00000000..ae00c954 --- /dev/null +++ b/bukkit/src/main/java/me/william278/crossserversync/bukkit/InventorySerializer.java @@ -0,0 +1,137 @@ +package me.william278.crossserversync.bukkit; + +import org.bukkit.entity.Player; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.PlayerInventory; +import org.bukkit.util.io.BukkitObjectInputStream; +import org.bukkit.util.io.BukkitObjectOutputStream; +import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.Map; + +/** + * Class for serializing and deserializing player inventories and Ender Chests contents ({@link ItemStack[]}) as base64 strings. + * Based on https://gist.github.com/graywolf336/8153678 by graywolf336 + * Modified for 1.16 via https://gist.github.com/graywolf336/8153678#gistcomment-3551376 by efindus + * + * @author efindus + * @author graywolf336 + */ +public final class InventorySerializer { + + /** + * Converts the player inventory to a Base64 encoded string. + * + * @param player whose inventory will be turned into an array of strings. + * @return string with serialized Inventory + * @throws IllegalStateException in the event the item stacks cannot be saved + */ + public static String getSerializedInventoryContents(Player player) throws IllegalStateException { + // This contains contents, armor and offhand (contents are indexes 0 - 35, armor 36 - 39, offhand - 40) + return itemStackArrayToBase64(player.getInventory().getContents()); + } + + /** + * Converts the player inventory to a Base64 encoded string. + * + * @param player whose Ender Chest will be turned into an array of strings. + * @return string with serialized Ender Chest + * @throws IllegalStateException in the event the item stacks cannot be saved + */ + public static String getSerializedEnderChestContents(Player player) throws IllegalStateException { + // This contains all slots (0-27) in the player's Ender Chest + return itemStackArrayToBase64(player.getEnderChest().getContents()); + } + + /** + * Sets a player's inventory from a set of {@link ItemStack}s + * + * @param player The player to set the inventory of + * @param items The array of {@link ItemStack}s to set + */ + public static void setPlayerItems(Player player, ItemStack[] items) { + setInventoryItems(player.getInventory(), items); + } + + /** + * Sets a player's ender chest from a set of {@link ItemStack}s + * + * @param player The player to set the inventory of + * @param items The array of {@link ItemStack}s to set + */ + public static void setPlayerEnderChest(Player player, ItemStack[] items) { + setInventoryItems(player.getEnderChest(), items); + } + + // Clears, then fills an inventory's items correctly. + private static void setInventoryItems(Inventory inventory, ItemStack[] items) { + inventory.clear(); + int index = 0; + for (ItemStack item : items) { + if (item != null) { + inventory.setItem(index, item); + } + index++; + } + } + + /** + * A method to serialize an {@link ItemStack} array to Base64 String. + * + * @param items to turn into a Base64 String. + * @return Base64 string of the items. + * @throws IllegalStateException in the event the item stacks cannot be saved + */ + public static String itemStackArrayToBase64(ItemStack[] items) throws IllegalStateException { + try { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + try (BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream)) { + dataOutput.writeInt(items.length); + + for (ItemStack item : items) { + if (item != null) { + dataOutput.writeObject(item.serialize()); + } else { + dataOutput.writeObject(null); + } + } + } + return Base64Coder.encodeLines(outputStream.toByteArray()); + } catch (Exception e) { + throw new IllegalStateException("Unable to save item stacks.", e); + } + } + + /** + * Gets an array of ItemStacks from Base64 string. + * + * @param data Base64 string to convert to ItemStack array. + * @return ItemStack array created from the Base64 string. + * @throws IOException in the event the class type cannot be decoded + */ + public static ItemStack[] itemStackArrayFromBase64(String data) throws IOException { + try (ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data))) { + BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream); + ItemStack[] items = new ItemStack[dataInput.readInt()]; + + for (int Index = 0; Index < items.length; Index++) { + @SuppressWarnings("unchecked") // Ignore the unchecked cast here + Map stack = (Map) dataInput.readObject(); + + if (stack != null) { + items[Index] = ItemStack.deserialize(stack); + } else { + items[Index] = null; + } + } + + return items; + } catch (ClassNotFoundException e) { + throw new IOException("Unable to decode class type.", e); + } + } +} \ No newline at end of file diff --git a/bukkit/src/main/java/me/william278/crossserversync/bukkit/config/ConfigLoader.java b/bukkit/src/main/java/me/william278/crossserversync/bukkit/config/ConfigLoader.java new file mode 100644 index 00000000..8652352e --- /dev/null +++ b/bukkit/src/main/java/me/william278/crossserversync/bukkit/config/ConfigLoader.java @@ -0,0 +1,15 @@ +package me.william278.crossserversync.bukkit.config; + +import me.william278.crossserversync.Settings; +import org.bukkit.configuration.file.FileConfiguration; + +public class ConfigLoader { + + public static void loadSettings(FileConfiguration config) throws IllegalArgumentException { + Settings.serverType = Settings.ServerType.BUKKIT; + Settings.redisHost = config.getString("redis_settings.host", "localhost"); + Settings.redisPort = config.getInt("redis_settings.port", 6379); + Settings.redisPassword = config.getString("redis_settings.password", ""); + } + +} diff --git a/bukkit/src/main/resources/config.yml b/bukkit/src/main/resources/config.yml new file mode 100644 index 00000000..bface11b --- /dev/null +++ b/bukkit/src/main/resources/config.yml @@ -0,0 +1,4 @@ +redis_settings: + host: 'localhost' + port: 6379 + password: '' \ No newline at end of file diff --git a/bukkit/src/main/resources/plugin.yml b/bukkit/src/main/resources/plugin.yml deleted file mode 100644 index af6bc739..00000000 --- a/bukkit/src/main/resources/plugin.yml +++ /dev/null @@ -1,6 +0,0 @@ -name: CrossServerSync -version: '${version}' -main: me.william278.crossserversync.CrossServerSyncSpigot -api-version: 1.16 -author: William278 -description: '${properties.description}' \ No newline at end of file diff --git a/bungeecord/build.gradle b/bungeecord/build.gradle index d52ea285..93b05103 100644 --- a/bungeecord/build.gradle +++ b/bungeecord/build.gradle @@ -1,39 +1,17 @@ -plugins { - id 'java' - id 'com.github.johnrengelman.shadow' version '7.1.0' -} - -repositories { - mavenCentral() - maven { url = 'https://oss.sonatype.org/content/groups/public/' } -} - - dependencies { - api project(':common') - compileOnly 'net.md-5:bungeecord-api:1.16-R0.4' -} + compileOnly project(':common') + implementation project(path: ':common', configuration: 'shadow') -shadowJar { - relocate 'org.bstats', 'me.william278.shaded.org.bukkit.bstats' - relocate 'de.themoep.minedown', 'me.william278.shaded.de.themeop.minedown' - dependencies { - include(dependency(':common')) - } -} + implementation 'redis.clients:jedis:3.7.0' -artifacts { - archives shadowJar + compileOnly 'net.md-5:bungeecord-api:1.16-R0.5-SNAPSHOT' } -processResources { - def props = [version: project.version] - inputs.properties props - expand props - filteringCharset 'UTF-8' - filesMatching('bungee.yml') { - expand props - } +shadowJar { + relocate 'redis.clients', 'me.William278.crossserversync.libraries.jedis' + relocate 'org.bstats', 'me.William278.crossserversync.libraries.plan' + relocate 'org.apache.commons', 'me.William278.crossserversync.libraries.apache-commons' + relocate 'org.slf4j', 'me.William278.crossserversync.libraries.slf4j' } -tasks.build.dependsOn tasks.shadowJar +tasks.register('prepareKotlinBuildScriptModel'){} \ No newline at end of file diff --git a/bungeecord/src/main/java/me/william278/crossserversync/CrossServerSyncBungeeCord.java b/bungeecord/src/main/java/me/william278/crossserversync/CrossServerSyncBungeeCord.java deleted file mode 100644 index 77a31c7f..00000000 --- a/bungeecord/src/main/java/me/william278/crossserversync/CrossServerSyncBungeeCord.java +++ /dev/null @@ -1,16 +0,0 @@ -package me.william278.crossserversync; - -import net.md_5.bungee.api.plugin.Plugin; - -public final class CrossServerSyncBungeeCord extends Plugin { - - @Override - public void onEnable() { - // Plugin startup logic - } - - @Override - public void onDisable() { - // Plugin shutdown logic - } -} diff --git a/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/BungeeRedisListener.java b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/BungeeRedisListener.java new file mode 100644 index 00000000..6edf42b5 --- /dev/null +++ b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/BungeeRedisListener.java @@ -0,0 +1,41 @@ +package me.william278.crossserversync.bungeecord; + +import me.william278.crossserversync.Settings; +import me.william278.crossserversync.redis.RedisListener; +import me.william278.crossserversync.redis.RedisMessage; + +import java.util.logging.Level; + +public class BungeeRedisListener extends RedisListener { + + private static final CrossServerSyncBungeeCord plugin = CrossServerSyncBungeeCord.getInstance(); + + // Initialize the listener on the bungee + public BungeeRedisListener() { + listen(); + } + + /** + * Handle an incoming {@link RedisMessage} + * + * @param message The {@link RedisMessage} to handle + */ + @Override + public void handleMessage(RedisMessage message) { + // Ignore messages destined for Bukkit servers + if (message.getMessageTarget().targetServerType() != Settings.ServerType.BUNGEECORD) { + return; + } + } + + /** + * Log to console + * + * @param level The {@link Level} to log + * @param message Message to log + */ + @Override + public void log(Level level, String message) { + plugin.getLogger().log(level, message); + } +} diff --git a/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/CrossServerSyncBungeeCord.java b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/CrossServerSyncBungeeCord.java new file mode 100644 index 00000000..93ed42e5 --- /dev/null +++ b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/CrossServerSyncBungeeCord.java @@ -0,0 +1,44 @@ +package me.william278.crossserversync.bungeecord; + +import me.william278.crossserversync.bungeecord.config.ConfigLoader; +import me.william278.crossserversync.bungeecord.config.ConfigManager; +import net.md_5.bungee.api.plugin.Plugin; + +import java.util.Objects; + +public final class CrossServerSyncBungeeCord extends Plugin { + + private static CrossServerSyncBungeeCord instance; + public static CrossServerSyncBungeeCord getInstance() { + return instance; + } + + public PlayerDataCache cache; + + @Override + public void onLoad() { + instance = this; + } + + @Override + public void onEnable() { + // Plugin startup logic + + // Load config + ConfigManager.loadConfig(); + + // Load settings from config + ConfigLoader.loadSettings(Objects.requireNonNull(ConfigManager.getConfig())); + + // Setup player data cache + cache = new PlayerDataCache(); + + // Initialize the redis listener + new BungeeRedisListener(); + } + + @Override + public void onDisable() { + // Plugin shutdown logic + } +} diff --git a/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/PlayerDataCache.java b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/PlayerDataCache.java new file mode 100644 index 00000000..27a5bf8a --- /dev/null +++ b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/PlayerDataCache.java @@ -0,0 +1,51 @@ +package me.william278.crossserversync.bungeecord; + +import me.william278.crossserversync.PlayerData; + +import java.util.HashSet; +import java.util.UUID; + +public class PlayerDataCache { + + // The cached player data + public HashSet playerData; + + public PlayerDataCache() { + playerData = new HashSet<>(); + } + + /** + * Update ar add data for a player to the cache + * @param newData The player's new/updated {@link PlayerData} + */ + public void updatePlayer(PlayerData newData) { + // Remove the old data if it exists + PlayerData oldData = null; + for (PlayerData data : playerData) { + if (data.getPlayerUUID() == newData.getPlayerUUID()) { + oldData = data; + } + } + if (oldData != null) { + playerData.remove(oldData); + } + + // Add the new data + playerData.add(newData); + } + + /** + * Get a player's {@link PlayerData} by their {@link UUID} + * @param playerUUID The {@link UUID} of the player to check + * @return The player's {@link PlayerData} + */ + public PlayerData getPlayer(UUID playerUUID) { + for (PlayerData data : playerData) { + if (data.getPlayerUUID() == playerUUID) { + return data; + } + } + return null; + } + +} diff --git a/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigLoader.java b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigLoader.java new file mode 100644 index 00000000..ef64ea06 --- /dev/null +++ b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigLoader.java @@ -0,0 +1,32 @@ +package me.william278.crossserversync.bungeecord.config; + +import me.william278.crossserversync.Settings; +import net.md_5.bungee.config.Configuration; + +public class ConfigLoader { + + public static void loadSettings(Configuration config) throws IllegalArgumentException { + Settings.serverType = Settings.ServerType.BUNGEECORD; + Settings.redisHost = config.getString("redis_settings.host", "localhost"); + Settings.redisPort = config.getInt("redis_settings.port", 6379); + Settings.redisPassword = config.getString("redis_settings.password", ""); + + Settings.dataStorageType = Settings.DataStorageType.valueOf(config.getString("data_storage_settings.database_type", "sqlite").toUpperCase()); + if (Settings.dataStorageType == Settings.DataStorageType.MYSQL) { + Settings.mySQLHost = config.getString("data_storage_settings.mysql_settings.host", "localhost"); + Settings.mySQLPort = config.getInt("data_storage_settings.mysql_settings.port", 8123); + Settings.mySQLDatabase = config.getString("data_storage_settings.mysql_settings.database", "CrossServerSync"); + Settings.mySQLUsername = config.getString("data_storage_settings.mysql_settings.username", "CrossServerSync"); + Settings.mySQLPassword = config.getString("data_storage_settings.mysql_settings.password", "CrossServerSync"); + Settings.mySQLParams = config.getString("data_storage_settings.mysql_settings.params", "CrossServerSync"); + } + + Settings.hikariMaximumPoolSize = config.getInt("data_storage_settings.hikari_pool_settings.maximum_pool_size", 10); + Settings.hikariMinimumIdle = config.getInt("data_storage_settings.hikari_pool_settings.minimum_idle", 10); + Settings.hikariMaximumLifetime = config.getLong("data_storage_settings.hikari_pool_settings.maximum_lifetime", 1800000); + Settings.hikariKeepAliveTime = config.getLong("data_storage_settings.hikari_pool_settings.keepalive_time", 10); + Settings.hikariConnectionTimeOut = config.getLong("data_storage_settings.hikari_pool_settings.connection_timeout", 5000); + + } + +} diff --git a/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigManager.java b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigManager.java new file mode 100644 index 00000000..2adebe41 --- /dev/null +++ b/bungeecord/src/main/java/me/william278/crossserversync/bungeecord/config/ConfigManager.java @@ -0,0 +1,44 @@ +package me.william278.crossserversync.bungeecord.config; + +import me.william278.crossserversync.bungeecord.CrossServerSyncBungeeCord; +import net.md_5.bungee.config.Configuration; +import net.md_5.bungee.config.ConfigurationProvider; +import net.md_5.bungee.config.YamlConfiguration; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.logging.Level; + +public class ConfigManager { + + private static final CrossServerSyncBungeeCord plugin = CrossServerSyncBungeeCord.getInstance(); + + public static void loadConfig() { + try { + if (!plugin.getDataFolder().exists()) { + if (plugin.getDataFolder().mkdir()) { + plugin.getLogger().info("Created CrossServerSync data folder"); + } + } + File configFile = new File(plugin.getDataFolder(), "config.yml"); + if (!configFile.exists()) { + Files.copy(plugin.getResourceAsStream("bungee_config.yml"), configFile.toPath()); + } + } catch (Exception e) { + plugin.getLogger().log(Level.CONFIG, "An exception occurred loading the configuration file", e); + } + } + + public static Configuration getConfig() { + try { + File configFile = new File(plugin.getDataFolder(), "config.yml"); + return ConfigurationProvider.getProvider(YamlConfiguration.class).load(configFile); + } catch (IOException e) { + plugin.getLogger().log(Level.CONFIG, "An IOException occurred fetching the configuration file", e); + return null; + } + } + +} + diff --git a/bungeecord/src/main/resources/bungee-config.yml b/bungeecord/src/main/resources/bungee-config.yml new file mode 100644 index 00000000..7914c84c --- /dev/null +++ b/bungeecord/src/main/resources/bungee-config.yml @@ -0,0 +1,19 @@ +redis_settings: + host: 'localhost' + port: 6379 + password: '' +data_storage_settings: + database_type: 'sqlite' + mysql_settings: + host: 'localhost' + port: 8123 + database: 'CrossServerSync' + username: 'root' + password: 'pa55w0rd' + params: '' + hikari_pool_settings: + maximum_pool_size: 10 + minimum_idle: 10 + maximum_lifetime: 1800000 + keepalive_time: 0 + connection_timeout: 5000 \ No newline at end of file diff --git a/bungeecord/src/main/resources/bungee.yml b/bungeecord/src/main/resources/bungee.yml deleted file mode 100644 index 6398d846..00000000 --- a/bungeecord/src/main/resources/bungee.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: CrossServerSync -version: '${version}' -main: me.william278.crossserversync.CrossServerSyncBungeeCord -description: '${properties.description}' diff --git a/common/build.gradle b/common/build.gradle index a5bd9280..e0a5e3f3 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,16 +1,32 @@ -plugins { - id 'java' +dependencies { + implementation 'redis.clients:jedis:3.7.0' } -dependencies { - compileOnly 'org.spigotmc:spigot-api:1.16.5-R0.1-SNAPSHOT' +import org.apache.tools.ant.filters.ReplaceTokens +task updateVersion(type: Copy) { + from('src/main/resources') { + include 'plugin.yml' + include 'bungee.yml' + } + into 'build/sources/resources/' + filter(ReplaceTokens, tokens: [version: '' + project.version]) } -repositories { - mavenCentral() - maven { url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' } +processResources { + duplicatesStrategy = DuplicatesStrategy.INCLUDE + dependsOn updateVersion + from 'build/sources/resources' } -java { - withJavadocJar() +shadowJar { + dependsOn processResources + + // Exclude some unnecessary files + exclude "**/module-info.class" + exclude "module-info.class" + + // Relocations + relocate 'redis.clients', 'me.William278.crossserversync.libraries.jedis' + relocate 'org.apache.commons', 'me.William278.crossserversync.libraries.apache-commons' + relocate 'org.slf4j', 'me.William278.crossserversync.libraries.slf4j' } \ No newline at end of file diff --git a/common/src/main/java/me/william278/crossserversync/PlayerData.java b/common/src/main/java/me/william278/crossserversync/PlayerData.java new file mode 100644 index 00000000..fccba6b4 --- /dev/null +++ b/common/src/main/java/me/william278/crossserversync/PlayerData.java @@ -0,0 +1,57 @@ +package me.william278.crossserversync; + +import java.io.Serializable; +import java.util.UUID; + +public class PlayerData implements Serializable { + + /** + * The UUID of the player who this data belongs to + */ + private final UUID playerUUID; + + /** + * The unique version UUID of this data + */ + private final UUID dataVersionUUID; + + /** + * Serialized inventory data + */ + private final String serializedInventory; + + /** + * Serialized ender chest data + */ + private final String serializedEnderChest; + + //todo add more stuff, like ender chest, player health, max health, hunger and status effects, et cetera + + /** + * Create a new PlayerData object; a random data version UUID will be selected. + * @param playerUUID The UUID of the player + * @param serializedInventory The player's serialized inventory data + */ + public PlayerData(UUID playerUUID, String serializedInventory, String serializedEnderChest) { + this.dataVersionUUID = UUID.randomUUID(); + this.playerUUID = playerUUID; + this.serializedInventory = serializedInventory; + this.serializedEnderChest = serializedEnderChest; + } + + public UUID getPlayerUUID() { + return playerUUID; + } + + public UUID getDataVersionUUID() { + return dataVersionUUID; + } + + public String getSerializedInventory() { + return serializedInventory; + } + + public String getSerializedEnderChest() { + return serializedEnderChest; + } +} diff --git a/common/src/main/java/me/william278/crossserversync/Settings.java b/common/src/main/java/me/william278/crossserversync/Settings.java new file mode 100644 index 00000000..f1ca139b --- /dev/null +++ b/common/src/main/java/me/william278/crossserversync/Settings.java @@ -0,0 +1,52 @@ +package me.william278.crossserversync; + +public class Settings { + + /* + * General settings + */ + + // The type of THIS server (Bungee or Bukkit) + public static ServerType serverType; + + // Redis settings + public static String redisHost; + public static int redisPort; + public static String redisPassword; + + /* + * Bungee / Proxy server-only settings + */ + + // SQL settings + public static DataStorageType dataStorageType; + + // MySQL specific settings + public static String mySQLHost; + public static String mySQLDatabase; + public static String mySQLUsername; + public static String mySQLPassword; + public static int mySQLPort; + public static String mySQLParams; + + // Hikari connection pooling settings + public static int hikariMaximumPoolSize; + public static int hikariMinimumIdle; + public static long hikariMaximumLifetime; + public static long hikariKeepAliveTime; + public static long hikariConnectionTimeOut; + + /* + * Enum definitions + */ + + public enum ServerType { + BUKKIT, + BUNGEECORD + } + + public enum DataStorageType { + MYSQL, + SQLITE + } +} diff --git a/common/src/main/java/me/william278/crossserversync/redis/RedisListener.java b/common/src/main/java/me/william278/crossserversync/redis/RedisListener.java new file mode 100644 index 00000000..077e08b1 --- /dev/null +++ b/common/src/main/java/me/william278/crossserversync/redis/RedisListener.java @@ -0,0 +1,52 @@ +package me.william278.crossserversync.redis; + +import me.william278.crossserversync.Settings; +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisPubSub; + +import java.util.logging.Level; + +public abstract class RedisListener { + + /** + * Handle an incoming {@link RedisMessage} + * @param message The {@link RedisMessage} to handle + */ + public abstract void handleMessage(RedisMessage message); + + /** + * Log to console + * @param level The {@link Level} to log + * @param message Message to log + */ + public abstract void log(Level level, String message); + + /** + * Start the Redis listener + */ + public final void listen() { + Jedis jedis = new Jedis(Settings.redisHost, Settings.redisPort); + final String jedisPassword = Settings.redisPassword; + if (!jedisPassword.equals("")) { + jedis.auth(jedisPassword); + } + jedis.connect(); + if (jedis.isConnected()) { + log(Level.INFO,"Enabled Redis listener successfully!"); + new Thread(() -> jedis.subscribe(new JedisPubSub() { + @Override + public void onMessage(String channel, String message) { + // Only accept messages to the CrossServerSync channel + if (!channel.equals(RedisMessage.REDIS_CHANNEL)) { + return; + } + + // Handle the message + handleMessage(new RedisMessage(message)); + } + }, RedisMessage.REDIS_CHANNEL), "Redis Subscriber").start(); + } else { + log(Level.SEVERE, "Failed to initialize the redis listener!"); + } + } +} diff --git a/common/src/main/java/me/william278/crossserversync/redis/RedisMessage.java b/common/src/main/java/me/william278/crossserversync/redis/RedisMessage.java new file mode 100644 index 00000000..60896796 --- /dev/null +++ b/common/src/main/java/me/william278/crossserversync/redis/RedisMessage.java @@ -0,0 +1,117 @@ +package me.william278.crossserversync.redis; + +import me.william278.crossserversync.Settings; +import redis.clients.jedis.Jedis; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.Serializable; +import java.util.StringJoiner; +import java.util.UUID; + +public class RedisMessage { + + public static String REDIS_CHANNEL = "CrossServerSync"; + + public static String MESSAGE_META_SEPARATOR = "♦"; + public static String MESSAGE_DATA_SEPARATOR = "♣"; + + private final String messageData; + private final MessageType messageType; + private MessageTarget messageTarget; + + /** + * Create a new RedisMessage + * @param type The type of the message + * @param target Who will receive this message + * @param messageData The message data elements + */ + public RedisMessage(MessageType type, MessageTarget target, String... messageData) { + final StringJoiner messageDataJoiner = new StringJoiner(MESSAGE_DATA_SEPARATOR); + for (String dataElement : messageData) { + messageDataJoiner.add(dataElement); + } + this.messageData = messageDataJoiner.toString(); + this.messageType = type; + this.messageTarget = target; + } + + /** + * Get a new RedisMessage from an incoming message string + * @param messageString The message string to parse + */ + public RedisMessage(String messageString) { + String[] messageMetaElements = messageString.split(MESSAGE_META_SEPARATOR); + messageType = MessageType.valueOf(messageMetaElements[0]); + messageData = messageMetaElements[2]; + + try (ObjectInputStream stream = new ObjectInputStream(new ByteArrayInputStream(messageMetaElements[1].getBytes()))) { + messageTarget = (MessageTarget) stream.readObject(); + } catch (IOException | ClassNotFoundException e) { + e.printStackTrace(); + } + } + + /** + * Returns the full, formatted message string with type, target & data + * @return The fully formatted message + */ + private String getFullMessage() { + return new StringJoiner(MESSAGE_META_SEPARATOR) + .add(messageType.toString()).add(messageTarget.toString()).add(messageData) + .toString(); + } + + /** + * Send the redis message + */ + public void send() { + try (Jedis publisher = new Jedis(Settings.redisHost, Settings.redisPort)) { + final String jedisPassword = Settings.redisPassword; + if (!jedisPassword.equals("")) { + publisher.auth(jedisPassword); + } + publisher.connect(); + publisher.publish(REDIS_CHANNEL, getFullMessage()); + } + } + + public String getMessageData() { + return messageData; + } + + public MessageType getMessageType() { + return messageType; + } + + public MessageTarget getMessageTarget() { + return messageTarget; + } + + /** + * Defines the type of the message + */ + public enum MessageType { + /** + * Sent by Bukkit servers to proxy when a player disconnects with a player's updated data, alongside the UUID of the last loaded {@link me.william278.crossserversync.PlayerData} for the user + */ + PLAYER_DATA_UPDATE, + + /** + * Sent by Bukkit servers to proxy to request {@link me.william278.crossserversync.PlayerData} from the proxy. + */ + PLAYER_DATA_REQUEST, + + /** + * Sent by the Proxy to reply to a {@code MessageType.PLAYER_DATA_REQUEST}, contains the latest {@link me.william278.crossserversync.PlayerData} for the requester. + */ + PLAYER_DATA_REPLY + } + + /** + * A record that defines the target of a plugin message; a spigot server or the proxy server(s). + * For Bukkit servers, the name of the server must also be specified + */ + public record MessageTarget(Settings.ServerType targetServerType, UUID targetPlayerName) implements Serializable { } +} \ No newline at end of file diff --git a/common/src/main/resources/bungee.yml b/common/src/main/resources/bungee.yml new file mode 100644 index 00000000..3ad7238a --- /dev/null +++ b/common/src/main/resources/bungee.yml @@ -0,0 +1,5 @@ +name: CrossServerSync +version: @version@ +main: me.william278.crossserversync.bungeecord.CrossServerSyncBungeeCord +author: William278 +description: 'Synchronize data cross-server' \ No newline at end of file diff --git a/common/src/main/resources/plugin.yml b/common/src/main/resources/plugin.yml new file mode 100644 index 00000000..42f7dfea --- /dev/null +++ b/common/src/main/resources/plugin.yml @@ -0,0 +1,6 @@ +name: CrossServerSync +version: @version@ +main: me.william278.crossserversync.bukkit.CrossServerSyncBukkit +api-version: 1.16 +author: William278 +description: 'Synchronize data cross-server' \ No newline at end of file diff --git a/images/flow-chart.png b/images/flow-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..818d4315faff7ad23c8f79ec4d782585a3825222 GIT binary patch literal 172316 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%0DQshP3~RR$fO=sQkp<=v5n>Ief61U)Tr{# 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