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) {
loggedIn = false;
inServerTransition = true;
} else {
} else if (newState == LoginState.LOGGED_IN) {
loggedIn = true;
inServerTransition = false;
} else {
throw new IllegalArgumentException("Invalid login state: " + newState);
}
}

View File

@@ -205,7 +205,7 @@ public final class PlayerLoggedinHandler extends AbstractPacketHandler {
return;
}
c.updateLoginState(LoginState.LOGGED_IN);
accountService.logIn(c);
} finally {
releaseAccount(accId);
}

View File

@@ -215,7 +215,8 @@ public class AccountService {
public boolean logIn(Client c) {
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;
}