From 1efac8cfbdb227e75705d730e6eb2c259376d1fb Mon Sep 17 00:00:00 2001 From: JustinAJ Date: Sun, 1 Feb 2015 18:36:46 -0500 Subject: [PATCH] added RawRCON Console command. --- Release/Plugins/RenX.Core.lib | Bin 77548 -> 77548 bytes RenX.Commands/RenX_Commands.cpp | 40 +++++++++++++++++++++++++------- RenX.Commands/RenX_Commands.h | 1 + 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 46ffb12f779aa5a1a74bef6339414dcb81c04de9..3ed995c5af6360387565e217d5e6593105c23222 100644 GIT binary patch delta 4488 zcmZ`+dr(y873Wi=ghfPNyT)Z%#HcKW;v>;87O+u54ARvmHiMDkBZ*D4ZW3)f4H}zH zTG}vb_G|h%)+n8JoU}8Ynx@U{kVr%l@Iin?tI;5ZhDjPE0+Xase9&{gbH01;s{Qkx zdmg{vdEPs4K6c=I>@HvIoO$=mlm6z6*XB2@v>skhe58+`LM?9TicA>uLgaOCByNnQ zA{R6yqp+eOQP{%GZzhj>A=3Wf8M&+>OBO{Y%jP#fH?Q65xkQl)MzZIvpe2+K9MZDt zLraV-fI8>QGa@K%OuY^L=ETIrjFr8I(q*V|hE`WSE}`|0Ha=|Z?Lfh|?Lb!aPKVG$ z4<5FnyX8L)YedHnTgE!Vk|u}FUz<{0h$s&bCB($apvxym58Xi!LM_^$`Lg;DY)o z+PcC}q_fp6M~{({x!`0n zIC<*P>GH%0+X-~CUHsk0ZQfQgJSRwK_08@RcHc+LHyN`a1OCEfYRc$%Emks&)e z<`FpTkC)mt;JZ6ZNOrJSXZ}FvPst|&#vsA>my-e{NDf}5EY1X<0nFmVS?WSS*d)ST z9=YM86f~^(poXKJ)Q(0zcslBN?@4-Aem_MjIz6Uk$*0h$Ku4B{#I(XcfZMLKRXHs=3HiDx$(7E#9-QU02)2a_iYb$8Y zMXd>Plf3Yu8B~ascUH$LIlIsHeVJrQ=V~pPS{zSBZ8`UAEp#Ml`$v?daF>QTvuit< z9i->3F3urWr}jKmC*1FmzU~ygN45aI1(1$l?)oSasMFW2(|D;nOo4~pYNd<7H2iCW zg-|Z+(M(qK?6GC8UM=(YawZu>3%X~dqz(Hfk;J)hY5 z(=IE);(l zxS#6Szr!R_Klk@jYs=~j`nm4HE_&~$_ADQWZcm(_k%4F*kvs>qc{hst&sZ%(`C`neDgY>x5i!Y>U;WC(48*Z2kq>K zhl%3w6WYRTU)eHTMFIdr^(zJ+m5}VDEwkn5Fb$60p1KtC;O$CyTf8Np%E!YFvCbLq z?+su4pChmetTMloExlh-t08@jDfA^X=UoM941ZN_5yPz3e8mg7dJ-?>1%P8UF65@T zeEG^3_AZmo{O$NJ=MP=;viE$=%O0wzDOG{1bpUQ+utgmB--i!5;;r`!X+^lFORjhRZ)BF5EQ(`zwP_M)Z zDmWYn)g33OU)F%eHqhvK7FQ3a46>?renZe0KL#4lsnzlDsd#_QqG%<)J*qNZ(DBjd zRu^?SnEec^k^HAcj%r|4;Tsim`NnO6rUw~iCJ3rxIoSOi?HZRBIVkZNSM3R005sxj zqe3o0%iT1HN=!6`gMj)YOXs5ioc|Ko&f1ov4kwy)MGb2$#@?Bhk6R#!@ZZAL2ipOgk$kBwWAqqPct^hO}b@n9+jI0U@ug3d%{AiH5C>V z@on~qM|6FR!O=p-!*LdKd7Bv zF;(tgoZ|q57xWn~d9U?~b%e_FkvEgGON@V&Ns9Y2#TtTvIpbTa3VgT7S%c5y929Y)=ei}-pRsD+9b6p!8-(5~rrp9<=QLAP%%&NF z&~!5d&Jn&e-Hb3DN40kb?{X)J!dxZ+Kc8-OPk^YM&gB`5l2!za)ZeUovn3#w=;ESB zb23WuI1FDU)t$#@$^NQWznCe^XT3-H?iBPPxfUwZgq112?;-h2Bj0xH2KcSQq^7lqV~AlAs*@`e9@)lvik delta 4488 zcmZ`+dr(y873Wi=1Q3x0c8$xjh*4P##YdDf7O+)94ARvmHiMDkBZ*D4ZW3)f4H}xx zw6tN=?$`8ltWi4cIB91(HI2obTSdYX7|F zp2zQZp7#!3j2^rgz1tT(cj1D3>2FDUHNSDS_3&E4qy798YIV!_hDqaU4!`DYh#6<8 z$VH7wC@gPG5VmmZ8%Yyt4tG3sPOfOokcACXWy>3%nb&Uhe1dR+k?eglXbI(mN3^W! z$TA}fpw0#Jj0lRFTz8@0tf;7{@v`qosth&F((0-=UTFQ}O^+CRJ5cZ~JCGH<%ONz; zgGa6CZuyU+8qvw4ma&eotl6RSw`Ny7BFX_oaZ%AS81Iu~NA4jAp;m2Be5`~pR*e^K z`G;d^#9vy4u`w>;yTP4^F0n zlcyh>DNmiUoj@ns#ou$%=4~azbBcsk-|RVM_l*RQNW|Y>9)V$hJ7G}6UJ*#Zbj<|- znNbs>CQ*SGvu7kG}+m? zkicPo{H8+#UeHxcvO|43^9Q?rNxS zT9f1!dFcZ)s1PgXypC0Te!uPeD#;Qr)LJsNG?t3mdg0ev=txq{hm@pnw}v^pyN1jT z(Q|h<=a8#Ydy%RW9`HzCPqN-4+W_ApNJlVxV+0A*>F?2LywVerTITQLOfrP-J{!U_|0W0_fbcDVkThdGK$uRkApG2qboi2wI6M@# zriMKtUG}74FBg_1K@IZ=JE)n-JfV!!=L=t0$=~1WF6$kVDcaa8QGg6L%)AGBFQrNsV-dgr&PG` z0M&6|r%9xK9vGn3mQ|PZbKRxg^xjYHSvDBio;W|FgONTOKC{PzvsiJN%oLsp^&;<% z*r6(N4y!^<^-;O^3{_Y{IdPbd;yj?XN*)+Wm4(Ck=5;`Cjr-u$_w=ivJ5_cJ+1U?| z5XF%vwT0QfvUQ}A1OSHWR|GyPAlZrA=E|`V8XUbnbtx9Y+tu*4Xj?#)O@tj{oipCw zn?C(DrGF<=dcUAnL;4z1=nH1fy9&}6{<6#>hFPutk{5E-6kf=S0LNNf$jvdi z^5xI%T_&CR+xcJ4AG+pc@A-?uCT;!RPjCTdj(@$7}0yFN>}%#I`I=z zO1H`oy06uIA*?`1O1&ur%}K;isLFAIdIL93P7WDg9w#WHrh`=7cvdrQt-R5K`WoAT zGpYU(Ehv@fZOR1lmODXg)BsHgUC?siTnz;sDP63RVwke_u3vu>UT=rjuRfQjUXBq| za5xaECq_`etOJc5pwasrt{zSqWL53@nxHX$95kL+Yh&S4@qy|kkxG1fR7I?yCa0X)xfI4H!9}x^}7U34>C%R6I8`Au=_dMH7zf6P~tPLI^wthXvEh> zh2jM*chev$A;A<50_u+}osT?l{!3sxXGfMgnqbluF|4&1dsj*>ZjFczQuPxBcQk*! zs3nPFB{dCW zqEtbukve+1G1V}`y_cOvZVS_dWAQPy<7sS9Gd9mnx}|O&mD>hjA5^p^Zn4#x3JZ$( zwtB>)x;{qoyD7H_RGpEa*B7TzD9_y@M0KSDtQzhXbb+09**KN!qMKgdHEjAns$E_& zT^?APWI)Z^Y<6Eope0RuMqtE0V8;91W zD#$PZu^V^=tA-2{-po{)-!W6?{S^GN-?49S3F)aW1%iLY30d*?0-K)U;hV-hoXM=8 z#>qq>jyYDQILl0|vF*;fgKgz>hpnm3O-rahW7Yn9xH$SZ2)&ojxPz~*8K$V1O)~_c znPv!_BYb718DTn(YTqp0*-Qd{KHcgY0it#`n`baWS{^V`e~a$T)_|a2UG!*9 zMsW^@;j5&2a`-ISU-jx2vxWJr_bA`Jf<7eILuHz=GDY`4ET3)S+m77;zg3u&kMHGm atLk&18<*!2+;zF4fVvUH8d-a;@c$12aQck^ diff --git a/RenX.Commands/RenX_Commands.cpp b/RenX.Commands/RenX_Commands.cpp index e024162..269c6cb 100644 --- a/RenX.Commands/RenX_Commands.cpp +++ b/RenX.Commands/RenX_Commands.cpp @@ -99,6 +99,36 @@ RenX_CommandsPlugin pluginInstance; /** Console Commands */ +// RawRCON Console Command + +RawRCONConsoleCommand::RawRCONConsoleCommand() +{ + this->addTrigger(STRING_LITERAL_AS_REFERENCE("rrcon")); + this->addTrigger(STRING_LITERAL_AS_REFERENCE("rawrcon")); +} + +void RawRCONConsoleCommand::trigger(const Jupiter::ReadableString ¶meters) +{ + Jupiter::StringS msg = parameters; + msg += '\n'; + int i = RenX::getCore()->getServerCount(); + if (i == 0) + puts("Error: Not connected to any Renegade X servers."); + else if (parameters.isEmpty() == false) + while (--i >= 0) + RenX::getCore()->getServer(i)->sendData(msg); + else + puts("Error: Too Few Parameters. Syntax: rcon "); +} + +const Jupiter::ReadableString &RawRCONConsoleCommand::getHelp(const Jupiter::ReadableString &) +{ + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Sends data over the Renegade X server's rcon connection. Syntax: rrcon "); + return defaultHelp; +} + +CONSOLE_COMMAND_INIT(RawRCONConsoleCommand) + // RCON Console Command RCONConsoleCommand::RCONConsoleCommand() @@ -113,21 +143,15 @@ void RCONConsoleCommand::trigger(const Jupiter::ReadableString ¶meters) if (i == 0) puts("Error: Not connected to any Renegade X servers."); else if (parameters != nullptr) - { - RenX::Server *server; while (--i >= 0) - { - server = RenX::getCore()->getServer(i); - RenX::getCore()->send(server, parameters); - } - } + RenX::getCore()->getServer(i)->send(parameters); else puts("Error: Too Few Parameters. Syntax: rcon "); } const Jupiter::ReadableString &RCONConsoleCommand::getHelp(const Jupiter::ReadableString &) { - static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Sends data to the Renegade X server's rcon. Syntax: rcon "); + static STRING_LITERAL_AS_NAMED_REFERENCE(defaultHelp, "Executes a command over the Renegade X server's rcon connection. Syntax: rcon "); return defaultHelp; } diff --git a/RenX.Commands/RenX_Commands.h b/RenX.Commands/RenX_Commands.h index 78aba29..3b1c76a 100644 --- a/RenX.Commands/RenX_Commands.h +++ b/RenX.Commands/RenX_Commands.h @@ -49,6 +49,7 @@ private: Jupiter::StringS adminPlayerInfoFormat; }; +GENERIC_CONSOLE_COMMAND(RawRCONConsoleCommand) GENERIC_CONSOLE_COMMAND(RCONConsoleCommand) //GENERIC_CONSOLE_COMMAND(RCONSelectConsoleCommand)