private void LoginRequest(int connectionID, int recHostID, Net_LoginRequest lr) { string loginToken = Utility.GenerateRandomToken(256); DB_Account account = mdb.LoginAccount(connectionID, recHostID, lr.user, RSA.decrypt(lr.password, connectionKeys[connectionID]), loginToken); if (account != null) { //successful login //get appropriate sector ip string sectorIP = null; switch (account.Sector) { case SECTOR_CODE.REDSECTOR: sectorIP = "127.0.0.1"; break; case SECTOR_CODE.NONE: default: break; } //update player connection id DB_Player player = mdb.FetchPlayerByUsernameAndDiscriminator(account.Username + "#" + account.Discriminator); player.Token = loginToken; mdb.updatePlayer(player); //respond to client SendClient(connectionID, recHostID, new Net_OnLoginRequest(1, account.Username, account.Discriminator, loginToken, sectorIP)); //server log Debug.Log(string.Format("[Login Server]: {0}#{1} logged in.", account.Username, account.Discriminator)); } else { //invalid login attempt //respond to client SendClient(connectionID, recHostID, new Net_OnLoginRequest(0, null, null, null, null)); //respond to client Debug.Log(string.Format("[Login Server]: Invalid login attempt ({0}).", lr.user)); } }