예제 #1
0
파일: Session.cs 프로젝트: sr314/ACE
        public void SendCharacterError(CharacterError error)
        {
            var characterError         = new ServerPacket(0x0B, PacketHeaderFlags.EncryptedChecksum);
            var characterErrorFragment = new ServerPacketFragment(0x09, GameMessageOpcode.CharacterError);

            characterErrorFragment.Payload.Write((uint)error);
            characterError.Fragments.Add(characterErrorFragment);

            NetworkManager.SendPacket(ConnectionType.Login, characterError, this);
        }
예제 #2
0
        public static void SendLoginRequestReject(Session session, CharacterError error)
        {
            // First we must send the connect request response
            var connectRequest = new PacketOutboundConnectRequest(
                Timers.PortalYearTicks,
                session.Network.ConnectionData.ConnectionCookie,
                session.Network.ClientId,
                session.Network.ConnectionData.ServerSeed,
                session.Network.ConnectionData.ClientSeed);

            session.Network.ConnectionData.DiscardSeeds();
            session.Network.EnqueueSend(connectRequest);

            // Then we send the error
            session.SendCharacterError(error);

            session.Network.Update();
        }
예제 #3
0
        private static void SendLoginRequestReject(IPEndPoint endPoint, CharacterError error)
        {
            var tempSession = new Session(endPoint, (ushort)(sessionMap.Length + 1), ServerId);

            // First we must send the connect request response
            var connectRequest = new PacketOutboundConnectRequest(
                tempSession.Network.ConnectionData.ServerTime,
                tempSession.Network.ConnectionData.ConnectionCookie,
                tempSession.Network.ClientId,
                tempSession.Network.ConnectionData.ServerSeed,
                tempSession.Network.ConnectionData.ClientSeed);

            tempSession.Network.ConnectionData.DiscardSeeds();
            tempSession.Network.EnqueueSend(connectRequest);

            // Then we send the error
            tempSession.SendCharacterError(error);

            tempSession.Network.Update();
        }
예제 #4
0
 public void SendCharacterError(CharacterError error)
 {
     LoginSession.EnqueueSend(new GameMessageCharacterError(error));
 }
예제 #5
0
 public void SendCharacterError(CharacterError error)
 {
     Network.EnqueueSend(new GameMessageCharacterError(error));
 }
예제 #6
0
 public GameMessageCharacterError(CharacterError error)
     : base(GameMessageOpcode.CharacterError, GameMessageGroup.UIQueue)
 {
     Writer.Write((uint)error);
 }
예제 #7
0
        private static void SendLoginRequestReject(ConnectionListener connectionListener, IPEndPoint endPoint, CharacterError error)
        {
            var tempSession = new Session(connectionListener, endPoint, (ushort)(sessionMap.Length + 1), ServerId);

            SendLoginRequestReject(tempSession, error);
        }