Bungee message update, whatever.

This commit is contained in:
DNx5 2015-12-11 12:16:29 +07:00
parent 1ecee76b60
commit cd1c861b47
7 changed files with 67 additions and 70 deletions

View File

@ -49,6 +49,10 @@ public class CacheDataSource implements DataSource {
}); });
} }
public void addAuthToCache(PlayerAuth auth) {
cache.put(auth.getNickname().toLowerCase(), auth);
}
/** /**
* Method isAuthAvailable. * Method isAuthAvailable.
* *

View File

@ -6,7 +6,7 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.datasource.CacheDataSource;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.messaging.PluginMessageListener; import org.bukkit.plugin.messaging.PluginMessageListener;
@ -35,8 +35,7 @@ public class BungeeCordMessage implements PluginMessageListener {
* @see org.bukkit.plugin.messaging.PluginMessageListener#onPluginMessageReceived(String, Player, byte[]) * @see org.bukkit.plugin.messaging.PluginMessageListener#onPluginMessageReceived(String, Player, byte[])
*/ */
@Override @Override
public void onPluginMessageReceived(String channel, Player player, public void onPluginMessageReceived(String channel, Player player, byte[] message) {
byte[] message) {
if (!channel.equals("BungeeCord")) { if (!channel.equals("BungeeCord")) {
return; return;
} }
@ -47,36 +46,28 @@ public class BungeeCordMessage implements PluginMessageListener {
// Put the IP (only the ip not the port) in the hashMap // Put the IP (only the ip not the port) in the hashMap
plugin.realIp.put(player.getName().toLowerCase(), ip); plugin.realIp.put(player.getName().toLowerCase(), ip);
} }
if (subChannel.equals("Forward") || subChannel.equalsIgnoreCase("AuthMe")) if (subChannel.equalsIgnoreCase("AuthMe")) {
{ String str = in.readUTF();
short len = in.readShort(); String[] args = str.split(";");
byte[] data = new byte[len]; String name = args[1];
in.readFully(data); PlayerAuth auth = plugin.database.getAuth(name);
if (auth == null) {
//bytearray to string return;
String str = new String(data); }
if (!str.startsWith("AuthMe")) if ("login".equals(args[0])) {
return; PlayerCache.getInstance().updatePlayer(auth);
String[] args = str.split(";"); plugin.database.setLogged(name);
try { ConsoleLogger.info("Player " + auth.getNickname() + " has logged in from one of your server!");
String name = args[2]; } else if ("logout".equals(args[0])) {
PlayerAuth auth = plugin.database.getAuth(name); PlayerCache.getInstance().removePlayer(name);
if (auth == null) plugin.database.setUnlogged(name);
return; ConsoleLogger.info("Player " + auth.getNickname() + " has logged out from one of your server!");
if (args[1].equalsIgnoreCase("login")) } else if ("register".equals(args[0])) {
{ if (plugin.database instanceof CacheDataSource) {
PlayerCache.getInstance().addPlayer(auth); ((CacheDataSource)plugin.database).addAuthToCache(auth);
plugin.database.setLogged(name); }
ConsoleLogger.info("Player " + auth.getNickname() + " has logged in from one of your server!"); ConsoleLogger.info("Player " + auth.getNickname() + " has registered out from one of your server!");
} }
else if (args[1].equalsIgnoreCase("logout"))
{
PlayerCache.getInstance().removePlayer(name);
plugin.database.setUnlogged(name);
ConsoleLogger.info("Player " + auth.getNickname() + " has logged out from one of your server!");
}
} catch (Exception e)
{}
} }
} }

View File

@ -1,5 +1,7 @@
package fr.xephi.authme.process.login; package fr.xephi.authme.process.login;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.cache.auth.PlayerAuth; import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.backup.JsonCache; import fr.xephi.authme.cache.backup.JsonCache;
@ -14,16 +16,12 @@ import fr.xephi.authme.listener.AuthMePlayerListener;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.Utils; import fr.xephi.authme.util.Utils;
import fr.xephi.authme.util.Utils.GroupType; import fr.xephi.authme.util.Utils.GroupType;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.PluginManager;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
/** /**
*/ */
public class ProcessSyncronousPlayerLogin implements Runnable { public class ProcessSyncronousPlayerLogin implements Runnable {
@ -118,17 +116,12 @@ public class ProcessSyncronousPlayerLogin implements Runnable {
} }
protected void sendBungeeMessage() { protected void sendBungeeMessage() {
ByteArrayDataOutput out = ByteStreams.newDataOutput(); ByteArrayDataOutput out = ByteStreams.newDataOutput();
try { out.writeUTF("Forward");
String str = "AuthMe;login;" + name; out.writeUTF("ALL");
out.writeUTF("Forward"); out.writeUTF("AuthMe");
out.writeUTF("ALL"); out.writeUTF("login;" + name);
out.writeUTF("AuthMe"); player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
out.writeShort(str.length());
out.writeUTF(str);
player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
} catch (Exception e)
{}
} }
/** /**
@ -205,7 +198,7 @@ public class ProcessSyncronousPlayerLogin implements Runnable {
Bukkit.getServer().getPluginManager().callEvent(new LoginEvent(player, true)); Bukkit.getServer().getPluginManager().callEvent(new LoginEvent(player, true));
player.saveData(); player.saveData();
if (Settings.bungee) if (Settings.bungee)
sendBungeeMessage(); sendBungeeMessage();
// Login is finish, display welcome message // Login is finish, display welcome message
if (Settings.useWelcomeMessage) if (Settings.useWelcomeMessage)
if (Settings.broadcastWelcomeMessage) { if (Settings.broadcastWelcomeMessage) {

View File

@ -1,5 +1,7 @@
package fr.xephi.authme.process.logout; package fr.xephi.authme.process.logout;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
@ -9,7 +11,6 @@ import fr.xephi.authme.output.Messages;
import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask; import fr.xephi.authme.task.MessageTask;
import fr.xephi.authme.task.TimeoutTask; import fr.xephi.authme.task.TimeoutTask;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
@ -17,9 +18,6 @@ import org.bukkit.potion.PotionEffectType;
import org.bukkit.scheduler.BukkitScheduler; import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.scheduler.BukkitTask; import org.bukkit.scheduler.BukkitTask;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
/** /**
*/ */
public class ProcessSyncronousPlayerLogout implements Runnable { public class ProcessSyncronousPlayerLogout implements Runnable {
@ -43,17 +41,12 @@ public class ProcessSyncronousPlayerLogout implements Runnable {
} }
protected void sendBungeeMessage() { protected void sendBungeeMessage() {
ByteArrayDataOutput out = ByteStreams.newDataOutput(); ByteArrayDataOutput out = ByteStreams.newDataOutput();
try { out.writeUTF("Forward");
String str = "AuthMe;logout;" + name; out.writeUTF("ALL");
out.writeUTF("Forward"); out.writeUTF("AuthMe");
out.writeUTF("ALL"); out.writeUTF("logout;" + name);
out.writeUTF("AuthMe"); player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
out.writeShort(str.length());
out.writeUTF(str);
player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
} catch (Exception e)
{}
} }
/** /**
@ -95,7 +88,7 @@ public class ProcessSyncronousPlayerLogout implements Runnable {
// Player is now logout... Time to fire event ! // Player is now logout... Time to fire event !
Bukkit.getServer().getPluginManager().callEvent(new LogoutEvent(player)); Bukkit.getServer().getPluginManager().callEvent(new LogoutEvent(player));
if (Settings.bungee) if (Settings.bungee)
sendBungeeMessage(); sendBungeeMessage();
m.send(player, MessageKey.LOGOUT_SUCCESS); m.send(player, MessageKey.LOGOUT_SUCCESS);
ConsoleLogger.info(player.getName() + " logged out"); ConsoleLogger.info(player.getName() + " logged out");
} }

View File

@ -145,7 +145,7 @@ public class AsyncRegister {
database.setLogged(name); database.setLogged(name);
} }
plugin.otherAccounts.addPlayer(player.getUniqueId()); plugin.otherAccounts.addPlayer(player.getUniqueId());
ProcessSyncronousPasswordRegister sync = new ProcessSyncronousPasswordRegister(player, plugin); ProcessSyncPasswordRegister sync = new ProcessSyncPasswordRegister(player, plugin);
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, sync); plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, sync);
} }
} }

View File

@ -64,8 +64,9 @@ public class ProcessSyncEmailRegister implements Runnable {
} }
player.saveData(); player.saveData();
if (!Settings.noConsoleSpam) if (!Settings.noConsoleSpam) {
ConsoleLogger.info(player.getName() + " registered " + plugin.getIP(player)); ConsoleLogger.info(player.getName() + " registered " + plugin.getIP(player));
}
} }
} }

View File

@ -1,5 +1,7 @@
package fr.xephi.authme.process.register; package fr.xephi.authme.process.register;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import fr.xephi.authme.AuthMe; import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger; import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.limbo.LimboCache; import fr.xephi.authme.cache.limbo.LimboCache;
@ -21,7 +23,7 @@ import org.bukkit.scheduler.BukkitTask;
/** /**
*/ */
public class ProcessSyncronousPasswordRegister implements Runnable { public class ProcessSyncPasswordRegister implements Runnable {
protected final Player player; protected final Player player;
protected final String name; protected final String name;
@ -29,18 +31,27 @@ public class ProcessSyncronousPasswordRegister implements Runnable {
private final Messages m; private final Messages m;
/** /**
* Constructor for ProcessSyncronousPasswordRegister. * Constructor for ProcessSyncPasswordRegister.
* *
* @param player Player * @param player Player
* @param plugin AuthMe * @param plugin AuthMe
*/ */
public ProcessSyncronousPasswordRegister(Player player, AuthMe plugin) { public ProcessSyncPasswordRegister(Player player, AuthMe plugin) {
this.m = plugin.getMessages(); this.m = plugin.getMessages();
this.player = player; this.player = player;
this.name = player.getName().toLowerCase(); this.name = player.getName().toLowerCase();
this.plugin = plugin; this.plugin = plugin;
} }
private void sendBungeeMessage() {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF("Forward");
out.writeUTF("ALL");
out.writeUTF("AuthMe");
out.writeUTF("register;" + name);
player.sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
}
private void forceCommands() { private void forceCommands() {
for (String command : Settings.forceRegisterCommands) { for (String command : Settings.forceRegisterCommands) {
player.performCommand(command.replace("%p", player.getName())); player.performCommand(command.replace("%p", player.getName()));
@ -155,6 +166,10 @@ public class ProcessSyncronousPasswordRegister implements Runnable {
} }
} }
if (Settings.bungee) {
sendBungeeMessage();
}
// Register is now finish , we can force all commands // Register is now finish , we can force all commands
forceCommands(); forceCommands();
} }