Exemple #1
0
        private void HandleExtendedLoginSeed(ExtendedLoginSeed extendedLoginSeed)
        {
            Console.Info($"Detected client version: {extendedLoginSeed.ClientVersion}");
            var detectedProtocolVersion = PacketDefinitionRegistryFactory.GetProtocolVersion(extendedLoginSeed.ClientVersion);

            if (detectedProtocolVersion != proxyStartConfig.ProtocolVersion)
            {
                Console.Info($"Using detected protocol version {detectedProtocolVersion} instead configured version {proxyStartConfig.ProtocolVersion}.");
                PacketDefinitionRegistryFactory.CreateClassicClient(packetRegistry, detectedProtocolVersion);
            }
        }
        private void SendPreLoginSeed()
        {
            if (this.startConfig.ClientVersion >= extendedSeedVersion)
            {
                var extendedSeed = new ExtendedLoginSeed()
                {
                    ClientVersion = this.startConfig.ClientVersion,
                    Seed          = new byte[] { 0xBE, 0x39, 0xFE, 0xA9 }
                };

                SendToServer(extendedSeed.Serialize());
            }
            else
            {
                SendToServer(new Packet(PacketDefinitions.LoginSeed.Id, new byte[] { 0x01, 0x89, 0xA8, 0xC0 }));
            }
        }