diff --git a/pom.xml b/pom.xml
index a6bacb27e..117a7d205 100644
--- a/pom.xml
+++ b/pom.xml
@@ -116,31 +116,19 @@
spigot-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots
-
-
-
-
- Plugin Metrics
- http://repo.mcstats.org/content/repositories/releases
-
-
-
-
- vault-repo
- http://nexus.theyeticave.net/content/repositories/pub_releases
-
-
-
-
- citizens-repo
- http://repo.citizensnpcs.co
+ https://hub.spigotmc.org/nexus/content/groups/public
ess-repo
- http://repo.ess3.net/content/groups/essentials
+ http://repo.ess3.net/content/groups/public
+
+
+
+
+ citizensapi-repo
+ http://ci.citizensnpcs.co/plugin/repository/project/CitizensAPI/LastSuccessful/repository
@@ -149,22 +137,34 @@
http://repo.minelink.net/content/repositories/public
-
-
- luricos-releases
- http://repo.luricos.de/content/repositories/bukkit-plugins
-
-
comphenix-snapshots
- http://repo.comphenix.net/content/repositories/snapshots
+ http://repo.comphenix.net/content/repositories/public
onarandombox
- http://repo.onarandombox.com/content/repositories/multiverse
+ http://repo.onarandombox.com/content/groups/public
+
+
+
+
+ vault-repo
+ http://nexus.theyeticave.net/content/repositories/pub_releases
+
+
+
+
+ Plugin Metrics
+ http://repo.mcstats.org/content/repositories/releases
+
+
+
+
+ luricos-releases
+ http://repo.luricos.de/content/repositories/releases
@@ -248,6 +248,7 @@
net.milkbowl.vault
VaultAPI
1.5
+ provided
org.bukkit
@@ -300,7 +301,7 @@
net.ess3
Essentials
- 2.13-SNAPSHOT
+ 2.14-SNAPSHOT
org.bukkit
diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java
index f11b5105e..82697f2df 100644
--- a/src/main/java/fr/xephi/authme/AuthMe.java
+++ b/src/main/java/fr/xephi/authme/AuthMe.java
@@ -12,8 +12,6 @@ import java.net.URL;
import java.net.URLConnection;
import java.util.Calendar;
import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Logger;
@@ -80,7 +78,6 @@ public class AuthMe extends JavaPlugin {
public DataSource database = null;
private Settings settings;
private Messages m;
- public PlayersLogs pllog;
public OtherAccounts otherAccounts;
public static Server server;
public static Logger authmeLogger = Logger.getLogger("AuthMe");
@@ -97,9 +94,9 @@ public class AuthMe extends JavaPlugin {
public Essentials ess;
public API api;
public Management management;
- public HashMap captcha = new HashMap();
- public HashMap cap = new HashMap();
- public HashMap realIp = new HashMap();
+ public ConcurrentHashMap captcha = new ConcurrentHashMap();
+ public ConcurrentHashMap cap = new ConcurrentHashMap();
+ public ConcurrentHashMap realIp = new ConcurrentHashMap();
public MultiverseCore multiverse = null;
public Location essentialsSpawn;
public LookupService ls = null;
@@ -151,8 +148,6 @@ public class AuthMe extends JavaPlugin {
m = Messages.getInstance();
- pllog = PlayersLogs.getInstance();
-
otherAccounts = OtherAccounts.getInstance();
server = getServer();
@@ -208,13 +203,13 @@ public class AuthMe extends JavaPlugin {
setupDatabase();
- dataManager = new DataManager(this, database);
+ dataManager = new DataManager(this);
// Setup API
- api = new API(this, database);
+ api = new API(this);
// Setup Management
- management = new Management(database, this);
+ management = new Management(this);
PluginManager pm = getServer().getPluginManager();
if (Settings.bungee) {
@@ -222,33 +217,34 @@ public class AuthMe extends JavaPlugin {
Bukkit.getMessenger().registerIncomingPluginChannel(this, "BungeeCord", new BungeeCordMessage(this));
}
- pm.registerEvents(new AuthMePlayerListener(this, database), this);
- pm.registerEvents(new AuthMeBlockListener(database, this), this);
- pm.registerEvents(new AuthMeEntityListener(database, this), this);
+ pm.registerEvents(new AuthMePlayerListener(this), this);
+ pm.registerEvents(new AuthMeBlockListener(this), this);
+ pm.registerEvents(new AuthMeEntityListener(this), this);
pm.registerEvents(new AuthMeServerListener(this), this);
if (ChestShop != 0) {
- pm.registerEvents(new AuthMeChestShopListener(database, this), this);
+ pm.registerEvents(new AuthMeChestShopListener(this), this);
ConsoleLogger.info("Successfully hook with ChestShop!");
}
- this.getCommand("authme").setExecutor(new AdminCommand(this, database));
+ this.getCommand("authme").setExecutor(new AdminCommand(this));
this.getCommand("register").setExecutor(new RegisterCommand(this));
this.getCommand("login").setExecutor(new LoginCommand(this));
- this.getCommand("changepassword").setExecutor(new ChangePasswordCommand(database, this));
- this.getCommand("logout").setExecutor(new LogoutCommand(this, database));
- this.getCommand("unregister").setExecutor(new UnregisterCommand(this, database));
+ this.getCommand("changepassword").setExecutor(new ChangePasswordCommand(this));
+ this.getCommand("logout").setExecutor(new LogoutCommand(this));
+ this.getCommand("unregister").setExecutor(new UnregisterCommand(this));
this.getCommand("passpartu").setExecutor(new PasspartuCommand(this));
- this.getCommand("email").setExecutor(new EmailCommand(this, database));
+ this.getCommand("email").setExecutor(new EmailCommand(this));
this.getCommand("captcha").setExecutor(new CaptchaCommand(this));
- this.getCommand("converter").setExecutor(new ConverterCommand(this, database));
+ this.getCommand("converter").setExecutor(new ConverterCommand(this));
if (!Settings.isForceSingleSessionEnabled) {
ConsoleLogger.showError("BECAREFUL !!! By disabling ForceSingleSession, your server protection is set to LOW");
}
+ PlayersLogs.getInstance();
+
if (Settings.reloadSupport)
try {
- onReload();
int playersOnline = 0;
try {
if (Bukkit.class.getMethod("getOnlinePlayers", new Class>[0]).getReturnType() == Collection.class)
@@ -261,7 +257,7 @@ public class AuthMe extends JavaPlugin {
database.purgeLogged();
} catch (NullPointerException npe) {
}
- }
+ } else PlayersLogs.getInstance().loadPlayers();
} catch (Exception ex) {
}
@@ -432,27 +428,6 @@ public class AuthMe extends JavaPlugin {
ConsoleLogger.info("Authme " + this.getDescription().getVersion() + " disabled");
}
- private void onReload() {
- try {
- if (Bukkit.getServer().getOnlinePlayers() != null) {
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- if (database.isLogged(player.getName().toLowerCase())) {
- String name = player.getName().toLowerCase();
- PlayerAuth pAuth = database.getAuth(name);
- if (pAuth == null)
- break;
- PlayerAuth auth = new PlayerAuth(name, pAuth.getHash(), pAuth.getIp(), new Date().getTime(), pAuth.getEmail());
- database.updateSession(auth);
- PlayerCache.getInstance().addPlayer(auth);
- }
- }
- }
- return;
- } catch (Exception ex) {
- return;
- }
- }
-
public static AuthMe getInstance() {
return authme;
}
@@ -607,7 +582,7 @@ public class AuthMe extends JavaPlugin {
return Spawn.getInstance().getFirstSpawn();
if (Spawn.getInstance().getSpawn() != null)
return Spawn.getInstance().getSpawn();
- return this.getServer().getWorld(Settings.defaultWorld).getSpawnLocation();
+ return player.getWorld().getSpawnLocation();
}
public void downloadGeoIp() {
diff --git a/src/main/java/fr/xephi/authme/DataManager.java b/src/main/java/fr/xephi/authme/DataManager.java
index a1de30f31..3804999ad 100644
--- a/src/main/java/fr/xephi/authme/DataManager.java
+++ b/src/main/java/fr/xephi/authme/DataManager.java
@@ -8,23 +8,19 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
-import net.milkbowl.vault.permission.Permission;
-
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.entity.Player;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Settings;
+import net.milkbowl.vault.permission.Permission;
public class DataManager {
public AuthMe plugin;
- public DataSource database;
- public DataManager(AuthMe plugin, DataSource database) {
+ public DataManager(AuthMe plugin) {
this.plugin = plugin;
- this.database = database;
}
public void run() {
diff --git a/src/main/java/fr/xephi/authme/cache/auth/PlayerCache.java b/src/main/java/fr/xephi/authme/cache/auth/PlayerCache.java
index a517c7568..17911bdc8 100644
--- a/src/main/java/fr/xephi/authme/cache/auth/PlayerCache.java
+++ b/src/main/java/fr/xephi/authme/cache/auth/PlayerCache.java
@@ -43,4 +43,8 @@ public class PlayerCache {
return cache.size();
}
+ public ConcurrentHashMap getCache() {
+ return this.cache;
+ }
+
}
diff --git a/src/main/java/fr/xephi/authme/commands/AdminCommand.java b/src/main/java/fr/xephi/authme/commands/AdminCommand.java
index d5548a64b..0bc8050d2 100644
--- a/src/main/java/fr/xephi/authme/commands/AdminCommand.java
+++ b/src/main/java/fr/xephi/authme/commands/AdminCommand.java
@@ -234,36 +234,39 @@ public class AdminCommand implements CommandExecutor {
});
return true;
} else {
+ final CommandSender fSender = sender;
+ final String[] arguments = args;
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
@Override
public void run() {
String message = "[AuthMe] ";
- if (args[1] == null) {
- sender.sendMessage("[AuthMe] Please put a valid IP");
+ if (arguments[1] != null) {
+ List accountList = plugin.database.getAllAuthsByIp(arguments[1]);
+ if (accountList.isEmpty() || accountList == null) {
+ fSender.sendMessage("[AuthMe] Please put a valid IP");
+ return;
+ }
+ if (accountList.size() == 1) {
+ fSender.sendMessage("[AuthMe] " + arguments[1] + " is a single account player");
+ return;
+ }
+ int i = 0;
+ for (String account : accountList) {
+ i++;
+ message = message + account;
+ if (i != accountList.size()) {
+ message = message + ", ";
+ } else {
+ message = message + ".";
+ }
+ }
+ fSender.sendMessage("[AuthMe] " + arguments[1] + " has " + String.valueOf(accountList.size()) + " accounts");
+ fSender.sendMessage(message);
+ } else {
+ fSender.sendMessage("[AuthMe] Please put a valid IP");
return;
}
- List accountList = plugin.database.getAllAuthsByIp(args[1]);
- if (accountList.isEmpty() || accountList == null) {
- sender.sendMessage("[AuthMe] This IP does not exist in the database");
- return true;
- }
- if (accountList.size() == 1) {
- sender.sendMessage("[AuthMe] " + args[1] + " is a single account player");
- return true;
- }
- int i = 0;
- for (String account : accountList) {
- i++;
- message = message + account;
- if (i != accountList.size()) {
- message = message + ", ";
- } else {
- message = message + ".";
- }
- }
- sender.sendMessage("[AuthMe] " + args[1] + " has " + String.valueOf(accountList.size()) + " accounts");
- sender.sendMessage(message);
}
});
return true;
diff --git a/src/main/java/fr/xephi/authme/commands/ConverterCommand.java b/src/main/java/fr/xephi/authme/commands/ConverterCommand.java
index a5c3a1155..3da052a04 100644
--- a/src/main/java/fr/xephi/authme/commands/ConverterCommand.java
+++ b/src/main/java/fr/xephi/authme/commands/ConverterCommand.java
@@ -16,18 +16,15 @@ import fr.xephi.authme.converter.RoyalAuthConverter;
import fr.xephi.authme.converter.SqlToFlat;
import fr.xephi.authme.converter.vAuthConverter;
import fr.xephi.authme.converter.xAuthConverter;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Messages;
public class ConverterCommand implements CommandExecutor {
private AuthMe plugin;
private Messages m = Messages.getInstance();
- private DataSource database;
- public ConverterCommand(AuthMe plugin, DataSource database) {
+ public ConverterCommand(AuthMe plugin) {
this.plugin = plugin;
- this.database = database;
}
@Override
@@ -61,22 +58,22 @@ public class ConverterCommand implements CommandExecutor {
converter = new FlatToSqlite(sender);
break;
case xauth:
- converter = new xAuthConverter(plugin, database, sender);
+ converter = new xAuthConverter(plugin, sender);
break;
case crazylogin:
- converter = new CrazyLoginConverter(plugin, database, sender);
+ converter = new CrazyLoginConverter(plugin, sender);
break;
case rakamak:
- converter = new RakamakConverter(plugin, database, sender);
+ converter = new RakamakConverter(plugin, sender);
break;
case royalauth:
converter = new RoyalAuthConverter(plugin);
break;
case vauth:
- converter = new vAuthConverter(plugin, database, sender);
+ converter = new vAuthConverter(plugin, sender);
break;
case sqltoflat:
- converter = new SqlToFlat(plugin, database, sender);
+ converter = new SqlToFlat(plugin, sender);
break;
default:
break;
diff --git a/src/main/java/fr/xephi/authme/commands/EmailCommand.java b/src/main/java/fr/xephi/authme/commands/EmailCommand.java
index ab32be6de..a5ada2c0d 100644
--- a/src/main/java/fr/xephi/authme/commands/EmailCommand.java
+++ b/src/main/java/fr/xephi/authme/commands/EmailCommand.java
@@ -11,7 +11,6 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.ConsoleLogger;
import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.security.RandomString;
import fr.xephi.authme.settings.Messages;
@@ -24,12 +23,10 @@ import fr.xephi.authme.settings.Settings;
public class EmailCommand implements CommandExecutor {
public AuthMe plugin;
- private DataSource data;
private Messages m = Messages.getInstance();
- public EmailCommand(AuthMe plugin, DataSource data) {
+ public EmailCommand(AuthMe plugin) {
this.plugin = plugin;
- this.data = data;
}
@Override
@@ -60,7 +57,7 @@ public class EmailCommand implements CommandExecutor {
return true;
}
if (Settings.getmaxRegPerEmail > 0) {
- if (!plugin.authmePermissible(sender, "authme.allow2accounts") && data.getAllAuthsByEmail(args[1]).size() >= Settings.getmaxRegPerEmail) {
+ if (!plugin.authmePermissible(sender, "authme.allow2accounts") && plugin.database.getAllAuthsByEmail(args[1]).size() >= Settings.getmaxRegPerEmail) {
m.send(player, "max_reg");
return true;
}
@@ -76,7 +73,7 @@ public class EmailCommand implements CommandExecutor {
return true;
}
auth.setEmail(args[1]);
- if (!data.updateEmail(auth)) {
+ if (!plugin.database.updateEmail(auth)) {
m.send(player, "error");
return true;
}
@@ -86,7 +83,7 @@ public class EmailCommand implements CommandExecutor {
} else if (PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "email_confirm");
} else {
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
m.send(player, "reg_email_msg");
@@ -98,7 +95,7 @@ public class EmailCommand implements CommandExecutor {
return true;
}
if (Settings.getmaxRegPerEmail > 0) {
- if (!plugin.authmePermissible(sender, "authme.allow2accounts") && data.getAllAuthsByEmail(args[2]).size() >= Settings.getmaxRegPerEmail) {
+ if (!plugin.authmePermissible(sender, "authme.allow2accounts") && plugin.database.getAllAuthsByEmail(args[2]).size() >= Settings.getmaxRegPerEmail) {
m.send(player, "max_reg");
return true;
}
@@ -118,7 +115,7 @@ public class EmailCommand implements CommandExecutor {
return true;
}
auth.setEmail(args[2]);
- if (!data.updateEmail(auth)) {
+ if (!plugin.database.updateEmail(auth)) {
m.send(player, "error");
return true;
}
@@ -128,7 +125,7 @@ public class EmailCommand implements CommandExecutor {
} else if (PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "email_confirm");
} else {
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
m.send(player, "reg_email_msg");
@@ -144,7 +141,7 @@ public class EmailCommand implements CommandExecutor {
m.send(player, "error");
return true;
}
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
if (PlayerCache.getInstance().isAuthenticated(name)) {
m.send(player, "logged_in");
return true;
@@ -156,8 +153,8 @@ public class EmailCommand implements CommandExecutor {
PlayerAuth auth = null;
if (PlayerCache.getInstance().isAuthenticated(name)) {
auth = PlayerCache.getInstance().getAuth(name);
- } else if (data.isAuthAvailable(name)) {
- auth = data.getAuth(name);
+ } else if (plugin.database.isAuthAvailable(name)) {
+ auth = plugin.database.getAuth(name);
} else {
m.send(player, "unknown_user");
return true;
@@ -172,7 +169,7 @@ public class EmailCommand implements CommandExecutor {
return true;
}
auth.setHash(hashnew);
- data.updatePassword(auth);
+ plugin.database.updatePassword(auth);
plugin.mail.main(auth, thePass);
m.send(player, "email_send");
} catch (NoSuchAlgorithmException ex) {
diff --git a/src/main/java/fr/xephi/authme/commands/LogoutCommand.java b/src/main/java/fr/xephi/authme/commands/LogoutCommand.java
index cb05b4de0..4c21f7f66 100644
--- a/src/main/java/fr/xephi/authme/commands/LogoutCommand.java
+++ b/src/main/java/fr/xephi/authme/commands/LogoutCommand.java
@@ -6,23 +6,15 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import fr.xephi.authme.AuthMe;
-import fr.xephi.authme.Utils;
-import fr.xephi.authme.cache.backup.FileCache;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Messages;
public class LogoutCommand implements CommandExecutor {
private Messages m = Messages.getInstance();
private AuthMe plugin;
- private DataSource database;
- private Utils utils = Utils.getInstance();
- private FileCache playerBackup;
- public LogoutCommand(AuthMe plugin, DataSource database) {
+ public LogoutCommand(AuthMe plugin) {
this.plugin = plugin;
- this.database = database;
- this.playerBackup = new FileCache(plugin);
}
@Override
diff --git a/src/main/java/fr/xephi/authme/commands/UnregisterCommand.java b/src/main/java/fr/xephi/authme/commands/UnregisterCommand.java
index 0b8bf9435..dd1a94e94 100644
--- a/src/main/java/fr/xephi/authme/commands/UnregisterCommand.java
+++ b/src/main/java/fr/xephi/authme/commands/UnregisterCommand.java
@@ -20,7 +20,6 @@ import fr.xephi.authme.Utils.groupType;
import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.backup.FileCache;
import fr.xephi.authme.cache.limbo.LimboCache;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.events.SpawnTeleportEvent;
import fr.xephi.authme.security.PasswordSecurity;
import fr.xephi.authme.settings.Messages;
@@ -32,12 +31,10 @@ public class UnregisterCommand implements CommandExecutor {
private Messages m = Messages.getInstance();
public AuthMe plugin;
- private DataSource database;
private FileCache playerCache;
- public UnregisterCommand(AuthMe plugin, DataSource database) {
+ public UnregisterCommand(AuthMe plugin) {
this.plugin = plugin;
- this.database = database;
this.playerCache = new FileCache(plugin);
}
@@ -67,7 +64,7 @@ public class UnregisterCommand implements CommandExecutor {
}
try {
if (PasswordSecurity.comparePasswordWithHash(args[0], PlayerCache.getInstance().getAuth(name).getHash(), player.getName())) {
- if (!database.removeAuth(name)) {
+ if (!plugin.database.removeAuth(name)) {
player.sendMessage("error");
return true;
}
diff --git a/src/main/java/fr/xephi/authme/converter/CrazyLoginConverter.java b/src/main/java/fr/xephi/authme/converter/CrazyLoginConverter.java
index fdd8e34f0..d4577bcd7 100644
--- a/src/main/java/fr/xephi/authme/converter/CrazyLoginConverter.java
+++ b/src/main/java/fr/xephi/authme/converter/CrazyLoginConverter.java
@@ -5,6 +5,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
+
import org.bukkit.command.CommandSender;
import fr.xephi.authme.AuthMe;
@@ -23,10 +24,9 @@ public class CrazyLoginConverter implements Converter {
public DataSource database;
public CommandSender sender;
- public CrazyLoginConverter(AuthMe instance, DataSource database,
- CommandSender sender) {
+ public CrazyLoginConverter(AuthMe instance, CommandSender sender) {
this.instance = instance;
- this.database = database;
+ this.database = instance.database;
this.sender = sender;
}
diff --git a/src/main/java/fr/xephi/authme/converter/RakamakConverter.java b/src/main/java/fr/xephi/authme/converter/RakamakConverter.java
index 2d0c5a51e..712207673 100644
--- a/src/main/java/fr/xephi/authme/converter/RakamakConverter.java
+++ b/src/main/java/fr/xephi/authme/converter/RakamakConverter.java
@@ -29,10 +29,9 @@ public class RakamakConverter implements Converter {
public DataSource database;
public CommandSender sender;
- public RakamakConverter(AuthMe instance, DataSource database,
- CommandSender sender) {
+ public RakamakConverter(AuthMe instance, CommandSender sender) {
this.instance = instance;
- this.database = database;
+ this.database = instance.database;
this.sender = sender;
}
diff --git a/src/main/java/fr/xephi/authme/converter/SqlToFlat.java b/src/main/java/fr/xephi/authme/converter/SqlToFlat.java
index 0194e412f..4dccbd439 100644
--- a/src/main/java/fr/xephi/authme/converter/SqlToFlat.java
+++ b/src/main/java/fr/xephi/authme/converter/SqlToFlat.java
@@ -17,9 +17,9 @@ public class SqlToFlat implements Converter {
public DataSource database;
public CommandSender sender;
- public SqlToFlat(AuthMe plugin, DataSource database, CommandSender sender) {
+ public SqlToFlat(AuthMe plugin, CommandSender sender) {
this.plugin = plugin;
- this.database = database;
+ this.database = plugin.database;
this.sender = sender;
}
diff --git a/src/main/java/fr/xephi/authme/converter/vAuthConverter.java b/src/main/java/fr/xephi/authme/converter/vAuthConverter.java
index bc9bc8de3..1939c6c1a 100644
--- a/src/main/java/fr/xephi/authme/converter/vAuthConverter.java
+++ b/src/main/java/fr/xephi/authme/converter/vAuthConverter.java
@@ -12,17 +12,16 @@ public class vAuthConverter implements Converter {
public DataSource database;
public CommandSender sender;
- public vAuthConverter(AuthMe plugin, DataSource database,
- CommandSender sender) {
+ public vAuthConverter(AuthMe plugin, CommandSender sender) {
this.plugin = plugin;
- this.database = database;
+ this.database = plugin.database;
this.sender = sender;
}
@Override
public void run() {
try {
- new vAuthFileReader(plugin, database, sender).convert();
+ new vAuthFileReader(plugin, sender).convert();
} catch (Exception e) {
sender.sendMessage(e.getMessage());
ConsoleLogger.showError(e.getMessage());
diff --git a/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java b/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java
index 55cbec588..5b2a0be99 100644
--- a/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java
+++ b/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java
@@ -19,10 +19,9 @@ public class vAuthFileReader {
public DataSource database;
public CommandSender sender;
- public vAuthFileReader(AuthMe plugin, DataSource database,
- CommandSender sender) {
+ public vAuthFileReader(AuthMe plugin, CommandSender sender) {
this.plugin = plugin;
- this.database = database;
+ this.database = plugin.database;
this.sender = sender;
}
diff --git a/src/main/java/fr/xephi/authme/converter/xAuthConverter.java b/src/main/java/fr/xephi/authme/converter/xAuthConverter.java
index 46f549ead..1f8136682 100644
--- a/src/main/java/fr/xephi/authme/converter/xAuthConverter.java
+++ b/src/main/java/fr/xephi/authme/converter/xAuthConverter.java
@@ -3,18 +3,14 @@ package fr.xephi.authme.converter;
import org.bukkit.command.CommandSender;
import fr.xephi.authme.AuthMe;
-import fr.xephi.authme.datasource.DataSource;
public class xAuthConverter implements Converter {
public AuthMe plugin;
- public DataSource database;
public CommandSender sender;
- public xAuthConverter(AuthMe plugin, DataSource database,
- CommandSender sender) {
+ public xAuthConverter(AuthMe plugin, CommandSender sender) {
this.plugin = plugin;
- this.database = database;
this.sender = sender;
}
@@ -22,7 +18,7 @@ public class xAuthConverter implements Converter {
public void run() {
try {
Class.forName("de.luricos.bukkit.xAuth.xAuth");
- xAuthToFlat converter = new xAuthToFlat(plugin, database, sender);
+ xAuthToFlat converter = new xAuthToFlat(plugin, sender);
converter.convert();
} catch (ClassNotFoundException ce) {
sender.sendMessage("xAuth has not been found, please put xAuth.jar in your plugin folder and restart!");
diff --git a/src/main/java/fr/xephi/authme/listener/AuthMeBlockListener.java b/src/main/java/fr/xephi/authme/listener/AuthMeBlockListener.java
index d706f0953..763797109 100644
--- a/src/main/java/fr/xephi/authme/listener/AuthMeBlockListener.java
+++ b/src/main/java/fr/xephi/authme/listener/AuthMeBlockListener.java
@@ -9,16 +9,14 @@ import org.bukkit.event.block.BlockPlaceEvent;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.Utils;
import fr.xephi.authme.cache.auth.PlayerCache;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Settings;
public class AuthMeBlockListener implements Listener {
- private DataSource data;
public AuthMe instance;
- public AuthMeBlockListener(DataSource data, AuthMe instance) {
- this.data = data;
+ public AuthMeBlockListener(AuthMe instance) {
+
this.instance = instance;
}
@@ -39,7 +37,7 @@ public class AuthMeBlockListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -64,7 +62,7 @@ public class AuthMeBlockListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
diff --git a/src/main/java/fr/xephi/authme/listener/AuthMeChestShopListener.java b/src/main/java/fr/xephi/authme/listener/AuthMeChestShopListener.java
index ae3c41aa2..563218759 100644
--- a/src/main/java/fr/xephi/authme/listener/AuthMeChestShopListener.java
+++ b/src/main/java/fr/xephi/authme/listener/AuthMeChestShopListener.java
@@ -11,16 +11,13 @@ import com.Acrobot.ChestShop.Events.PreTransactionEvent.TransactionOutcome;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.Utils;
import fr.xephi.authme.cache.auth.PlayerCache;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.settings.Settings;
public class AuthMeChestShopListener implements Listener {
- public DataSource database;
public AuthMe plugin;
- public AuthMeChestShopListener(DataSource database, AuthMe plugin) {
- this.database = database;
+ public AuthMeChestShopListener(AuthMe plugin) {
this.plugin = plugin;
}
@@ -41,7 +38,7 @@ public class AuthMeChestShopListener implements Listener {
return;
}
- if (!database.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
diff --git a/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java b/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java
index 56b637e94..f0a62591e 100644
--- a/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java
+++ b/src/main/java/fr/xephi/authme/listener/AuthMeEntityListener.java
@@ -15,17 +15,14 @@ import org.bukkit.event.entity.FoodLevelChangeEvent;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.Utils;
import fr.xephi.authme.cache.auth.PlayerCache;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.plugin.manager.CombatTagComunicator;
import fr.xephi.authme.settings.Settings;
public class AuthMeEntityListener implements Listener {
- private DataSource data;
public AuthMe instance;
- public AuthMeEntityListener(DataSource data, AuthMe instance) {
- this.data = data;
+ public AuthMeEntityListener(AuthMe instance) {
this.instance = instance;
}
@@ -57,7 +54,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -89,7 +86,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -117,7 +114,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -147,7 +144,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -178,7 +175,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -212,7 +209,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -244,7 +241,7 @@ public class AuthMeEntityListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!instance.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
index cda89dc58..ac1551de8 100644
--- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
+++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
@@ -43,7 +43,6 @@ import fr.xephi.authme.cache.auth.PlayerAuth;
import fr.xephi.authme.cache.auth.PlayerCache;
import fr.xephi.authme.cache.limbo.LimboCache;
import fr.xephi.authme.cache.limbo.LimboPlayer;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.plugin.manager.CombatTagComunicator;
import fr.xephi.authme.settings.Messages;
import fr.xephi.authme.settings.Settings;
@@ -54,13 +53,11 @@ public class AuthMePlayerListener implements Listener {
public static ConcurrentHashMap joinMessage = new ConcurrentHashMap();
private Messages m = Messages.getInstance();
public AuthMe plugin;
- private DataSource data;
public static ConcurrentHashMap causeByAuthMe = new ConcurrentHashMap();
private List antibot = new ArrayList();
- public AuthMePlayerListener(AuthMe plugin, DataSource data) {
+ public AuthMePlayerListener(AuthMe plugin) {
this.plugin = plugin;
- this.data = data;
}
@EventHandler(priority = EventPriority.LOWEST)
@@ -77,7 +74,7 @@ public class AuthMePlayerListener implements Listener {
if (PlayerCache.getInstance().isAuthenticated(name))
return;
- if (!data.isAuthAvailable(name))
+ if (!plugin.database.isAuthAvailable(name))
if (!Settings.isForcedRegistrationEnabled)
return;
@@ -113,7 +110,7 @@ public class AuthMePlayerListener implements Listener {
String cmd = event.getMessage().split(" ")[0];
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
if (!Settings.isForcedRegistrationEnabled) {
@@ -150,7 +147,7 @@ public class AuthMePlayerListener implements Listener {
String cmd = event.getMessage().split(" ")[0];
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
if (!Settings.isForcedRegistrationEnabled) {
@@ -187,7 +184,7 @@ public class AuthMePlayerListener implements Listener {
String cmd = event.getMessage().split(" ")[0];
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
if (!Settings.isForcedRegistrationEnabled) {
@@ -224,7 +221,7 @@ public class AuthMePlayerListener implements Listener {
String cmd = event.getMessage().split(" ")[0];
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
if (!Settings.isForcedRegistrationEnabled) {
@@ -262,7 +259,7 @@ public class AuthMePlayerListener implements Listener {
String cmd = event.getMessage().split(" ")[0];
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
if (!Settings.isForcedRegistrationEnabled) {
@@ -299,7 +296,7 @@ public class AuthMePlayerListener implements Listener {
String cmd = event.getMessage().split(" ")[0];
- if (data.isAuthAvailable(name)) {
+ if (plugin.database.isAuthAvailable(name)) {
m.send(player, "login_msg");
} else {
if (!Settings.isForcedRegistrationEnabled) {
@@ -336,7 +333,7 @@ public class AuthMePlayerListener implements Listener {
}
if (!Settings.isForcedRegistrationEnabled) {
- if (!data.isAuthAvailable(name))
+ if (!plugin.database.isAuthAvailable(name))
return;
}
@@ -404,7 +401,7 @@ public class AuthMePlayerListener implements Listener {
if (player == null)
return;
final String name = player.getName().toLowerCase();
- boolean isAuthAvailable = data.isAuthAvailable(name);
+ boolean isAuthAvailable = plugin.database.isAuthAvailable(name);
if (plugin.getCitizensCommunicator().isNPC(player) || Utils.getInstance().isUnrestricted(player) || CombatTagComunicator.isNPC(player)) {
return;
@@ -428,7 +425,7 @@ public class AuthMePlayerListener implements Listener {
}
if (Settings.isKickNonRegisteredEnabled) {
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
event.setKickMessage(m.send("reg_only")[0]);
event.setResult(PlayerLoginEvent.Result.KICK_OTHER);
return;
@@ -579,7 +576,7 @@ public class AuthMePlayerListener implements Listener {
plugin.management.performQuit(player, false);
- if (data.getAuth(name) != null && !PlayerCache.getInstance().isAuthenticated(name) && Settings.enableProtection)
+ if (plugin.database.getAuth(name) != null && !PlayerCache.getInstance().isAuthenticated(name) && Settings.enableProtection)
event.setQuitMessage(null);
}
@@ -622,7 +619,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -650,7 +647,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -679,7 +676,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -708,7 +705,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -734,7 +731,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -761,7 +758,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -785,7 +782,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -806,7 +803,7 @@ public class AuthMePlayerListener implements Listener {
if (PlayerCache.getInstance().isAuthenticated(name)) {
return;
}
- if (!data.isAuthAvailable(name)) {
+ if (!plugin.database.isAuthAvailable(name)) {
if (!Settings.isForcedRegistrationEnabled) {
return;
}
@@ -832,15 +829,15 @@ public class AuthMePlayerListener implements Listener {
if (PlayerCache.getInstance().isAuthenticated(name))
return;
- if (!data.isAuthAvailable(name))
+ if (!plugin.database.isAuthAvailable(name))
if (!Settings.isForcedRegistrationEnabled)
return;
Location spawn = plugin.getSpawnLocation(player);
- if (Settings.isSaveQuitLocationEnabled && data.isAuthAvailable(name)) {
+ if (Settings.isSaveQuitLocationEnabled && plugin.database.isAuthAvailable(name)) {
final PlayerAuth auth = new PlayerAuth(name, spawn.getX(), spawn.getY(), spawn.getZ(), spawn.getWorld().getName());
try {
- data.updateQuitLoc(auth);
+ plugin.database.updateQuitLoc(auth);
} catch (NullPointerException npe) {
}
}
@@ -871,7 +868,7 @@ public class AuthMePlayerListener implements Listener {
if (PlayerCache.getInstance().isAuthenticated(name))
return;
- if (!data.isAuthAvailable(name))
+ if (!plugin.database.isAuthAvailable(name))
if (!Settings.isForcedRegistrationEnabled)
return;
diff --git a/src/main/java/fr/xephi/authme/process/Management.java b/src/main/java/fr/xephi/authme/process/Management.java
index 45fc97fa9..479790e58 100644
--- a/src/main/java/fr/xephi/authme/process/Management.java
+++ b/src/main/java/fr/xephi/authme/process/Management.java
@@ -5,7 +5,6 @@ import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import fr.xephi.authme.AuthMe;
-import fr.xephi.authme.datasource.DataSource;
import fr.xephi.authme.process.join.AsyncronousJoin;
import fr.xephi.authme.process.login.AsyncronousLogin;
import fr.xephi.authme.process.logout.AsyncronousLogout;
@@ -22,13 +21,11 @@ import fr.xephi.authme.settings.Settings;
*/
public class Management {
- public DataSource database;
public AuthMe plugin;
public static RandomString rdm = new RandomString(Settings.captchaLength);
public PluginManager pm;
- public Management(DataSource database, AuthMe plugin) {
- this.database = database;
+ public Management(AuthMe plugin) {
this.plugin = plugin;
this.pm = plugin.getServer().getPluginManager();
}
@@ -39,7 +36,7 @@ public class Management {
@Override
public void run() {
- new AsyncronousLogin(player, password, forceLogin, plugin, database).process();
+ new AsyncronousLogin(player, password, forceLogin, plugin, plugin.database).process();
}
});
}
@@ -50,7 +47,7 @@ public class Management {
@Override
public void run() {
- new AsyncronousRegister(player, password, email, plugin, database).process();
+ new AsyncronousRegister(player, password, email, plugin, plugin.database).process();
}
});
}
@@ -60,7 +57,7 @@ public class Management {
@Override
public void run() {
- new AsyncronousLogout(player, plugin, database).process();
+ new AsyncronousLogout(player, plugin, plugin.database).process();
}
});
}
@@ -70,7 +67,7 @@ public class Management {
@Override
public void run() {
- new AsyncronousQuit(player, plugin, database, isKick).process();
+ new AsyncronousQuit(player, plugin, plugin.database, isKick).process();
}
});
@@ -81,7 +78,7 @@ public class Management {
@Override
public void run() {
- new AsyncronousJoin(player, plugin, database).process();
+ new AsyncronousJoin(player, plugin, plugin.database).process();
}
});
diff --git a/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java b/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java
index cf0544565..c2ffe57fd 100644
--- a/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java
+++ b/src/main/java/fr/xephi/authme/process/register/ProcessSyncronousPasswordRegister.java
@@ -17,6 +17,7 @@ import fr.xephi.authme.events.AuthMeTeleportEvent;
import fr.xephi.authme.events.LoginEvent;
import fr.xephi.authme.events.RegisterTeleportEvent;
import fr.xephi.authme.settings.Messages;
+import fr.xephi.authme.settings.PlayersLogs;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.task.MessageTask;
import fr.xephi.authme.task.TimeoutTask;
@@ -71,7 +72,7 @@ public class ProcessSyncronousPasswordRegister implements Runnable {
BukkitTask msgT = sched.runTaskAsynchronously(plugin, new MessageTask(plugin, name, m.send("login_msg"), interval));
LimboCache.getInstance().getLimboPlayer(name).setMessageTaskId(msgT);
try {
- plugin.pllog.removePlayer(name);
+ PlayersLogs.getInstance().save();
if (player.isInsideVehicle())
player.getVehicle().eject();
} catch (NullPointerException npe) {
diff --git a/src/main/java/fr/xephi/authme/settings/PlayersLogs.java b/src/main/java/fr/xephi/authme/settings/PlayersLogs.java
index b95d2098e..7e827fa54 100644
--- a/src/main/java/fr/xephi/authme/settings/PlayersLogs.java
+++ b/src/main/java/fr/xephi/authme/settings/PlayersLogs.java
@@ -2,8 +2,14 @@ package fr.xephi.authme.settings;
import java.io.File;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+import fr.xephi.authme.AuthMe;
+import fr.xephi.authme.cache.auth.PlayerAuth;
+import fr.xephi.authme.cache.auth.PlayerCache;
+import fr.xephi.authme.datasource.DataSource;
+
/**
*
* @author Xephi59
@@ -11,19 +17,27 @@ import java.util.List;
public class PlayersLogs extends CustomConfiguration {
private static PlayersLogs pllog = null;
- public List players;
public PlayersLogs() {
super(new File("." + File.separator + "plugins" + File.separator + "AuthMe" + File.separator + "players.yml"));
pllog = this;
load();
save();
- players = this.getStringList("players");
}
- public void clear() {
- set("players", new ArrayList());
- save();
+ public void loadPlayers() {
+ DataSource database = AuthMe.getInstance().database;
+ List list = this.getStringList("players");
+ if (list == null || list.isEmpty())
+ return;
+ for (String s : list) {
+ PlayerAuth auth = database.getAuth(s);
+ if (auth == null)
+ continue;
+ auth.setLastLogin(new Date().getTime());
+ database.updateSession(auth);
+ PlayerCache.getInstance().addPlayer(auth);
+ }
}
public static PlayersLogs getInstance() {
@@ -33,21 +47,18 @@ public class PlayersLogs extends CustomConfiguration {
return pllog;
}
- public void addPlayer(String user) {
- players = this.getStringList("players");
- if (!players.contains(user.toLowerCase())) {
- players.add(user.toLowerCase());
- set("players", players);
- save();
+ public void savePlayerLogs() {
+ List players = new ArrayList();
+ for (String s : PlayerCache.getInstance().getCache().keySet()) {
+ players.add(s);
}
+ this.set("players", players);
+ this.save();
}
- public void removePlayer(String user) {
- players = this.getStringList("players");
- if (players.contains(user.toLowerCase())) {
- players.remove(user.toLowerCase());
- set("players", players);
- save();
- }
+ public void clear() {
+ this.set("players", new ArrayList());
+ this.save();
}
+
}