Beispiel #1
0
        /// <summary>
        /// Called whenever a packet is received from a game client
        /// </summary>
        /// <param name="client"></param>
        /// <param name="stream"></param>
        public void PacketReceived(AuthServer server, PacketStream packet)
        {
            byte[] data = packet.ToArray();
            ConsoleUtils.HexDump(data, "Received from AuthServer");

            // Is it a known packet ID
            if (!PacketsDb.ContainsKey(packet.GetId()))
            {
                ConsoleUtils.ShowWarning("Unknown packet Id: {0}", packet.GetId());
                return;
            }

            // Calls this packet parsing function
            Task.Factory.StartNew(() => { PacketsDb[packet.GetId()].Invoke(server, data); });
        }
Beispiel #2
0
        private void AG_UserJoin(AuthServer server, byte[] data)
        {
            AG.UserJoin userJoin = (AG.UserJoin)PacketManager.ToStructure(data, data.Length, typeof(AG.UserJoin));

            Server.Instance.PendingUser(userJoin.UserId, userJoin.Key, userJoin.Permission, userJoin.AccountId);
        }
Beispiel #3
0
        /// <summary>
        /// Triggered when it connects to Auth
        /// </summary>
        /// <param name="ar"></param>
        private void ConnectCallback(IAsyncResult ar)
        {
            Socket socket = (Socket)ar.AsyncState;
            if (!socket.Connected)
            {
                ConsoleUtils.ShowWarning("Could not connect to Auth-Server. Check your settings and try again...");
                return;
            }
            socket.EndConnect(ar);

            // Initializes a new instance of Auth
            Auth = new AuthServer(socket);
            AuthPackets.Instance.Register();

            // Starts to receive data
            socket.BeginReceive(Auth.NetData.Buffer, 0, Globals.MaxBuffer, SocketFlags.None, new AsyncCallback(ReadCallback), null);
        }
Beispiel #4
0
        private void AG_Result(AuthServer server, byte[] data)
        {
            AG.RegisterResult registerResult = (AG.RegisterResult)PacketManager.ToStructure(data, data.Length, typeof(AG.RegisterResult));

            Server.Instance.RegisterResult(registerResult.Result);
        }
Beispiel #5
0
 /// <summary>
 /// Called when an entire packet is received
 /// </summary>
 /// <param name="gs"></param>
 /// <param name="packetStream"></param>
 private void PacketReceived(AuthServer server, PacketStream packetStream)
 {
     AuthPackets.Instance.PacketReceived(server, packetStream);
 }