Core/Realms: Realmlist refactors

* Removed global realm variable from World and use RealmList everywhere
* Match auth build key with client version
* Restored allowedSecurityLevel checks for realmlist packet building
* Restored updating population field
Port From (https://github.com/TrinityCore/TrinityCore/commit/c4b710446d62c95eb8124175203fa5f394912594)
This commit is contained in:
Hondacrx
2024-09-26 12:53:15 -04:00
parent 8341244e4d
commit d70529bc19
36 changed files with 393 additions and 298 deletions
+4 -2
View File
@@ -330,12 +330,14 @@ namespace Game
RealmQueryResponse realmQueryResponse = new();
realmQueryResponse.VirtualRealmAddress = queryRealmName.VirtualRealmAddress;
RealmId realmHandle = new(queryRealmName.VirtualRealmAddress);
if (Global.RealmMgr.GetRealmNames(realmHandle, out realmQueryResponse.NameInfo.RealmNameActual, out realmQueryResponse.NameInfo.RealmNameNormalized))
var realm = Global.RealmMgr.GetRealm(new RealmId(queryRealmName.VirtualRealmAddress));
if (realm != null)
{
realmQueryResponse.LookupState = (byte)ResponseCodes.Success;
realmQueryResponse.NameInfo.IsInternalRealm = false;
realmQueryResponse.NameInfo.IsLocal = queryRealmName.VirtualRealmAddress == Global.WorldMgr.GetVirtualRealmAddress();
realmQueryResponse.NameInfo.RealmNameActual = realm.Name;
realmQueryResponse.NameInfo.RealmNameNormalized = realm.NormalizedName;
}
else
realmQueryResponse.LookupState = (byte)ResponseCodes.Failure;