public override void RunImpl() { if (_client.State != LoginClientState.AuthedLogin) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); _client.Close(); return; } if (_client.Key.LoginOkId1 != _loginOkID1 && _client.Key.LoginOkId2 != _loginOkID2) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); _client.Close(); return; } L2Server server = ServerThreadPool.Instance.Get(_serverId); if (server == null) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); _client.Close(); return; } if (server.Connected == 0) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonServerMaintenance)); _client.Close(); return; } _client.Send(PlayOk.ToPacket(_client)); }
public override void RunImpl() { if ((_client.Login1 != _login1) && (_client.Login2 != _login2)) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); return; } L2Server server = ServerThreadPool.Instance.Get(_serverId); if (server == null) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); return; } if (server.Connected == 0) { _client.Send(LoginFail.ToPacket(LoginFailReason.ReasonServerMaintenance)); } else { _client.Send(PlayOk.ToPacket(_client)); } }
public override async Task RunImpl() { if (_client.State != LoginClientState.AuthedLogin) { await _client.SendAsync(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); _client.Close(); return; } if (_client.Key.LoginOkId1 != _loginOkID1 || _client.Key.LoginOkId2 != _loginOkID2) { await _client.SendAsync(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); _client.Close(); return; } L2Server server = LoginServer.ServiceProvider.GetService <ServerThreadPool>().Get(_serverId); if (server == null) { await _client.SendAsync(LoginFail.ToPacket(LoginFailReason.ReasonAccessFailed)); _client.Close(); return; } if (!server.Connected) { await _client.SendAsync(LoginFail.ToPacket(LoginFailReason.ReasonServerMaintenance)); _client.Close(); return; } await server.Thread.SendPlayer(_client); _client.SendAsync(PlayOk.ToPacket(_client)); }