forked from TuxCoding/FastLogin
[BungeeAuth] Do not login the player if it's already logged in using
sessions
This commit is contained in:
@@ -28,6 +28,12 @@ public class BungeeAuthHook implements BungeeAuthPlugin {
|
||||
@Override
|
||||
public boolean forceLogin(ProxiedPlayer player) {
|
||||
//https://github.com/MatteCarra/BungeeAuth/blob/master/src/me/vik1395/BungeeAuth/Login.java#L92-95
|
||||
if (Main.plonline.contains(player.getName())) {
|
||||
Main.plugin.getLogger().log(Level.INFO, "Cannot force login player {0}, because he/she is already online"
|
||||
, player.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
Main.plonline.add(player.getName());
|
||||
|
||||
//renamed from ct to databaseConnection
|
||||
|
@@ -48,10 +48,8 @@ public class ForceLoginTask implements Runnable {
|
||||
//save will happen on success message from bukkit
|
||||
sendBukkitLoginNotification(autoRegister);
|
||||
} else if (session.needsRegistration()) {
|
||||
session.setAlreadyLogged(true);
|
||||
forceRegister(session, authPlugin);
|
||||
} else if (authPlugin.forceLogin(player)) {
|
||||
session.setAlreadyLogged(true);
|
||||
forceLogin(session, authPlugin);
|
||||
}
|
||||
} else {
|
||||
@@ -68,10 +66,15 @@ public class ForceLoginTask implements Runnable {
|
||||
}
|
||||
|
||||
private void forceRegister(BungeeLoginSession session, BungeeAuthPlugin authPlugin) {
|
||||
if (session.isAlreadyLogged()) {
|
||||
sendBukkitLoginNotification(true);
|
||||
return;
|
||||
}
|
||||
|
||||
session.setAlreadyLogged(true);
|
||||
|
||||
String password = plugin.generateStringPassword();
|
||||
if (session.isAlreadyLogged()|| authPlugin.forceRegister(player, password)) {
|
||||
if (authPlugin.forceRegister(player, password)) {
|
||||
//save will happen on success message from bukkit
|
||||
sendBukkitLoginNotification(true);
|
||||
String message = plugin.getCore().getMessage("auto-register");
|
||||
@@ -83,9 +86,13 @@ public class ForceLoginTask implements Runnable {
|
||||
}
|
||||
|
||||
private void forceLogin(BungeeLoginSession session, BungeeAuthPlugin authPlugin) {
|
||||
session.setAlreadyLogged(true);
|
||||
if (session.isAlreadyLogged()) {
|
||||
sendBukkitLoginNotification(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (session.isAlreadyLogged() || authPlugin.forceLogin(player)) {
|
||||
session.setAlreadyLogged(true);
|
||||
if (authPlugin.forceLogin(player)) {
|
||||
//save will happen on success message from bukkit
|
||||
sendBukkitLoginNotification(false);
|
||||
String message = plugin.getCore().getMessage("auto-login");
|
||||
|
Reference in New Issue
Block a user