Fix account not found issue when logging in

This commit is contained in:
Melledy 2022-04-20 03:28:54 -07:00
parent 9f2cf00b95
commit dee3afcaf8

View File

@ -226,7 +226,9 @@ public final class DispatchServer {
Account account = DatabaseHelper.getAccountByName(requestData.account);
// Check if account exists, else create a new one.
if (account == null && Grasscutter.getConfig().ServerOptions.AutomaticallyCreateAccounts) {
if (account == null) {
// Account doesnt exist, so we can either auto create it if the config value is set
if (Grasscutter.getConfig().ServerOptions.AutomaticallyCreateAccounts) {
// This account has been created AUTOMATICALLY. There will be no permissions added.
account = DatabaseHelper.createAccountWithId(requestData.account, 0);
@ -234,10 +236,12 @@ public final class DispatchServer {
responseData.data.account.uid = account.getId();
responseData.data.account.token = account.generateSessionKey();
responseData.data.account.email = account.getEmail();
} else if (!Grasscutter.getConfig().ServerOptions.AutomaticallyCreateAccounts) {
} else {
responseData.retcode = -201;
responseData.message = "Username not found.";
}
} else {
// Account was found, log the player in
responseData.message = "OK";
responseData.data.account.uid = account.getId();
responseData.data.account.token = account.generateSessionKey();