18#ifndef AuthenticationPacketsWorld_h__
19#define AuthenticationPacketsWorld_h__
26#include <unordered_map>
92 std::array<uint8, DigestLength>
Digest;
113 VirtualRealmNameInfo(
bool isHomeRealm,
bool isInternalRealm, std::string
const& realmNameActual, std::string
const& realmNameNormalized) :
125 VirtualRealmInfo(
uint32 realmAddress,
bool isHomeRealm,
bool isInternalRealm, std::string
const& realmNameActual, std::string
const& realmNameNormalized) :
218 static bool InitializeEncryption();
219 static void ShutdownEncryption();
234 std::array<uint8, 4>
V4;
235 std::array<uint8, 16>
V6;
274 void Read()
override;
294 void Read()
override;
300 static bool InitializeEncryption();
301 static void ShutdownEncryption();
304 EncryptionKey(encryptionKey), Enabled(enabled)
311 bool Enabled =
false;
ByteBuffer & operator<<(ByteBuffer &data, WorldPackets::Auth::VirtualRealmInfo const &realmInfo)
std::optional< T > Optional
Optional helper class to wrap optional values within.
std::pair< uint32, ObjectGuid > Signature
WorldPacket const * Write() override
std::array< uint8, 16 > Challenge
std::array< uint32, 8 > DosChallenge
static uint32 const DigestLength
std::array< uint8, DigestLength > Digest
AuthContinuedSession(WorldPacket &&packet)
std::array< uint8, 16 > LocalChallenge
uint32 Result
the result of the authentication process, possible values are BattlenetRpcErrorCode
WorldPacket const * Write() override
Optional< AuthWaitInfo > WaitInfo
contains the queue wait information in case the account is in the login queue.
Optional< AuthSuccessInfo > SuccessInfo
contains the packet data in case that it has account information (It is never set when WaitInfo is se...
std::array< uint8, 16 > LocalChallenge
static uint32 const DigestLength
std::string RealmJoinTicket
AuthSession(WorldPacket &&packet)
std::array< uint8, DigestLength > Digest
ConnectToFailed(WorldPacket &&packet)
EarlyProcessClientPacket(OpcodeClient opcode, WorldPacket &&packet)
std::array< uint8, 16 > const & EncryptionKey
EnterEncryptedMode(std::array< uint8, 16 > const &encryptionKey, bool enabled)
Ping(WorldPacket &&packet)
WorldPacket const * Write() override
ResumeComms(ConnectionType connection)
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
@ CMSG_AUTH_CONTINUED_SESSION
@ SMSG_ENTER_ENCRYPTED_MODE
std::array< uint8, 16 > SomeKey
std::array< uint8, 16 > NewBuildKey
bool ForceCharacterTemplate
forces the client to always use a character template when creating a new character.
uint8 ActiveExpansionLevel
the current server expansion, the possible values are in Expansions
Optional< Timestamp<> > ExpansionTrialExpiration
expansion trial expiration unix timestamp
std::vector< VirtualRealmInfo > VirtualRealms
list of realms connected to this one (inclusive)
Optional< NewBuild > NewBuildKeys
std::vector< RaceClassAvailability > const * AvailableClasses
the minimum AccountExpansion required to select race/class combinations
uint32 CurrencyID
this is probably used for the ingame shop.
Optional< uint16 > NumPlayersAlliance
number of alliance players in this realm.
Optional< uint16 > NumPlayersHorde
number of horde players in this realm.
uint32 TimeSecondsUntilPCKick
uint32 TimeRested
affects the return value of the GetBillingTimeRested() client API call, it is the number of seconds y...
uint32 VirtualRealmAddress
a special identifier made from the Index, BattleGroup and Region.
std::vector< CharacterTemplate const * > Templates
list of pre-made character templates.
uint8 AccountExpansionLevel
the current expansion of this account, the possible values are in Expansions
int32 AllowedFactionGroupForCharacterCreate
bool HasFCM
true if the account has a forced character migration pending.
bool CanCreateOnlyIfExisting
Can create characters on realm only if player has other existing characters there.
uint32 WaitCount
position of the account in the login queue
uint32 WaitTime
Wait time in login queue in minutes, if sent queued and this value is 0 client displays "unknown time...
std::array< char, 128 > Name
std::array< uint8, 4 > V4
std::array< uint8, 16 > V6
VirtualRealmNameInfo RealmNameInfo
VirtualRealmInfo(uint32 realmAddress, bool isHomeRealm, bool isInternalRealm, std::string const &realmNameActual, std::string const &realmNameNormalized)
uint32 RealmAddress
the virtual address of this realm, constructed as RealmHandle::Region << 24 | RealmHandle::Battlegrou...
VirtualRealmNameInfo(bool isHomeRealm, bool isInternalRealm, std::string const &realmNameActual, std::string const &realmNameNormalized)
std::string RealmNameActual
the name of the realm
std::string RealmNameNormalized
the name of the realm without spaces
bool IsLocal
true if the realm is the same as the account's home realm