bool PlayerManager::CheckAccountInUse(char *username) { Player * p = (0); while (GetNextPlayerOnList(p, m_GlobalPlayerList)) { if (strncmp(p->AccountUsername(), username, 50) == 0) { if (p->Active()) { //this player's account is already active //p->ForceLogout(); //check time of last received update, if older than 30 seconds, kill the account. if ((p->LastAccessTime() + 30000) < GetNet7TickCount()) { LogMessage("Account user %s seems to have died. Remove so they can log in again\n", username); DropPlayerFromGalaxy(p); } else { LogMessage("Account user %s already active, don't allow second account\n", p->AccountUsername()); return true; } } else { LogMessage("Account user %s has dead player on server, remove\n", username); DropPlayerFromGalaxy(p); } } } return false; }
bool PlayerManager::CheckAccountInUse(char *username) { Player * p = (0); while (GetNextPlayerOnList(p, m_GlobalPlayerList)) { if (strncmp(p->AccountUsername(), username, 50) == 0) { if (p->Active()) { //this player's account is already active //p->ForceLogout(); LogMessage("Account user %s already active, don't allow second account\n", p->AccountUsername()); return true; } else { LogMessage("Account user %s has dead player on server, remove\n", username); DropPlayerFromGalaxy(p); } } } return false; }