public OfflinePlayer registerPlayer(PlayerConnection playerConnection) { OfflinePlayer offlinePlayer = new OfflinePlayer(playerConnection.getUniqueId(), playerConnection.getName(), new Document(), System.currentTimeMillis(), System.currentTimeMillis(), playerConnection, new PermissionEntity(playerConnection.getUniqueId(), new HashMap<>(), null, null, new LinkedList<>())); database.insert(new DatabaseDocument(playerConnection.getUniqueId().toString()).append("offlinePlayer", offlinePlayer)); return offlinePlayer; }
public void handlePlayerUpdate(CloudPlayer cloudPlayer) { this.onlinePlayers.put(cloudPlayer.getUniqueId(), cloudPlayer); CloudNet.getInstance().getEventManager().callEvent(new UpdatePlayerEvent(cloudPlayer)); this.sendAllUpdate(new PacketOutUpdatePlayer(cloudPlayer)); if (cloudPlayer.getServer() != null) System.out.println("Player [" + cloudPlayer.getName() + NetworkUtils.SLASH_STRING + cloudPlayer.getUniqueId() + "/] update [server=" + cloudPlayer.getServer() + ", proxy=" + cloudPlayer.getProxy() + ", address=" + cloudPlayer.getPlayerConnection().getHost() + "]"); }
public PermissionEntity getNewPermissionEntity(PlayerConnection playerWhereAmI) { return new PermissionEntity(playerWhereAmI.getUniqueId(), new HashMap<>(), null, null, Arrays.asList(new GroupEntityData(getDefaultGroup().getName(), 0L))); }
@EventHandler(priority = EventPriority.LOWEST) public void handleLogin(LoginEvent e) PlayerConnection playerConnection = new PlayerConnection( e.getConnection().getUniqueId(), e.getConnection().getName(), e.getConnection().getVersion(),
@Override public void execute(CommandSender commandSender, String[] args) { if (args.length < 1) { commandSender.sendMessage(new TextComponent(TextComponent.fromLegacyText(ChatColor.RED + "Please follow this command by a user name"))); return; } OfflinePlayer user = CloudAPI.getInstance().getOfflinePlayer(args[0]); if (user == null) commandSender.sendMessage(new TextComponent(TextComponent.fromLegacyText(ChatColor.RED + "That user is not registered!"))); else commandSender.sendMessage(TextComponent.fromLegacyText(ChatColor.BLUE + "IP of " + args[0] + " is " + user.getLastPlayerConnection().getHost())); } }
public void handlePlayerLoginRequest(ProxyServer proxyServer, PlayerConnection cloudPlayerConnection, UUID uniqueId) { if (this.onlinePlayers.containsKey(cloudPlayerConnection.getUniqueId())) { proxyServer.sendPacketSynchronized(new PacketOutLoginPlayer(uniqueId, null)); return; } LoginRequestEvent loginRequestEvent = new LoginRequestEvent(proxyServer, cloudPlayerConnection); CloudNet.getInstance().getEventManager().callEvent(loginRequestEvent); PlayerDatabase playerDatabase = CloudNet.getInstance().getDbHandlers().getPlayerDatabase(); OfflinePlayer offlinePlayer = null; if (!playerDatabase.containsPlayer(cloudPlayerConnection.getUniqueId())) offlinePlayer = playerDatabase.registerPlayer(cloudPlayerConnection); if (offlinePlayer == null) offlinePlayer = playerDatabase.getPlayer(cloudPlayerConnection.getUniqueId()); CloudPlayer cloudPlayer = new CloudPlayer(offlinePlayer, cloudPlayerConnection, proxyServer.getServerId()); cloudPlayer.setPlayerExecutor(CorePlayerExecutor.INSTANCE); if (cloudPlayer.getFirstLogin() == null) cloudPlayer.setFirstLogin(System.currentTimeMillis()); CloudNet.getInstance().getEventManager().callEvent(new PlayerInitEvent(cloudPlayer)); CloudNet.getInstance().getDbHandlers().getNameToUUIDDatabase().append(new MultiValue<>(cloudPlayerConnection.getName(), cloudPlayerConnection.getUniqueId())); CloudNet.getInstance().getDbHandlers().getNameToUUIDDatabase().replace(new MultiValue<>(cloudPlayerConnection.getUniqueId(), cloudPlayerConnection.getName())); cloudPlayer.setName(cloudPlayerConnection.getName()); CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(CloudPlayer.newOfflinePlayer(cloudPlayer)); proxyServer.sendPacketSynchronized(new PacketOutLoginPlayer(uniqueId, cloudPlayer)); this.waitingPlayers.put(cloudPlayer.getUniqueId(), cloudPlayer); handlePlayerLogin(cloudPlayer); }
public void handlePlayerLogin(CloudPlayer loginPlayer) { loginPlayer.setPlayerExecutor(CorePlayerExecutor.INSTANCE); CloudNet.getInstance().getEventManager().callEvent(new LoginEvent(loginPlayer)); System.out.println("Player [" + loginPlayer.getName() + NetworkUtils.SLASH_STRING + loginPlayer.getUniqueId() + NetworkUtils.SLASH_STRING + loginPlayer.getPlayerConnection().getHost() + "] is connected on " + loginPlayer.getProxy()); this.sendAllUpdate(new PacketOutLoginPlayer(loginPlayer)); this.sendAll(new PacketOutUpdateOnlineCount(getOnlineCount())); StatisticManager.getInstance().addPlayerLogin(); StatisticManager.getInstance().highestPlayerOnlineCount(getOnlineCount()); }
public void handlePlayerLogout(CloudPlayer playerWhereAmI) { CloudNet.getInstance().getEventManager().callEvent(new LogoutEvent(playerWhereAmI)); try { System.out.println("Player [" + playerWhereAmI.getName() + NetworkUtils.SLASH_STRING + playerWhereAmI.getUniqueId() + NetworkUtils.SLASH_STRING + playerWhereAmI.getPlayerConnection().getHost() + "] is disconnected on " + playerWhereAmI.getProxy()); } catch (Exception ex) { } try { this.onlinePlayers.remove(playerWhereAmI.getUniqueId()); } catch (Exception ex) { } this.sendAllUpdate(new PacketOutLogoutPlayer(playerWhereAmI)); this.sendAll(new PacketOutUpdateOnlineCount(getOnlineCount())); try { playerWhereAmI.setLastLogin(System.currentTimeMillis()); playerWhereAmI.setLastPlayerConnection(playerWhereAmI.getPlayerConnection()); CloudNet.getInstance().getDbHandlers().getPlayerDatabase().updatePlayer(CloudPlayer.newOfflinePlayer(playerWhereAmI)); } catch (Exception ex) { } }