Пример #1
0
        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));
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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));
        }