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
|
@Override
|
||||||
public boolean forceLogin(ProxiedPlayer player) {
|
public boolean forceLogin(ProxiedPlayer player) {
|
||||||
//https://github.com/MatteCarra/BungeeAuth/blob/master/src/me/vik1395/BungeeAuth/Login.java#L92-95
|
//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());
|
Main.plonline.add(player.getName());
|
||||||
|
|
||||||
//renamed from ct to databaseConnection
|
//renamed from ct to databaseConnection
|
||||||
|
@@ -48,10 +48,8 @@ public class ForceLoginTask implements Runnable {
|
|||||||
//save will happen on success message from bukkit
|
//save will happen on success message from bukkit
|
||||||
sendBukkitLoginNotification(autoRegister);
|
sendBukkitLoginNotification(autoRegister);
|
||||||
} else if (session.needsRegistration()) {
|
} else if (session.needsRegistration()) {
|
||||||
session.setAlreadyLogged(true);
|
|
||||||
forceRegister(session, authPlugin);
|
forceRegister(session, authPlugin);
|
||||||
} else if (authPlugin.forceLogin(player)) {
|
} else if (authPlugin.forceLogin(player)) {
|
||||||
session.setAlreadyLogged(true);
|
|
||||||
forceLogin(session, authPlugin);
|
forceLogin(session, authPlugin);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -68,10 +66,15 @@ public class ForceLoginTask implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void forceRegister(BungeeLoginSession session, BungeeAuthPlugin authPlugin) {
|
private void forceRegister(BungeeLoginSession session, BungeeAuthPlugin authPlugin) {
|
||||||
|
if (session.isAlreadyLogged()) {
|
||||||
|
sendBukkitLoginNotification(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
session.setAlreadyLogged(true);
|
session.setAlreadyLogged(true);
|
||||||
|
|
||||||
String password = plugin.generateStringPassword();
|
String password = plugin.generateStringPassword();
|
||||||
if (session.isAlreadyLogged()|| authPlugin.forceRegister(player, password)) {
|
if (authPlugin.forceRegister(player, password)) {
|
||||||
//save will happen on success message from bukkit
|
//save will happen on success message from bukkit
|
||||||
sendBukkitLoginNotification(true);
|
sendBukkitLoginNotification(true);
|
||||||
String message = plugin.getCore().getMessage("auto-register");
|
String message = plugin.getCore().getMessage("auto-register");
|
||||||
@@ -83,9 +86,13 @@ public class ForceLoginTask implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void forceLogin(BungeeLoginSession session, BungeeAuthPlugin authPlugin) {
|
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
|
//save will happen on success message from bukkit
|
||||||
sendBukkitLoginNotification(false);
|
sendBukkitLoginNotification(false);
|
||||||
String message = plugin.getCore().getMessage("auto-login");
|
String message = plugin.getCore().getMessage("auto-login");
|
||||||
|
Reference in New Issue
Block a user