eq2go/old/LoginServer/login_structs.hpp
2025-08-06 19:00:30 -05:00

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()