18#ifndef TRINITYCORE_AUTHENTICATION_PACKETS_H
19#define TRINITYCORE_AUTHENTICATION_PACKETS_H
34 template <
typename Derived>
111 std::array<uint8, DigestLength>
Digest = { };
118 void Read()
override;
133 VirtualRealmNameInfo(
bool isHomeRealm,
bool isInternalRealm, std::string
const& realmNameActual, std::string
const& realmNameNormalized) :
145 VirtualRealmInfo(
uint32 realmAddress,
bool isHomeRealm,
bool isInternalRealm, std::string
const& realmNameActual, std::string
const& realmNameNormalized) :
238 static bool InitializeEncryption();
239 static void ShutdownEncryption();
254 std::array<uint8, 4>
V4;
255 std::array<uint8, 16>
V6;
291 std::array<uint8, DigestLength>
Digest = { };
295 void Read()
override;
316 void Read()
override;
322 static bool InitializeEncryption();
323 static void ShutdownEncryption();
326 EncryptionKey(encryptionKey), Enabled(enabled)
334 bool Enabled =
false;
342 void Read()
override;
@ SMSG_ENTER_ENCRYPTED_MODE
@ CMSG_AUTH_CONTINUED_SESSION
@ CMSG_QUEUED_MESSAGES_END
std::optional< T > Optional
Optional helper class to wrap optional values within.
std::pair< uint32, ObjectGuid > Signature
std::array< uint8, 32 > Challenge
WorldPacket const * Write() override
std::array< uint32, 8 > DosChallenge
friend EarlyProcessClientPacket
uint32 NativeRealmAddress
std::array< uint8, DigestLength > Digest
std::array< uint8, 32 > LocalChallenge
AuthContinuedSession(WorldPacket &&packet)
static constexpr uint32 DigestLength
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...
static constexpr uint32 DigestLength
friend EarlyProcessClientPacket
std::array< uint8, 32 > LocalChallenge
std::string RealmJoinTicket
AuthSession(WorldPacket &&packet)
std::array< uint8, DigestLength > Digest
friend EarlyProcessClientPacket
ConnectToFailed(WorldPacket &&packet)
EarlyProcessClientPacket(OpcodeClient opcode, WorldPacket &&packet)
EnterEncryptedMode(std::array< uint8, 32 > const &encryptionKey, bool enabled)
std::array< uint8, 32 > const & EncryptionKey
LogDisconnect(WorldPacket &&packet)
friend EarlyProcessClientPacket
Ping(WorldPacket &&packet)
friend EarlyProcessClientPacket
WorldPacket const * Write() override
QueuedMessagesEnd(WorldPacket &&packet)
ResumeComms(ConnectionType connection)
WorldPacket const * Write() override
WorldPacket const * Write() override
WorldPacket const * Write() override
ByteBuffer & operator<<(ByteBuffer &data, VirtualRealmNameInfo const &virtualRealmInfo)
std::vector< RaceClassAvailability > const * AvailableClasses
the minimum AccountExpansion required to select race/class combinations
uint8 ActiveExpansionLevel
the current server expansion, the possible values are in Expansions
uint8 AccountExpansionLevel
the current expansion of this account, the possible values are in Expansions
bool ForceCharacterTemplate
forces the client to always use a character template when creating a new character.
uint32 TimeRested
affects the return value of the GetBillingTimeRested() client API call, it is the number of seconds y...
std::vector< CharacterTemplate const * > Templates
list of pre-made character templates.
Optional< Timestamp<> > ExpansionTrialExpiration
expansion trial expiration unix timestamp
Optional< uint16 > NumPlayersAlliance
number of alliance players in this realm.
uint32 VirtualRealmAddress
a special identifier made from the Index, BattleGroup and Region.
Optional< BaseBuildKey > CurrentBuild
uint32 TimeSecondsUntilPCKick
uint32 CurrencyID
this is probably used for the ingame shop.
std::vector< VirtualRealmInfo > VirtualRealms
list of realms connected to this one (inclusive)
Optional< uint16 > NumPlayersHorde
number of horde players in this realm.
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.
uint8 AllowedFactionGroupForCharacterCreate
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< uint8, 16 > ConfigKey
std::array< uint8, 16 > BuildKey
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