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 })); } }