From 81a2af81790312867f36962c3b9c9e18744e8462 Mon Sep 17 00:00:00 2001 From: mohammed jasem alaajel Date: Sat, 16 Jul 2022 16:32:10 +0400 Subject: [PATCH] add JedisCLuster methods to the api --- .../minecraft/redisbungee/internal/RedisUtil.java | 10 ++++++++++ .../redisbungee/internal/util/uuid/UUIDTranslator.java | 6 ++++++ RedisBungee-API/src/main/resources/example_config.yml | 4 ++-- RedisBungee-API/src/main/resources/redis-cluster.yml | 0 4 files changed, 18 insertions(+), 2 deletions(-) delete mode 100644 RedisBungee-API/src/main/resources/redis-cluster.yml diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java index 5998075..f187786 100644 --- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java +++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisUtil.java @@ -4,6 +4,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.gson.Gson; import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI; import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisCluster; import redis.clients.jedis.Pipeline; import java.util.UUID; @@ -31,6 +32,15 @@ public class RedisUtil { UUID.fromString(player), RedisBungeeAPI.getRedisBungeeApi().getServerId(), AbstractDataManager.DataManagerMessage.Action.LEAVE, new AbstractDataManager.LogoutPayload(timestamp)))); } + public static void cleanUpPlayer(String player, JedisCluster rsc) { + rsc.srem("proxy:" + RedisBungeeAPI.getRedisBungeeApi().getServerId() + ":usersOnline", player); + rsc.hdel("player:" + player, "server", "ip", "proxy"); + long timestamp = System.currentTimeMillis(); + rsc.hset("player:" + player, "online", String.valueOf(timestamp)); + rsc.publish("redisbungee-data", gson.toJson(new AbstractDataManager.DataManagerMessage<>( + UUID.fromString(player), RedisBungeeAPI.getRedisBungeeApi().getServerId(), AbstractDataManager.DataManagerMessage.Action.LEAVE, + new AbstractDataManager.LogoutPayload(timestamp)))); + } public static boolean isRedisVersionRight(String redisVersion) { // Need to use >=6.2 to use Lua optimizations. diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java index 7bd52ca..56841b6 100644 --- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java +++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java @@ -275,6 +275,12 @@ public final class UUIDTranslator { jedis.hmset("uuid-cache", ImmutableMap.of(name.toLowerCase(), json, uuid.toString(), json)); } + public void persistInfo(String name, UUID uuid, Pipeline pipeline) { + addToMaps(name, uuid); + String json = gson.toJson(uuidToNameMap.get(uuid)); + pipeline.hmset("uuid-cache", ImmutableMap.of(name.toLowerCase(), json, uuid.toString(), json)); + } + public void persistInfo(String name, UUID uuid, JedisCluster jedisCluster) { addToMaps(name, uuid); String json = gson.toJson(uuidToNameMap.get(uuid)); diff --git a/RedisBungee-API/src/main/resources/example_config.yml b/RedisBungee-API/src/main/resources/example_config.yml index 2504d80..24751ef 100644 --- a/RedisBungee-API/src/main/resources/example_config.yml +++ b/RedisBungee-API/src/main/resources/example_config.yml @@ -1,8 +1,8 @@ # RedisBungee configuration file. # PLEASE READ THE WIKI: https://github.com/ProxioDev/RedisBungee/wiki -# Cluster Mode its in different config file redis-cluster.yml -# enabling this option will ignore redis config of this file +# Cluster Mode +# enabling this option will enable cluster mode. cluster-mode-enabled: false # The Redis server you use. diff --git a/RedisBungee-API/src/main/resources/redis-cluster.yml b/RedisBungee-API/src/main/resources/redis-cluster.yml deleted file mode 100644 index e69de29..0000000