コード例 #1
0
ファイル: VirtualServer.cs プロジェクト: dogfood1/UServer3
        public void OUT_OnNetworkMessage(Message packet)
        {
            switch (packet.type)
            {
            case Message.Type.Ready:
                packet.connection.decryptIncoming = true;
                SendPacket(BaseClient, packet);
                BaseClient.Connection.encryptOutgoing = true;
                return;

            case Message.Type.GiveUserInformation:
                ConnectionInformation = UserInformation.ParsePacket(packet);

                if (Settings.UseCustomToken)
                {
                    ConnectionInformation.SteamToken = Settings.CustomToken;
                    if (BaseClient.write.Start())
                    {
                        BaseClient.write.PacketID(Message.Type.GiveUserInformation);
                        ConnectionInformation.Write(BaseClient);
                        BaseClient.Send();
                    }
                }
                else
                {
                    SendPacket(BaseClient, packet);
                }
                break;

            case Message.Type.EAC:
                EACServer.OnMessageReceived(packet);
                SendPacket(BaseClient, packet);
                break;

            default:
                if (NetworkManager.Instance.Out_NetworkMessage(packet) == false)
                {
                    SendPacket(BaseClient, packet);
                }
                break;
            }
        }