From 28af3bbff90e6fb0795fac57976c6ee219bd7dbe Mon Sep 17 00:00:00 2001 From: Heron Date: Wed, 13 May 2026 16:42:45 -0400 Subject: [PATCH] Added parameter to control entertainer captcha from the server --- .../library/serverGame/src/shared/core/Client.cpp | 3 ++- .../serverGame/src/shared/core/ConfigServerGame.cpp | 3 +++ .../serverGame/src/shared/core/ConfigServerGame.h | 9 +++++++++ .../shared/clientGameServer/ParametersMessage.cpp | 10 +++++++--- .../src/shared/clientGameServer/ParametersMessage.h | 12 +++++++++++- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/core/Client.cpp b/engine/server/library/serverGame/src/shared/core/Client.cpp index 78f2c8cac..440e39f86 100755 --- a/engine/server/library/serverGame/src/shared/core/Client.cpp +++ b/engine/server/library/serverGame/src/shared/core/Client.cpp @@ -383,7 +383,8 @@ Client::Client(ConnectionServerConnection &connection, const NetworkId &characte } // Send server-specific settings to the client - ParametersMessage const msg(ConfigServerGame::getWeatherUpdateSeconds()); + ParametersMessage const msg(ConfigServerGame::getWeatherUpdateSeconds(), + ConfigServerGame::getEntertainerCaptchaPercent()); send(msg, true); ObjectTracker::addPlayer(); diff --git a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp index 6fcb2e2be..59a752c57 100755 --- a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp +++ b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.cpp @@ -170,6 +170,9 @@ void ConfigServerGame::install(void) KEY_STRING (defaultVendorItemRestrictionFile, "datatables/commodity/vendor_item_restriction_default.iff"); KEY_STRING (defaultVendorItemRestrictionRejectionMessage, "@ui_auc:reject_restricted_item"); KEY_INT (weatherUpdateSeconds, 15*60); + KEY_INT (entertainerCaptchaPercent, 40); + data->entertainerCaptchaPercent = std::max(0, std::min(100, data->entertainerCaptchaPercent)); + KEY_STRING (instrumentDataTableFilename, "datatables/tangible/instrument_datatable.iff"); KEY_STRING (performanceDataTableFilename, "datatables/performance/performance.iff"); KEY_INT (createQueueScheduleTime, 75); diff --git a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h index 612fc936a..b901ce0f0 100755 --- a/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h +++ b/engine/server/library/serverGame/src/shared/core/ConfigServerGame.h @@ -229,6 +229,7 @@ class ConfigServerGame const char * defaultVendorItemRestrictionRejectionMessage; int weatherUpdateSeconds; + int entertainerCaptchaPercent; const char * instrumentDataTableFilename; const char * performanceDataTableFilename; @@ -768,6 +769,7 @@ class ConfigServerGame static const char * getDefaultVendorItemRestrictionRejectionMessage(); static int getWeatherUpdateSeconds(); + static int getEntertainerCaptchaPercent(); static const char * getInstrumentDataTableFilename(void); static const char * getPerformanceDataTableFilename(void); static const int getCreateQueueScheduleTime(void); @@ -2006,6 +2008,13 @@ inline int ConfigServerGame::getWeatherUpdateSeconds(void) return data->weatherUpdateSeconds; } + +inline int ConfigServerGame::getEntertainerCaptchaPercent(void) +{ + return data->entertainerCaptchaPercent; +} + + // ---------------------------------------------------------------------- inline const char * ConfigServerGame::getInstrumentDataTableFilename(void) diff --git a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp index 85084596c..29427bf58 100755 --- a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp +++ b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.cpp @@ -10,20 +10,24 @@ // ====================================================================== -ParametersMessage::ParametersMessage(int weatherUpdateInterval) : +ParametersMessage::ParametersMessage(int weatherUpdateInterval, int entertainerCaptchaPercent) : GameNetworkMessage("ParametersMessage"), - m_weatherUpdateInterval(weatherUpdateInterval) + m_weatherUpdateInterval(weatherUpdateInterval), + m_entertainerCaptchaPercent(entertainerCaptchaPercent) { addVariable(m_weatherUpdateInterval); + addVariable(m_entertainerCaptchaPercent); } //----------------------------------------------------------------------- ParametersMessage::ParametersMessage(Archive::ReadIterator & source) : GameNetworkMessage("ParametersMessage"), - m_weatherUpdateInterval() + m_weatherUpdateInterval(), + m_entertainerCaptchaPercent() { addVariable(m_weatherUpdateInterval); + addVariable(m_entertainerCaptchaPercent); unpack(source); } diff --git a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h index cf0e78deb..fadd7b8d7 100755 --- a/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h +++ b/engine/shared/library/sharedNetworkMessages/src/shared/clientGameServer/ParametersMessage.h @@ -31,15 +31,17 @@ class ParametersMessage : public GameNetworkMessage { public: - ParametersMessage(int weatherUpdateInterval); + ParametersMessage(int weatherUpdateInterval, int entertainerCaptchaPercent); explicit ParametersMessage(Archive::ReadIterator & source); virtual ~ParametersMessage(); public: int getWeatherUpdateInterval() const; + int getEntertainerCaptchaPercent() const; private: Archive::AutoVariable m_weatherUpdateInterval; + Archive::AutoVariable m_entertainerCaptchaPercent; ParametersMessage(); ParametersMessage(const ParametersMessage&); @@ -53,6 +55,14 @@ inline int ParametersMessage::getWeatherUpdateInterval() const return m_weatherUpdateInterval.get(); } +inline int ParametersMessage::getEntertainerCaptchaPercent() const +{ + return m_entertainerCaptchaPercent.get(); +} + + + // ====================================================================== #endif +