public static void DDD_InterrogationResponse(ClientMessage message, Session session) { if (PropertyManager.GetBool("show_dat_warning").Item) { message.Payload.ReadUInt32(); // m_ClientLanguage var ItersWithKeys = CAllIterationList.Read(message.Payload); // var ItersWithoutKeys = CAllIterationList.Read(message.Payload); // Not seen this populated in any pcap. // message.Payload.ReadUInt32(); // m_dwFlags - We don't need this foreach (var entry in ItersWithKeys.Lists) { switch (entry.DatFileId) { case 1: // PORTAL if (entry.Ints[0] != DatManager.PortalDat.Iteration) { session.DatWarnPortal = true; } break; case 2: // CELL if (entry.Ints[0] != DatManager.CellDat.Iteration) { session.DatWarnCell = true; } break; case 3: // LANGUAGE if (entry.Ints[0] != DatManager.LanguageDat.Iteration) { session.DatWarnLanguage = true; } break; } } } GameMessageDDDEndDDD patchStatusMessage = new GameMessageDDDEndDDD(); session.Network.EnqueueSend(patchStatusMessage); }
public static async void HandleConnectResponse(ClientPacket packet, Session session) { PacketInboundConnectResponse connectResponse = new PacketInboundConnectResponse(packet); var result = await DatabaseManager.Character.GetByAccount(session.Id); session.UpdateCachedCharacters(result); GameMessageCharacterList characterListMessage = new GameMessageCharacterList(result, session.Account); GameMessageServerName serverNameMessage = new GameMessageServerName(ConfigManager.Config.Server.WorldName); // looks like account settings/info, expansion information ect? (this is needed for world entry) GameMessageDDDInterrogation unknown75e5Message = new GameMessageDDDInterrogation(); GameMessageDDDEndDDD patchStatusMessage = new GameMessageDDDEndDDD(); session.Network.EnqueueSend(characterListMessage); session.Network.EnqueueSend(serverNameMessage); session.Network.EnqueueSend(unknown75e5Message); session.Network.EnqueueSend(patchStatusMessage); session.State = SessionState.AuthConnected; }
public static void DDD_InterrogationResponse(ClientMessage message, Session session) { GameMessageDDDEndDDD patchStatusMessage = new GameMessageDDDEndDDD(); session.Network.EnqueueSend(patchStatusMessage); }