rendered paste bodyIndex: src/game/ItemHandler.cpp
===================================================================
--- src/game/ItemHandler.cpp (revision 5463)
+++ src/game/ItemHandler.cpp (working copy)
@@ -192,7 +192,10 @@
// Only _static_ data send in this packet !!!
void WorldSession::HandleItemQuerySingleOpcode( WorldPacket & recv_data )
{
- CHECK_PACKET_SIZE(recv_data, 4);
+ //No need to check anything if item queries are not allowed
+ if(sWorld.getConfig(CONFIG_ITEM_DISABLE_QUERY))
+ return;
+ CHECK_PACKET_SIZE(recv_data, 4);
//sLog.outDebug("WORLD: CMSG_ITEM_QUERY_SINGLE");
uint32 item;
Index: src/game/World.cpp
===================================================================
--- src/game/World.cpp (revision 5463)
+++ src/game/World.cpp (working copy)
@@ -449,6 +449,8 @@
m_configs[CONFIG_GM_LOGIN_STATE] = sConfig.GetIntDefault("GM.LoginState",2);
m_configs[CONFIG_GM_LOG_TRADE] = sConfig.GetBoolDefault("GM.LogTrade", false);
+ m_configs[CONFIG_ITEM_DISABLE_QUERY] = sConfig.GetBoolDefault("Item.DisableQuery", false);
+
m_configs[CONFIG_GROUP_VISIBILITY] = sConfig.GetIntDefault("Visibility.GroupMode",0);
m_configs[CONFIG_MAIL_DELIVERY_DELAY] = sConfig.GetIntDefault("MailDeliveryDelay",HOUR);
Index: src/game/World.h
===================================================================
--- src/game/World.h (revision 5463)
+++ src/game/World.h (working copy)
@@ -120,6 +120,7 @@
CONFIG_TALENTS_INSPECTING,
CONFIG_CHAT_FAKE_MESSAGE_PREVENTING,
CONFIG_TCP_NO_DELAY,
+ CONFIG_ITEM_DISABLE_QUERY,
CONFIG_VALUE_COUNT
};
Index: src/mangosd/mangosd.conf.in
===================================================================
--- src/mangosd/mangosd.conf.in (revision 5463)
+++ src/mangosd/mangosd.conf.in (working copy)
@@ -106,6 +106,11 @@
# MapUpdateInterval
# Default map update interval (in milliseconds)
#
+# Item.DisableQuery
+# Disables Iteminfo querying from Addons. May reduce latency and general server load.
+# Default: 0 (Item queries allowed)
+# 1 (not allowed)
+#
# ChangeWeatherInterval
# Default weather update interval (in milliseconds)
#
@@ -157,6 +162,7 @@
SocketSelectTime = 10000
GridCleanUpDelay = 300000
MapUpdateInterval = 100
+Item.DisableQuery = 1
ChangeWeatherInterval = 600000
PlayerSaveInterval = 900000
vmap.enableLOS = 0