Log in through AccountService on player login

This commit is contained in:
P0nk
2024-09-29 07:52:42 +02:00
parent 0a8591aa08
commit 0bb14e415e
3 changed files with 6 additions and 3 deletions

View File

@@ -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);
} }
} }

View File

@@ -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);
} }

View File

@@ -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;
} }