Example #1
0
        protected void MsgAboutToPlay(BinaryReader reader)
        {
            var packet = new AboutToPlayPacket();

            packet.Unserialize(reader);

            IPacket s;

            if (Server.ValidateServer(this, packet.ServerId))
            {
                s = new PlayOkPacket
                {
                    OneTimeKey = OneTimeKey,
                    ServerId   = packet.ServerId,
                    UserId     = 0
                };
            }
            else
            {
                s = new PlayFailPacket
                {
                    ResultCode = 1
                };

                _disconnect = true;
            }

            var data = CreatePacket(s);

            Socket.BeginSend(data, 0, data.Length, EndSend, true);
        }
Example #2
0
        private void MsgAboutToPlay(AboutToPlayPacket packet)
        {
            if (SessionId1 != packet.SessionId1 || SessionId2 != packet.SessionId2)
            {
                Logger.WriteLog(LogType.Security, $"Account ({AccountEntry.Username}, {AccountEntry.Id}) has sent an AboutToPlay packet with invalid session data!");
                return;
            }

            Server.RequestRedirection(this, packet.ServerId);
        }