aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Commands
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-08-18 18:59:58 +0200
committerShauren <shauren.trinity@gmail.com>2024-08-18 18:59:58 +0200
commitc4b710446d62c95eb8124175203fa5f394912594 (patch)
treec0e64d7fe1b315a34df65e4c44f0ad3d8723edf4 /src/server/scripts/Commands
parent88fea990ff1408b94076fb9dbd0c974908d6a731 (diff)
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, mysteriously removed 15 years ago in f20b25d1c90f608deab28c9957b3b376ab2a0d50
Diffstat (limited to 'src/server/scripts/Commands')
-rw-r--r--src/server/scripts/Commands/cs_gm.cpp4
-rw-r--r--src/server/scripts/Commands/cs_misc.cpp4
-rw-r--r--src/server/scripts/Commands/cs_rbac.cpp5
-rw-r--r--src/server/scripts/Commands/cs_server.cpp12
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp6
5 files changed, 14 insertions, 17 deletions
diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp
index d4b644ec62f..d4302e4bb0d 100644
--- a/src/server/scripts/Commands/cs_gm.cpp
+++ b/src/server/scripts/Commands/cs_gm.cpp
@@ -30,7 +30,7 @@ EndScriptData */
#include "Language.h"
#include "ObjectAccessor.h"
#include "Player.h"
-#include "Realm.h"
+#include "RealmList.h"
#include "World.h"
#include "WorldSession.h"
@@ -161,7 +161,7 @@ public:
///- Get the accounts with GM Level >0
LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_GM_ACCOUNTS);
stmt->setUInt8(0, uint8(SEC_MODERATOR));
- stmt->setInt32(1, int32(realm.Id.Realm));
+ stmt->setInt32(1, int32(sRealmList->GetCurrentRealmId().Realm));
PreparedQueryResult result = LoginDatabase.Query(stmt);
if (result)
diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp
index fde76603bff..fae41f2d995 100644
--- a/src/server/scripts/Commands/cs_misc.cpp
+++ b/src/server/scripts/Commands/cs_misc.cpp
@@ -40,7 +40,7 @@
#include "ObjectMgr.h"
#include "PhasingHandler.h"
#include "Player.h"
-#include "Realm.h"
+#include "RealmList.h"
#include "SpellAuras.h"
#include "SpellHistory.h"
#include "SpellMgr.h"
@@ -1781,7 +1781,7 @@ public:
// Query the prepared statement for login data
LoginDatabasePreparedStatement* stmt2 = LoginDatabase.GetPreparedStatement(LOGIN_SEL_PINFO);
- stmt2->setInt32(0, int32(realm.Id.Realm));
+ stmt2->setInt32(0, int32(sRealmList->GetCurrentRealmId().Realm));
stmt2->setUInt32(1, accId);
PreparedQueryResult result = LoginDatabase.Query(stmt2);
diff --git a/src/server/scripts/Commands/cs_rbac.cpp b/src/server/scripts/Commands/cs_rbac.cpp
index 5beb4caaf72..2d42cf2f6dd 100644
--- a/src/server/scripts/Commands/cs_rbac.cpp
+++ b/src/server/scripts/Commands/cs_rbac.cpp
@@ -29,7 +29,7 @@ EndScriptData */
#include "Config.h"
#include "Language.h"
#include "Player.h"
-#include "Realm.h"
+#include "RealmList.h"
#include "World.h"
#include "WorldSession.h"
@@ -83,7 +83,8 @@ public:
if (account.IsConnected())
return { account.GetConnectedSession()->GetRBACData(), false };
- rbac::RBACData* rbac = new rbac::RBACData(account.GetID(), account.GetName(), realm.Id.Realm, AccountMgr::GetSecurity(account.GetID(), realm.Id.Realm));
+ uint32 realmId = sRealmList->GetCurrentRealmId().Realm;
+ rbac::RBACData* rbac = new rbac::RBACData(account.GetID(), account.GetName(), realmId, AccountMgr::GetSecurity(account.GetID(), realmId));
rbac->LoadFromDB();
return { rbac, true };
diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp
index 6b607244805..c58f038677a 100644
--- a/src/server/scripts/Commands/cs_server.cpp
+++ b/src/server/scripts/Commands/cs_server.cpp
@@ -34,7 +34,7 @@ EndScriptData */
#include "Log.h"
#include "MySQLThreading.h"
#include "RBAC.h"
-#include "Realm.h"
+#include "RealmList.h"
#include "UpdateTime.h"
#include "Util.h"
#include "VMapFactory.h"
@@ -124,14 +124,10 @@ public:
{
std::string dbPortOutput;
- uint16 dbPort = 0;
- if (QueryResult res = LoginDatabase.PQuery("SELECT port FROM realmlist WHERE id = {}", realm.Id.Realm))
- dbPort = (*res)[0].GetUInt16();
-
- if (dbPort)
- dbPortOutput = Trinity::StringFormat("Realmlist (Realm Id: {}) configured in port {}", realm.Id.Realm, dbPort);
+ if (std::shared_ptr<Realm const> currentRealm = sRealmList->GetCurrentRealm())
+ dbPortOutput = Trinity::StringFormat("Realmlist (Realm Id: {}) configured in port {}", currentRealm->Id.Realm, currentRealm->Port);
else
- dbPortOutput = Trinity::StringFormat("Realm Id: {} not found in `realmlist` table. Please check your setup", realm.Id.Realm);
+ dbPortOutput = Trinity::StringFormat("Realm Id: {} not found in `realmlist` table. Please check your setup", sRealmList->GetCurrentRealmId().Realm);
handler->PSendSysMessage("%s", GitRevision::GetFullVersion());
handler->PSendSysMessage("Using SSL version: %s (library: %s)", OPENSSL_VERSION_TEXT, SSLeay_version(SSLEAY_VERSION));
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index 471d46cd77f..bcba814325c 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -30,7 +30,7 @@ EndScriptData */
#include "Language.h"
#include "ObjectMgr.h"
#include "Player.h"
-#include "Realm.h"
+#include "RealmList.h"
#include "SupportMgr.h"
#include "World.h"
#include "WorldSession.h"
@@ -132,7 +132,7 @@ bool ticket_commandscript::HandleTicketAssignToCommand(ChatHandler* handler, cha
ObjectGuid targetGuid = sCharacterCache->GetCharacterGuidByName(target);
uint32 accountId = sCharacterCache->GetCharacterAccountIdByGuid(targetGuid);
// Target must exist and have administrative rights
- if (!AccountMgr::HasPermission(accountId, rbac::RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET, realm.Id.Realm))
+ if (!AccountMgr::HasPermission(accountId, rbac::RBAC_PERM_COMMANDS_BE_ASSIGNED_TICKET, sRealmList->GetCurrentRealmId().Realm))
{
handler->SendSysMessage(LANG_COMMAND_TICKETASSIGNERROR_A);
return true;
@@ -328,7 +328,7 @@ bool ticket_commandscript::HandleTicketUnAssignCommand(ChatHandler* handler, cha
{
ObjectGuid guid = ticket->GetAssignedToGUID();
uint32 accountId = sCharacterCache->GetCharacterAccountIdByGuid(guid);
- security = AccountMgr::GetSecurity(accountId, realm.Id.Realm);
+ security = AccountMgr::GetSecurity(accountId, sRealmList->GetCurrentRealmId().Realm);
}
// Check security