From 8297beb679920fe5a74da9dbf85c6b97195772bb Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 4 Apr 2022 19:35:03 +0200 Subject: [PATCH] add player to redis when player enters server --- .../proxy/listener/PostLoginListener.java | 51 ++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java b/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java index 8f4eeb7..19c29b3 100644 --- a/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java +++ b/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java @@ -25,9 +25,6 @@ import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; import org.bson.Document; import org.bson.conversions.Bson; -import org.msgpack.core.MessageBufferPacker; -import org.msgpack.core.MessagePack; -import org.msgpack.core.MessageUnpacker; import org.redisson.api.RMap; public class PostLoginListener implements Listener { @@ -42,8 +39,7 @@ public class PostLoginListener implements Listener { ProxySystem.getInstance().getPlayers() .find(Filters.eq("uuid", uuid)) .first((document, throwable) -> { - if (document == null) { - // create player in db and send voice url + if (document == null) { // new player - create entries in databases System.out.println("create player in db"); String voiceWebCode = generateVoiceWebCode(uuid); @@ -54,7 +50,27 @@ public class PostLoginListener implements Listener { }); sendVoiceWebCodeUrl(proxiedPlayer, voiceWebCode); - } else { + + // redis + + RMap map = ProxySystem.getInstance().getRedisManager() + .getRedissonClient() + .getMap("player:" + uuid); + + if (map.isEmpty()) { + map.put("uuid", uuid); + map.put("voiceWebCode", "voiceWebCode"); + + ProxySystem.getInstance().getLogger().info("PUT !"); + } else { + ProxySystem.getInstance().getLogger() + .warning("REDIS player " + uuid + " exists in the cache, but should not exist"); + } + } else { // player found in the database + + // redis + ProxySystem.getInstance().getLogger().info("mongodb player " + document.keySet()); + // check if both sockets connected int cmdID = ProxySystem.getInstance().getKraSocketClientProtocol().generateCmdID(); @@ -103,6 +119,7 @@ public class PostLoginListener implements Listener { } }); + /* MessageBufferPacker packer = MessagePack.newDefaultBufferPacker(); packer.packString(proxiedPlayer.getName()); @@ -111,7 +128,7 @@ public class PostLoginListener implements Listener { packer.packString("number 1"); packer.packString("number 2"); - packer.close(); + packer.close(); */ /* RBucket bucket = ProxySystem.getInstance().getRedisManager().getRedissonClient() .getBucket("player:" + proxiedPlayer.getUniqueId().toString()); @@ -137,21 +154,9 @@ public class PostLoginListener implements Listener { } }*/ - RMap map = ProxySystem.getInstance().getRedisManager().getRedissonClient() - .getMap("player:" + proxiedPlayer.getUniqueId().toString()); - if (map.isEmpty()) { - map.put("name", proxiedPlayer.getName()); - map.put("money", "123132"); - ProxySystem.getInstance().getLogger().info("PUT !"); - } else { - ProxySystem.getInstance().getLogger().info("GET" + map.get("name") + " " + map.get("money")); - - map.put("money", String.valueOf(Math.random())); - } - - MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(packer.toByteArray()); + /*MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(packer.toByteArray()); String playerName = unpacker.unpackString(); int n = unpacker.unpackInt(); @@ -161,10 +166,10 @@ public class PostLoginListener implements Listener { nu[i] = unpacker.unpackString(); } - unpacker.close(); - + unpacker.close(); */ +/* ProxySystem.getInstance().getLogger() - .info("name: " + playerName + " " + n + " " + nu[0] + " " + nu[1]); + .info("name: " + playerName + " " + n + " " + nu[0] + " " + nu[1]); */ } public void sendVoiceWebCodeUrl(ProxiedPlayer proxiedPlayer, String voiceWebCode) {