Search in sources :

Example 1 with LoginActionMessage

use of com.github.games647.fastlogin.core.message.LoginActionMessage in project FastLogin by games647.

the class ForceLoginTask method onForceActionSuccess.

@Override
public void onForceActionSuccess(LoginSession session) {
    // sub channel name
    Type type = Type.LOGIN;
    if (session.needsRegistration()) {
        type = Type.REGISTER;
    }
    UUID proxyId = core.getPlugin().getProxyId();
    ChannelMessage loginMessage = new LoginActionMessage(type, player.getUsername(), proxyId);
    core.getPlugin().sendPluginMessage(server, loginMessage);
}
Also used : Type(com.github.games647.fastlogin.core.message.LoginActionMessage.Type) LoginActionMessage(com.github.games647.fastlogin.core.message.LoginActionMessage) UUID(java.util.UUID) ChannelMessage(com.github.games647.fastlogin.core.message.ChannelMessage)

Example 2 with LoginActionMessage

use of com.github.games647.fastlogin.core.message.LoginActionMessage in project FastLogin by games647.

the class BungeeListener method readMessage.

private void readMessage(Player player, LoginActionMessage message) {
    String playerName = message.getPlayerName();
    Type type = message.getType();
    InetSocketAddress address = player.getAddress();
    plugin.getLog().info("Player info {} command for {} from proxy", type, playerName);
    if (type == Type.LOGIN) {
        onLoginMessage(player, playerName, address);
    } else if (type == Type.REGISTER) {
        onRegisterMessage(player, playerName, address);
    } else if (type == Type.CRACKED) {
        // we don't start a force login task here so update it manually
        plugin.getPremiumPlayers().put(player.getUniqueId(), PremiumStatus.CRACKED);
    }
}
Also used : Type(com.github.games647.fastlogin.core.message.LoginActionMessage.Type) InetSocketAddress(java.net.InetSocketAddress)

Example 3 with LoginActionMessage

use of com.github.games647.fastlogin.core.message.LoginActionMessage in project FastLogin by games647.

the class BungeeListener method onPluginMessageReceived.

@Override
public void onPluginMessageReceived(@NotNull String channel, Player player, byte[] message) {
    ByteArrayDataInput dataInput = ByteStreams.newDataInput(message);
    LoginActionMessage loginMessage = new LoginActionMessage();
    loginMessage.readFrom(dataInput);
    plugin.getLog().debug("Received plugin message {}", loginMessage);
    Player targetPlayer = player;
    if (!loginMessage.getPlayerName().equals(player.getName())) {
        targetPlayer = Bukkit.getPlayerExact(loginMessage.getPlayerName());
    }
    if (targetPlayer == null) {
        plugin.getLog().warn("Force action player {} not found", loginMessage.getPlayerName());
        return;
    }
    // fail if target player is blocked because already authenticated or wrong bungeecord id
    if (targetPlayer.hasMetadata(plugin.getName())) {
        plugin.getLog().warn("Received message {} from a blocked player {}", loginMessage, targetPlayer);
    } else {
        UUID sourceId = loginMessage.getProxyId();
        if (plugin.getBungeeManager().isProxyAllowed(sourceId)) {
            readMessage(targetPlayer, loginMessage);
        } else {
            plugin.getLog().warn("Received proxy id: {} that doesn't exist in the proxy file", sourceId);
        }
    }
}
Also used : LoginActionMessage(com.github.games647.fastlogin.core.message.LoginActionMessage) Player(org.bukkit.entity.Player) ByteArrayDataInput(com.google.common.io.ByteArrayDataInput) UUID(java.util.UUID)

Example 4 with LoginActionMessage

use of com.github.games647.fastlogin.core.message.LoginActionMessage in project FastLogin by games647.

the class ForceLoginTask method onForceActionSuccess.

@Override
public void onForceActionSuccess(LoginSession session) {
    // sub channel name
    Type type = Type.LOGIN;
    if (session.needsRegistration()) {
        type = Type.REGISTER;
    }
    UUID proxyId = UUID.fromString(ProxyServer.getInstance().getConfig().getUuid());
    ChannelMessage loginMessage = new LoginActionMessage(type, player.getName(), proxyId);
    core.getPlugin().sendPluginMessage(server, loginMessage);
}
Also used : Type(com.github.games647.fastlogin.core.message.LoginActionMessage.Type) LoginActionMessage(com.github.games647.fastlogin.core.message.LoginActionMessage) UUID(java.util.UUID) ChannelMessage(com.github.games647.fastlogin.core.message.ChannelMessage)

Aggregations

LoginActionMessage (com.github.games647.fastlogin.core.message.LoginActionMessage)3 Type (com.github.games647.fastlogin.core.message.LoginActionMessage.Type)3 UUID (java.util.UUID)3 ChannelMessage (com.github.games647.fastlogin.core.message.ChannelMessage)2 ByteArrayDataInput (com.google.common.io.ByteArrayDataInput)1 InetSocketAddress (java.net.InetSocketAddress)1 Player (org.bukkit.entity.Player)1