private static void LGSHandlePacket(Socket s, byte[] data) { try { if (!s.Connected) { return; } ReadPacket packet = new ReadPacket(data, XCRYPT.LoginServerPrivkey); if (!packet.IsInitialized()) { return; } Header packet_header = packet.GetHeader(); byte[] packet_data = packet.GetBody(); byte packet_type = packet.GetPacketType(); switch (packet_type) { case 11: // version okay Console.WriteLine("LGS Version OK!"); SendData.SendLogin(s, LoginServer.Usuario, LoginServer.Password); break; case 23: // user and password incorrects Console.WriteLine("Usuario e senhadas incorretos!"); break; case 24: // password incorrect Console.WriteLine("Senha incorreta"); break; case 22: // login efetuado com sucesso, go go gms haha Console.WriteLine("Login realizado com sucesso!"); ParseLoginResponse(s, packet_data); byte[] EnterGMSPacket = { 0x02, 0x00, 0x2a, 0xa1, 0xd6 }; LGSSend(s, EnterGMSPacket); //SendData.EnterServer(s); break; case 28: // token lgs para autenticar no gms Console.WriteLine("Token GMS recebido!"); ParseTokenGMS(s, packet_data); LoginServer.s.Disconnect(false); LoginServer.s.Dispose(); GameManagerServer.Conn.GameManagerServer gms = new GameManagerServer.Conn.GameManagerServer(LoginServer.GMS_IP, LoginServer.GMS_PORT, LoginServer.id_idx, LoginServer.GMS_TOKEN, LoginServer.Usuario); break; } } catch { return; } }