68 lines
2.4 KiB
C++
68 lines
2.4 KiB
C++
// 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() |