// Copyright (C) 2007 EQ2EMulator Development Team - GPL License #pragma once #include "packet_headers.hpp" #include "../common/types.hpp" #pragma pack(1) // Login request packet structure containing user credentials and access information struct LS_LoginRequest { EQ2_16BitString AccessCode; // Access code for login validation EQ2_16BitString unknown1; // Unknown field - possibly session data EQ2_16BitString username; // Player username EQ2_16BitString password; // Player password EQ2_16BitString unknown2[4]; // Unknown array - possibly additional auth data int16 unknown3; // Unknown 16-bit field int32 unknown4[2]; // Unknown 32-bit array }; // World server status change notification structure struct LS_WorldStatusChanged { int32 server_id; // Unique identifier for the world server int8 up; // Server online status (1 = up, 0 = down) int8 locked; // Server locked status (1 = locked, 0 = unlocked) int8 hidden; // Server visibility status (1 = hidden, 0 = visible) }; // Character play request for newer client versions struct LS_PlayCharacterRequest { int32 character_id; // Unique character identifier int32 server_id; // Target server identifier int16 unknown1; // Unknown field - possibly additional flags }; // Character play request for older client versions struct LS_OLDPlayCharacterRequest { int32 character_id; // Unique character identifier EQ2_16BitString name; // Character name string }; // Account information structure for early client versions struct LS_CharListAccountInfoEarlyClient { int32 account_id; // Unique account identifier int32 unknown1; // Unknown field - possibly subscription data int16 unknown2; // Unknown 16-bit field int32 maxchars; // Maximum characters allowed on account int8 unknown4; // Unknown field - padding or flags (15 bytes total) }; // Complete account information structure for character list struct LS_CharListAccountInfo { int32 account_id; // Unique account identifier int32 unknown1; // Unknown field - possibly subscription type int16 unknown2; // Unknown 16-bit field int32 maxchars; // Maximum characters allowed on account int8 unknown4; // Unknown field - DoF compatibility marker int32 unknown5[4]; // Unknown array - extended account data int8 vet_adv_bonus; // Veteran adventure bonus flag (enables 200% bonus) int8 vet_trade_bonus; // Veteran tradeskill bonus flag (enables free lvl 90 upgrade) }; // Total structure size: 33 bytes #pragma pack()