add player to redis when player enters server

master
Alex 2022-04-04 19:35:03 +02:00
parent ec95ff73cb
commit 8297beb679
1 changed files with 28 additions and 23 deletions

View File

@ -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<String, String> 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<PlayerTest> bucket = ProxySystem.getInstance().getRedisManager().getRedissonClient()
.getBucket("player:" + proxiedPlayer.getUniqueId().toString());
@ -137,21 +154,9 @@ public class PostLoginListener implements Listener {
}
}*/
RMap<String, String> 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) {