add player to redis when player enters server
parent
ec95ff73cb
commit
8297beb679
|
@ -25,9 +25,6 @@ import net.md_5.bungee.api.plugin.Listener;
|
||||||
import net.md_5.bungee.event.EventHandler;
|
import net.md_5.bungee.event.EventHandler;
|
||||||
import org.bson.Document;
|
import org.bson.Document;
|
||||||
import org.bson.conversions.Bson;
|
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;
|
import org.redisson.api.RMap;
|
||||||
|
|
||||||
public class PostLoginListener implements Listener {
|
public class PostLoginListener implements Listener {
|
||||||
|
@ -42,8 +39,7 @@ public class PostLoginListener implements Listener {
|
||||||
ProxySystem.getInstance().getPlayers()
|
ProxySystem.getInstance().getPlayers()
|
||||||
.find(Filters.eq("uuid", uuid))
|
.find(Filters.eq("uuid", uuid))
|
||||||
.first((document, throwable) -> {
|
.first((document, throwable) -> {
|
||||||
if (document == null) {
|
if (document == null) { // new player - create entries in databases
|
||||||
// create player in db and send voice url
|
|
||||||
System.out.println("create player in db");
|
System.out.println("create player in db");
|
||||||
String voiceWebCode = generateVoiceWebCode(uuid);
|
String voiceWebCode = generateVoiceWebCode(uuid);
|
||||||
|
|
||||||
|
@ -54,7 +50,27 @@ public class PostLoginListener implements Listener {
|
||||||
});
|
});
|
||||||
|
|
||||||
sendVoiceWebCodeUrl(proxiedPlayer, voiceWebCode);
|
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
|
// check if both sockets connected
|
||||||
int cmdID = ProxySystem.getInstance().getKraSocketClientProtocol().generateCmdID();
|
int cmdID = ProxySystem.getInstance().getKraSocketClientProtocol().generateCmdID();
|
||||||
|
|
||||||
|
@ -103,6 +119,7 @@ public class PostLoginListener implements Listener {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
MessageBufferPacker packer = MessagePack.newDefaultBufferPacker();
|
MessageBufferPacker packer = MessagePack.newDefaultBufferPacker();
|
||||||
|
|
||||||
packer.packString(proxiedPlayer.getName());
|
packer.packString(proxiedPlayer.getName());
|
||||||
|
@ -111,7 +128,7 @@ public class PostLoginListener implements Listener {
|
||||||
packer.packString("number 1");
|
packer.packString("number 1");
|
||||||
packer.packString("number 2");
|
packer.packString("number 2");
|
||||||
|
|
||||||
packer.close();
|
packer.close(); */
|
||||||
/*
|
/*
|
||||||
RBucket<PlayerTest> bucket = ProxySystem.getInstance().getRedisManager().getRedissonClient()
|
RBucket<PlayerTest> bucket = ProxySystem.getInstance().getRedisManager().getRedissonClient()
|
||||||
.getBucket("player:" + proxiedPlayer.getUniqueId().toString());
|
.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 !");
|
/*MessageUnpacker unpacker = MessagePack.newDefaultUnpacker(packer.toByteArray());
|
||||||
} 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());
|
|
||||||
|
|
||||||
String playerName = unpacker.unpackString();
|
String playerName = unpacker.unpackString();
|
||||||
int n = unpacker.unpackInt();
|
int n = unpacker.unpackInt();
|
||||||
|
@ -161,10 +166,10 @@ public class PostLoginListener implements Listener {
|
||||||
nu[i] = unpacker.unpackString();
|
nu[i] = unpacker.unpackString();
|
||||||
}
|
}
|
||||||
|
|
||||||
unpacker.close();
|
unpacker.close(); */
|
||||||
|
/*
|
||||||
ProxySystem.getInstance().getLogger()
|
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) {
|
public void sendVoiceWebCodeUrl(ProxiedPlayer proxiedPlayer, String voiceWebCode) {
|
||||||
|
|
Loading…
Reference in New Issue