Log in through AccountService on player login
This commit is contained in:
@@ -621,9 +621,11 @@ public class Client extends ChannelInboundHandlerAdapter {
|
|||||||
} else if (newState == LoginState.SERVER_TRANSITION) {
|
} else if (newState == LoginState.SERVER_TRANSITION) {
|
||||||
loggedIn = false;
|
loggedIn = false;
|
||||||
inServerTransition = true;
|
inServerTransition = true;
|
||||||
} else {
|
} else if (newState == LoginState.LOGGED_IN) {
|
||||||
loggedIn = true;
|
loggedIn = true;
|
||||||
inServerTransition = false;
|
inServerTransition = false;
|
||||||
|
} else {
|
||||||
|
throw new IllegalArgumentException("Invalid login state: " + newState);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -205,7 +205,7 @@ public final class PlayerLoggedinHandler extends AbstractPacketHandler {
|
|||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
c.updateLoginState(LoginState.LOGGED_IN);
|
accountService.logIn(c);
|
||||||
} finally {
|
} finally {
|
||||||
releaseAccount(accId);
|
releaseAccount(accId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -215,7 +215,8 @@ public class AccountService {
|
|||||||
|
|
||||||
public boolean logIn(Client c) {
|
public boolean logIn(Client c) {
|
||||||
byte newState = LoginState.LOGGED_IN;
|
byte newState = LoginState.LOGGED_IN;
|
||||||
if (c.getLoginState() != LoginState.NOT_LOGGED_IN) {
|
int currentState = c.getLoginState();
|
||||||
|
if (currentState != LoginState.NOT_LOGGED_IN && currentState != LoginState.SERVER_TRANSITION) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user