aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/DungeonFinding/LFGMgr.cpp2
-rw-r--r--src/server/game/Server/Protocol/Handlers/LFGHandler.cpp5
-rw-r--r--src/server/game/World/World.cpp3
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist5
5 files changed, 15 insertions, 1 deletions
diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp
index 19d43d709f4..9fadbd03065 100644
--- a/src/server/game/DungeonFinding/LFGMgr.cpp
+++ b/src/server/game/DungeonFinding/LFGMgr.cpp
@@ -75,7 +75,7 @@ LFGMgr::~LFGMgr()
void LFGMgr::Update(uint32 diff)
{
- if (!m_update)
+ if (!m_update || !sWorld.getConfig(CONFIG_DUNGEON_FINDER_ENABLE))
return;
m_update = false;
diff --git a/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp
index e22c777e15b..fad5131b33f 100644
--- a/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp
+++ b/src/server/game/Server/Protocol/Handlers/LFGHandler.cpp
@@ -25,6 +25,11 @@
void WorldSession::HandleLfgJoinOpcode(WorldPacket &recv_data)
{
sLog.outDebug("CMSG_LFG_JOIN");
+ if (!sWorld.getConfig(CONFIG_DUNGEON_FINDER_ENABLE))
+ {
+ recv_data.rpos(recv_data.wpos());
+ return;
+ }
uint8 numDungeons;
uint32 dungeon;
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 2f4ae9a5a30..dc2cac088a8 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1220,6 +1220,9 @@ void World::LoadConfigSettings(bool reload)
m_configs[CONFIG_CHATLOG_ADDON] = sConfig.GetBoolDefault("ChatLogs.Addon", false);
m_configs[CONFIG_CHATLOG_BGROUND] = sConfig.GetBoolDefault("ChatLogs.Battleground", false);
+ // Dungeon finder
+ m_configs[CONFIG_DUNGEON_FINDER_ENABLE] = sConfig.GetBoolDefault("DungeonFinder.Enable", false);
+
sScriptMgr.OnConfigLoad(reload);
}
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 43a3f827063..817e8253fe8 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -285,6 +285,7 @@ enum WorldConfigs
CONFIG_CHARDELETE_METHOD,
CONFIG_CHARDELETE_MIN_LEVEL,
CONFIG_CLEAN_CHARACTER_DB,
+ CONFIG_DUNGEON_FINDER_ENABLE,
CONFIG_VALUE_COUNT
};
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 60a3fcfeadf..90a520529cc 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -1974,6 +1974,10 @@ CharDelete.KeepDays = 30
# The required level of character to be able to send and receive mail
# Default: 1 (From level 1)
#
+# DungeonFinder.Enable
+# Enable Dungeon Finder system. Will enable dungeon finder and raid finder
+# Default: 0 - off
+# 1 - on
###############################################################################
PlayerStart.AllReputation = 0
@@ -1996,3 +2000,4 @@ LevelReq.Trade = 1
LevelReq.Ticket = 1
LevelReq.Auction = 1
LevelReq.Mail = 1
+DungeonFinder.Enable = 0 \ No newline at end of file