From bd31da4871ee0d6922a44aff92d9696c21c64481 Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Fri, 17 Oct 2014 01:04:24 -0400 Subject: [PATCH] Added "NeverSay" configurable option --- Release/Plugins/RenX.Core.lib | Bin 56672 -> 56672 bytes RenX.Core/RenX_Server.cpp | 31 ++++++++++++++++++++++--------- RenX.Core/RenX_Server.h | 18 +++++++++++------- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index bded1e12598563fc6854aefba49b044f75ab04cb..8db9426314e92e72137aeb80479962f6c2aaf3b9 100644 GIT binary patch delta 3419 zcmZ8jSxl5y6b2<}Riaer%v6bt6}O49S*qf~Xeu^J1ua#p)`4oQtrl^4z$FwnoWg*^ z96*YQio^vG2XRFNY^@4a3a$mQ9TWRvQacZ}X^bH~_uTU@!@S+|pXEE>`R=*nY3T21 z=`?fXh_ceNU>Q0MPL+$_45nxgSu7k!G^gaGFVpE;|wxn*m1Thfo8fvBF!} zK$^vb1x8B;Pn!{n^C_r0e~lKz%~%W6W_+Oz6i{1?p{nqC1OfHr{sgT8 z!V8GyNsDp9#LKtTzyQB`8)JcS16m9~%rEcVn&%AIpyoAgPoG(mdBP|aqhhxY|GCF~`~UESP7!xb5GcpErO=oQzagkUYRUGhcA1RjTv=y17dQ6i zEH~yZH9?7+NUC;c$QbsSSI0i0F>Hc1K|F$<0}Jb-pk;Fata7lDm>>H&<_Cu-S_rJ) z!aZwn-SrZ#>pZzkIM2wC77$q>k+uIgT%V&?Ua$ z0{x*&QovS3pM;cuyLb}3yrgVXyeAc1@}4X}hh!ne>yxa|-pn3MfPm+@%v01&JL3uu zg<0smqNoHjuWz7TwyR;S!UR!8^;;;oCcH|45A5j)RGQ z`+d0EA-4@~4yrj3zwHnipS}|Y^E-JJ>ChkPRP}Cv3HRhbzquHdg&D(aalVh3poVX2 z_dVsd$`%QVXfYcDgCa)5k^9`C2;y7w>b`PoWRRGP^MR@f;++yDVWQobD0Jp*Uj+Qp zlamdd_K;H;bU#$o*N5@FqWfn%!!k9h%c7gRVA zqwIbGt`FjUV`_er{Efx$-y^WXv|(WDV$y|N`M+*lm+rr=ey`>UDCXT(=iTu*2L9DlNhb)-Eo%X)Mht)+)Lebf`D O_!+?Rlx)_g=KldN+pgOH delta 3419 zcmZ8jSxl5y6dshME<~x&nW+-N2DgayzvxmaE120uK_{JXCucxeTm))Yqnqa&mXt3}fZxBC! zSUflgY-%r0;4djpTXY%wQJsoP4h)$xZ+`g$lM_E zvY=Og=@kN-Ft_!PQS-`c4-&Z>bCWb10u#2`js=?SpGLA>btEV@BaF-orUpi1g?F%l zRErr4jFt|bRudHEQBYOhIxUEsvF5AI_(B~dpf;OAz?R^R#YI)6bA?(HW;? zfrmS!ikop(5i1Qq1^4vbVTC>GflP$SAMcTYB+1ONUY$i6= zw!{LxH+9Ow%P$gdJhwHc1K^%gf2a9W?pn0o5tZ}fCm>>HE<_Cu-S_r7y z#yx9r-E|VK>ms>KxX8$m77c~2IhLz0l<%@`}RHL(X1AmDkf@)UK`PQS)O zVHSF?DJsFt8|!J8?Wtd{FhSKsuHo0yq)nIW>UGW~6dv6mchHxJY8k@z%=k=O3*z#= zXpncVAzLOAHr_8aH+a8@3G>oh-^iQ@_3-OBs7X-|f=zECu-Q!;HL&^>@`a#g^Y&Rt zjZUvTxyELmfVY4q8Gn;s8c(Yf{7h^k1=~m+7>R;cxYaFzRFOVz$2?6}UK}vLGXMU# zM1m3xwLhW8Gk#)yvED*%sd`hHZ@$IM^Ho^>v+i2yh4B?aJ2osvV^|btb*;PY+uN(# z>MLr3&+m`|)9x@p?%#Vy^&vje@A8>t;=QZL1nbyZD95%IzPDmR{6D9+Mdi^1U$>H9 zW-H4CxuuKt%PK`mbS~+04!_6W#a4d%h^Fkmmo8(Nn56qmj7~9a_jR{urF`zw+t#u= z2l11PDYAt};*@xusuA&)r=$S;Q(i#a1r<)f zD7(SmH95{VrusL@-&p+qJpwC89S*imCSAyt|Lewf>i+BM_iClrP8lh5|CjmustSanitize) - RenX::sanitizeString(t); - int r = RenX::Server::sock.send(t, message.size() + 6); - delete[] t; - return r; + int r = 0; + if (RenX::Server::neverSay) + { + if (RenX::Server::profile->privateMessages && RenX::Server::players.size() != 0) + for (Jupiter::DLList::Node *node = RenX::Server::players.getNode(0); node != nullptr; node = node->next) + if (node->data->isBot == false) + r += RenX::Server::sendMessage(node->data, message); + return r; + } + else + { + char *t = new char[message.size() + 6]; + strcpy(t, "csay "); + for (size_t i = 0; i != message.size(); i++) t[i + 5] = message.get(i); + t[message.size() + 5] = '\n'; + if (RenX::Server::profile->mustSanitize) + RenX::sanitizeString(t); + r = RenX::Server::sock.send(t, message.size() + 6); + delete[] t; + return r; + } } int RenX::Server::sendMessage(RenX::PlayerInfo *player, const Jupiter::ReadableString &message) @@ -1022,6 +1034,7 @@ RenX::Server::Server(const Jupiter::ReadableString &configurationSection) RenX::Server::delay = Jupiter::IRC::Client::Config->getInt(RenX::Server::configSection, STRING_LITERAL_AS_REFERENCE("ReconnectDelay"), 60); RenX::Server::uuidMode = Jupiter::IRC::Client::Config->getInt(RenX::Server::configSection, STRING_LITERAL_AS_REFERENCE("UUIDMode"), 0); RenX::Server::steamFormat = Jupiter::IRC::Client::Config->getInt(RenX::Server::configSection, STRING_LITERAL_AS_REFERENCE("SteamFormat"), 16); + RenX::Server::neverSay = Jupiter::IRC::Client::Config->getBool(RenX::Server::configSection, STRING_LITERAL_AS_REFERENCE("NeverSay"), false); for (size_t i = 0; i < RenX::GameMasterCommandList->size(); i++) RenX::Server::addCommand(RenX::GameMasterCommandList->get(i)->copy()); diff --git a/RenX.Core/RenX_Server.h b/RenX.Core/RenX_Server.h index 76feb9b..31d9bc9 100644 --- a/RenX.Core/RenX_Server.h +++ b/RenX.Core/RenX_Server.h @@ -470,22 +470,29 @@ namespace RenX /** Private members */ private: + /** Tracking variables */ bool connected = false; bool needsCList = false; bool silenceParts = false; bool silenceJoins = false; bool firstGame = true; + bool firstKill = false; + bool firstDeath = false; + bool firstAction = false; unsigned int rconVersion = 0; + time_t lastAttempt = 0; + Jupiter::String lastLine; + Jupiter::StringS gameVersion; + Jupiter::ArrayList commands; + + /** Configuration variables */ unsigned short port; int logChanType; int adminLogChanType; - time_t lastAttempt = 0; time_t delay; int steamFormat; /** 16 = hex, 10 = base 10, 8 = octal, -2 = SteamID 2, -3 = SteamID 3 */ unsigned int uuidMode; /** 0 = steam, 1 = nickname */ - bool firstKill = false; - bool firstDeath = false; - bool firstAction = false; + bool neverSay; Jupiter::TCPSocket sock; Jupiter::CStringS clientHostname; Jupiter::CStringS hostname; @@ -494,9 +501,6 @@ namespace RenX Jupiter::StringS rules; Jupiter::StringS IRCPrefix; Jupiter::StringS CommandPrefix; - Jupiter::StringS gameVersion; - Jupiter::String lastLine; - Jupiter::ArrayList commands; }; }