From 175aa11d90ff3458d6b45ae11d53b82e366f551c Mon Sep 17 00:00:00 2001 From: JAJames Date: Sun, 12 Jun 2016 09:55:35 -0400 Subject: [PATCH] RenX::Server: Added 'gameVersionNumber' with appropriate accessor function (RCONv4) --- Release/Plugins/RenX.Core.lib | Bin 205162 -> 205494 bytes RenX.Core/RenX_Server.cpp | 25 ++++++++++++++++++++++--- RenX.Core/RenX_Server.h | 10 +++++++++- 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 45bf07a8e7022bc331d7d0197d8663028c5f4b62..ff890a2f669ebdf79f7cbf0ec8f288a9e84f4740 100644 GIT binary patch delta 23446 zcmch9d3a4%)c4x^#t?}F35g*RG1d?XYAO@G z#w`eBTrXvzKrWJu>^m)tiy{e#CzmWd?M4ESn+jNXD=SGxUI^CMh${?ydK_@$$FnXP zGN=YI#4|7gTwzZvyae9B^hMx%r38onj$-9k{d(xuO#-6uC|=jmfwIIh$+9DcMP5(g~7`74RJ6 zAe3V4>1W}aD%a?aD~Oos#;iemL%h|E*5^cOj4r` zuE6(&z1V{*@Df5*7|B>DEBZ(U3)9z-WUSq%;mYMkE#|6E;t{$SO#meCwxVI)FpMhk?7 z(fovkp|FH8?0|()!$>klCR=ztktAcxQVXN6kkmjjjs`{`+;09cqLzi>Ge|Oqp{y8X zZd)jKo+P6z7%|F$p3xb~GR8((=-!4Tqfa3V3Drq5YR|OLs02wyc__k&nT+`3hpgPq zLR?dljDfo?^f>}XK%Gk#>ft`4KCEUWT({6`B}qo_Bnxe!JY%32Wg5c}pmn%~p2;K` z14bbJ14fYS7HHwMizFEp`&dYXU`7>;GdeA>(60tb#vr(x5%HywFlL-CYvCjm zXZ#EWG@juK9P47?mkA_)nSl78iM8<4SY$a+8bURW;Ccibj{O?4z+CM6fP%R!r6eBr^x`tEm$8q4oSfyFV$;}9!xeZE^}gD|)vah6 zz_mUW4s}3DcG#2<+@P-K+bvZ*vD>n!32%#+Jnytl^eou=ujl91H9Y&ay`lDS}kcHzL5#anEm4@UGMvjy-#&*h;=V`&~ga@t&ZK_XS;jAZS{oq$!0YO`9cY z##BkO3rc!cSW=D%Nv#4UB|H?==VM7ppGwMiMAE34k{V8s6z!I@tgwqhfeD3N6mwJ3 z<{5bQmZVbGCFLq0X=ipxQR5`JFFg^|?Wv#wn0%zf0q_4+I%9CHxd|-1HNwHZa)q)avX2a$0g9fhOA1rC5 zlvLmoNq(!LG+ciPV~^nez=`-B*ca)dNl&x8YT|e-+%GkWbP{pqKl( zpnJehxEX~@yW!%Q;dl`4924TA6L951xU?ADwg7G$cOI6(Lx;}78X#X0N$�?8C zs^^F5ac1x;`>&orOfiK`*Wc+!!zSJFf_Xg;p z=wc{Z6``$!P!9-0{GWtL$}S`=0O}yNg%R6T9x%!#X*J@16xW_zC2egjsd9N}J_HQv zAUR)_G_e`nTLq{lsZ&+B9@o;%!8{Shv_O*L_W?sC9T+BQ*eG~qB$D}cNlV8dVMoKe zZv4180`UT73`aacc)JX=E(fBrxQ}b6&T#Ko#IQTEyAKpgKqA(L)s4Ue3QdkdoGVLe z8i)KDDCr1jE8~ob>plJ*l;V{UZ+*8ts0noe~T=^PGqaq%L z_JOc!K_|qpA2c6?><05oJ#ZZi>wtBjKLVvrLy5ALkm0Q)Ev$fv>lI`<(6}b5qZSgg z338{YqzQddL3I&xD772+$Hhzfr7hxLw>pHjL0L6`WNr15qSbk>j1;RXTclDhc|IQ55nh< z1doEpOCkPwio(SuU7wI*qgCHUPECfQ?%e3p$!G@4 zklo8MumN%Y5&}=cb%#)1U*Y-_n4UnL{|e!!pgHixX~cUaEI0tA52J)rk=Yxe)G7#B z4}6E`_Jek>q#^6T6AJ8uA@!eu2jubMZW_kiOW#E&19&|*JpE7!=|U%=iOLE}{GuA>kHcY%7FpK}~Oly8&Jy`K>_@ z0LFcUGJ_}X!*iRV++>W+eu%7p3=aV(9zf7S$Oc#NyLBL&zKs4 zF2|6izo6%zku(-AZ(14|4(!K-Gq(U@T@aqg0gnVAQA5x^aSaWHtAU=61ziT3=EP)! z8TBMQvid%H##JQuH7Jiz?r{+X(r2`q*3dO^UECBARM<^LsTh@@aWtOXbcW8-c^W_| zw4T<{FZ3(DM!o2Fx=5F(9u=exqNnH~{t%bN6%jz)=!WP>#c2YaqyDs(ex}}3m)eW& z;!n|){t{P35sIca=`H$=PE&X4K|QGe{Vpzv^WuWYFGxt?b_pQ@#h(-)nu#D$T*Qb- zQC8FzS1G3`BCgX-xR1j4~HIZF}3V-nzYH$;2dPmO7ZaPJh`#WwMU zSRxjS{^Da=MPW3CPEalyO7rO>u~IA-%ft$iECz@Rw3p`45ZWwui(NS0`daK28^tEE zL8OQ;=sR&lET(Z{ym(6}(UdyVba7A|5VOS+%1Hz1dkUgK^gb=6@5K+Im*_2y(_A-w zLLM=X=7{fTf;c2*iAdT*Zn2vti~ZtTu}^#>4$wh5Mn~xg9iks7jSkaH(VXUsMdCH_ zzGzD=s2zEzHMOC6Vy;+D$+V0hs9};NS!E2d_X^m zDWb^F;+%L}OccM0Q{p#qMw}2+#XDk}I4OP7KlDzQ#{D3*%P z#6WRJ{4Mg+SUO4hXf*vu;q*HFME%4X@wyl*wu&vHCAFdv;_}!pNPo&4Sg;e(M7R{7LuY*=}oa#tX9vniwO6Z z;w$kr<)u;7SA{% zX3=cgN}a_<>MFL=2HHYh#Fz9H?VwI#Gp!&~lK)+i?*EgL{O^i%|DTlPPLYjXT$64t z%B<9fw*5zG_Wj>2&WyF`{y#3xjJ28j#l_jzSDc&Z|9^Rgae3bQj{*(*j{@CN(O-0_ z{hwQ9KTleZ*eyF6i=|^dM|Wn}GY5J6dzSS)?-Aq)saIOv+ADH+-fhv)GoeMmmhgRI zYkA*pdSY%Frf%F7!LFqKUAH{HD_qhyl<+`=smS}@p}6~)y3!4m&=2%~fceCCm*1wV z)BqV00AB4&6aVL@YWs@_l_+Jjk1W?iQJNoCH6M!BzMB&}$kO_;mUsxu4%O9PM0u9> zic~osiBdkQs5{bnwD%*?%y%>CkSy)b5-VzXcOHufPr3U6s#_Krq#~b)yfz{0H^(DG zG<6)PvnZxkX=8-H3J8!z9hA2sWQf-D+GEkkF|t0J3<+e3FM&rkG%JPfT~IZ5We}*H zd+>>{*j#ubYWvtsJnc2N8aSZcsbe`{ZhXx^RXQvKlcY$m&F7wqw!Y`JtAnN2)v;g_ zU@Uc8O`}1URHS2YegSiJe9_DCjudfiYrSECm zTHxGOL_E-_^uvgQ~@wufO=t7|6omK_ZcT&ETiJMM1<`$}{igE<)G|imNdA+=5 zJ`zrYZ@auYNBGHs4k@gQwq}Q)Y~mQmfe7wCe$kEfscTm#_NBC+_p!jPsYneK&P3ruutx5pRa52vW94kf^FAzM3)T zxl(O;19KR8wvO5muD_yccn+CY&3r7%`b0VFu1A2h>&_0UHu0wbW1`(!S_DedS{!<$ z1sXk^BAVpPAc9L%i%89BxN-I9oAE)?ZhV~YIu9$tmNM{2w_s6%llld{%jViB*l=~4 z^h2;QNslS28*c7{OttM3hvD%<9*JwJ#KfrSk#{9cFBTj&Lh(r>_k|bJ6$3m zJM?44VO#}%EO~pFx*43oIHxlgyDi!tjtn&( z&fEm6zzrfd+??VTf$ChSY5a~3Sk)qnRfF>y3OkK;0&*HxQ{D5)n9RI1<@ottH9O{$ zJ$wdW#Iou}K2x_T#l1J(VX~`_(w-}W!;L|lsyb!LLwYSVrI@&Al^Skz%pCZ5O%>*u zaL->QhGuZTCgi)&^<9y>OL~M+C4EFQ6Y^z{@%Y`qt6( zMOX_*pVLv!T~OBZnQj}QN2V7v{nK_zwnD}!Nrk-bn^j1*aPVO9nn!Si;Q{Ve2xdiO z5NWraEQL+E+mrC5!Y12v9zKusa`%r+H(&YY>{*fjMV>dxkn8+^JIc#wQIsh@J@Sul zB%p|_=`+pFp|^^d9J1BS8ExcpPHX$$kCvT%k0;Lb-Yi~ud<+=%h59Ms?vMk`y)!xB!}wwTT= zCfC##iLs5(S;`o1TeGB;;fO4fr3_hB)7O7mmNsdUT-wXyaA`Tx z$74@D@6C~A>j&ago(S$VtRFo9P2!plZwJ0x=|n~>Q4 ziK}A#V|(&U72`?scvbVbt|(sgXlZfP%!(|Twa?YdtNnM?2K=l82|^3R@bEmxLP2{AIxG11w~G%Yim zX3-`&xY_AZyWR_IxRLHA+n|$RQGGey=K?Jy@iniP8#R!#d?QGLaFx>2JL2EaxJ@Tc z@+j}fXAR}szGpPIvje>&-5beyz7Z=3PrX4X+F17Yjc9Im5v4XZMWoZPcN6b3Z#9vN z9M2p<>gpxXAoymUn$$#=^W>V7OLbESOZr-~`>Ly%>8tk5wdrmmf5KH+=&u9V6MPq- zne8nq+N!$sUr@aMElly+?%mSDxOZau)~R&soLg5l`6|Oyr2SSl*kyGw|CVx&Z7Dab zU1PjHIM~uris|CBq?L(}w!-d-ue3Hg>XBjnyz%*~wNccm!J;-s180VGZfi2c8PkI8 zOiY~`Y-wjSus3GC+nbGAA7&9pMrJ9-Uh(b4o`J;ME4hi)`N_c3ZO zc3wYD1?Nu2E}1i(OvyxH3e(jwz4L!r*rAh%x9PJCfmc*?`>ri{3 zu}EuYH`TiXO;gn)D+hU>*)quJjS)-4_`&Ha*|+A1A7Tp9E`}RJOls)>v>WYZylAM& zQM*i<4Kr5S*_?B@p|tzq-r*(&PAi9xFjnejZ?8Fujx>#qZPAG^0`5P+i7<3jFO@XP z_+P8b6OxWnACMhH+fI8~bX569XCSk!8aUeMY8wza#@y5z*{%1-G3hi)KZB=n&gWh$ z5*@jzLt`%|TaGoMaT*%-hGA>3-~N2Vv=4jlG5t-mQ?R#5dj8{6)e~yYo0utL-;xQw zjB=do`~-)@Rl^r}qgo7Dxj5V{D z!R!~G%%t(Ms!uCz{#WCD6WVzBsc$4@hxdSXF`hl8j*XXvJqe-1RpNwnA>`@s4Y&8{ zId1uJx~IcctBKwmSPmAaA%1Ul5e+6a=2xktLLQs5B8N3+@WI4Ov1-mF;}qM$I`P=S zXF1G8Hi|e09dCEFy;VSR4t!!ttH5I!=9{CFy~X%+ve^OZ!v#Kq)%E_~+vd=Wx1gG5 z4e-1OBa&-~@{Y!T47+;nq>;5_R1YPvbQaEhol!-yER&FlDsGh}aXqI@vh+fC}ixLbN!=~-DFxn+!V zsB-Lt$eYZ^l2T|Oz8vsqMEHK#gDj5X8A zP;R!F`R#Sa-q~iI;f(*lImUIYneGX%K-2>@e2$FpB>fb^+2fp!IaoTkD}eA{cEhBT z#Z>ZK;|ANUI%{f!>>+%Sm>?>>fE&lsKIM96o;l^>LemQI3!TSm);!+Gzepi1&R+a@ z<{KAiYi;HwJ%+g+;n!(eMSh+346}1kyJ9Nk?F{zniN{_Omt0^bK-*634z`m7Lez4b zsK_C*-#ppp34Px;=LvRJ>W3@gSt-ybj&8%z?%dyvGwpT2^bgEBz@Bx=DKqQnj5(;h z1#>}}Rh@lgFn*!Y9tE3j7f@!A*#+49*n^AA#BO;E2dz3L{Cdh?9b1GXiQ1io70!?( z99H(PPRoB5o3gh1%tUVQXKO|yeXsk}a??}n9ZA7t zJ6?8urY2`dPP>b>USUd6r-uEGAZ>+liH=#Fl`@aExC1N>V~cBF&FA_2Y9;k7+2oCL zz4UygSug1kdn>o$BeTY`!_Z?@I+?uuw%0y?tuhH`ujoGf*sSR6*BD(tG4W-mXq8(- z<-)9TtvvNuU1!#4^MbB<7mx3JYWkKPuDI3d!sS~HpIdEK!+QC|YhE40k&qXyTCS08 z)%iwPzGUiVb|p1gV+^yGQ_t6!<&+(jNPc@>6^x6+kodm6NB!5|1Nd>aI@dxxq3f1Y z3(uE8P9NzJr%rvIE^Js+X-_49pd@=Lpk4(vW3{2+zOGqx0!1mXh-=YI#c#+Uh&y}ntEq4`d7amT3eT5OAFh+@ed{GX)AwKRotcs`UKV<) z$Zy4b6}ZYM>X<0Xu_;5pFQ%5J7z#&P#4wW!-->!{jNLnR+i|?#DG!rV4i{B>HW)^_ z_3>n>9mA7lEDE+oGx3U}CiqN6Q?vp_9QaIZtFzEPTh)B{C{j~322};{IowRtbntP^ zm00m^GMVo1dnNVOm&Wfrq3O`_g!VG~TTupk~V!BCi^@S@y95h2vA50|P)&RRwP`8Lnfvc8d(j!pXc^?b?c%r?wE&RfBCA zGD(wuywyuOPc7dj^Lo-ck7i0+b6ziLr5ixhE39$67jJL@_qG^aG2t!jZyz^MTQy4zTcoUY)>LA#VUEDcqUug#op7pYc=KT2t&6*_`X zT!Owa_Br+^jp2Z0<;wG>$F4se8-B5%8Szn16J~V!i0IBe(5aB4do*Rb+G*$>kM|i* zIXuwJOHx~{O*J2m@cK$y-v-i}!}^GJqJhIn*2*XSr&lf1hx^TR&9jBh)|P75ce12s zVzZ(z&JOK8UNyH=d%rW!vj*B;)}R%X^c-tiUzPtMLmfKIZOvo}P3tk4U4)s#(1ywG z9Ex_Np$9II5{4M`Vavb6D2#bwuqU$1D9V&^u^Xk<2qSm$PP5K@~}pB|HhgW>E)@m{heF z|Jnt-`0s|~>Cq9JoX%-R8+1=Az1o7JJB01N*6;<{;ae{2knnaSNp(G%E=7D_jp%V+ zd-PD}j+z40uiBd&^TwkD#(N6C`Q`KTZpJPy7;mYKYdI8c2tL_2|vPOgkY;t8%|&Ojra$>&xE>_ECd>G>c?*uJ#*OLtm(Jp_3@C zBEQVQ!A@vR%YCIElsf-+(afY;Gya}IOXTfTfA#Q0#tonEI}zT#3;?TKKSVJrQ$gwV z8ps59{!1;#=5Y{AnA=$tb28(g^3p}C#M%#5&rh1u8mMgfhflnQDEH6lzKcqqX&wOMfmU9chl> zNLC~9cA3m-@QkH7@QgJ|Z8&8ynEHOj?ewx1nq{d z_}nkkPM6n$+DCkD@)mn|{V$?iW;(}l#yEBBtZ}p5O0=iAm5f*8&zYkj$8vLm3O;X^ zn~oXPjf8DpqCCsCi{3#n5dA_+^M^QVy1nO9~wN!Ov|cj414 zTIYunx_j_Bscz$?)%rhVq)NtO&v97AX{7mZ8oi6bmPsQ2iw~O6%fl7#zO@a!`<||9 zUN$>KJ`eQNOOtj5=^U0e{0yq&=3nN;fMX3m z*Gtk%9l2`E(@x+$yf&|+O1p*+T&rJ`NxnIl-|pzK?#g`~W63?mtLpV@rnT|$lh&gP z^zcB4=f-QznZmi1<}HV|oVOecRQVfb1p~`15zSPOo3fBPcf+(+dp)9`<@Lx1{A{=y zc21OZoaS<6XhrL&S+``EXL(pL$GGO?SVt{X^KKa}>@K1u@z<7%csxYaxGfv|yrGHs z@KO`K3Zlg-^|m?ecN~H(!K8jFI&*K~Wv; zH!-qfs5$Uj_+xOG-3JE;j+!-Ix%NO7^#t$9t`>)`ot_@9s95psBxzs_F?IR zU>SwYY7o!*yjk6V<`6&9GyMBdPs%Q2m^ba6O_cXd+CDye+z5}|Zc{(Ad5(E<6R2X^ zlviDzJ3?%AB|cI3l3QQ%%OXBABRkYuCWrbfa7#L-N$o1)cjwv>ok6hq{W~uEi_6Ss zJ6qt44Fm8-`d{I)8SrP0S^|IOxD^tDzV4J+8J-<`q<~ZD)6?J;Ow7=C>erGt)x3neBkkxY|`Slk##!^W+uLPUh(mQDrmJIo77T*rTae z_;qE*7cg2hcN{I6JI-!+q~#!fos^N5Wot5)oeB*nMq|FrNaYCj9(L~_OR();$4X_d za%Xe3_Vq4a4{7swJ@mD9S>lKck3(gPh8I=eXcyFuugHqn5*#PN`=G<{!FWTQp2DH! zx1d-tID;4m#ePtvWu(Ylb>HF7wOpA$GS?Gs47B|o+IohbigGO6^!{>3fXmv%mju}l z{HCkyHIZN44RG1J5}QuvHq#wYEdpJc{~klfi2nlSAhb>zA_}R2frgEJ4yxJkIp`r( zJEzP30GU67(Hz=i=rG$oL^M|ML52gbA@sw%hB%^@1epTUM|%9loaQhb<7vo~v=+TG zmk+-j(2n7claF$S-nots`qF<6;5gGe21d6})ni6>oE?kzke~$bL_X zDwjE1?floYoc|{*+R*t4k(tSPw$rBZy67i3=hiU1GR{;3j{V3yha1Z&~IvJJ~QMvqc{zR z&n@IAEXQ)-48}!#6-QYy1DzTP@XuLQB-|M05PME-2sdIKL+4d|elz4a7`>nl=QriW zTYMc0-r`?GEQXH62LTyZFv@YX_dDlV>>ZqB;zO|vQ(5}O{w3uu=(7LHFmufQ;PJek zIn`c}BYJto?;f=y%0juzYEdEAtG*uRSj7Day(f*r2~Xd`F8lB8v^?G-YYsdgTv5v- zT=pOTu$T4Blc4q%c2#yfYft1lp?M;|%1N@kYE52WJ56@HPr0UgM7n&RV<_F*90v&3 zdAz8Kj&j+5b(F(4vMilQJOO%$Zacb(b2cd`VZ_xs~5&+m8Li#un}oIYn}H_wLML6>(0%?!_4 zqiU@h)vL~ZAVPiBYt^h4$^T2pL1b+s@yAvYe_kVTr!>ikT_nSHkbE20$$Ll^`3Cpu zkPL53GUs#+ad#XsgFHvcmV;2&+aGAg}&p zjXBf$`H68$ahI$vC^q z#<|ucHBRCRoGEDIbRzjAeq``f8`&nnq!Y-B3a}BGN|r`VT!A2|Azy7o8WV#_GE!kV z#y$we*dA_U*CLXP^w~E4NGHj--POidi9V8FL4e&kZ0yR92Y@fZfHA4EjX!UYWaJ94 zakvOc#?l}gV-CQ_K;Atzf&xi0LigGj_YX-%Ay`7=5UxOg?-qW5EQ4(XkAWqCX&`)O zIwBnm@<(dAoQ(qGNHPk-w}AL3)yAV}5`fHw7y!g0q%mOSA7LXj7J&=o z#e^E=aRstWB_ID-fh}!V$H~%YiYuf)3#N?oa1rCjWE-d93Pxl*;46|*HAtpFNXE)b zHdgN-$(Rns7+-#9LoFc5_~0@F{y!3^VdZX38o3bhjG)^Z^4(FSvAhTh4DjJR8+*Zo z@%3Le_8cL}_!{(#vT#+=#wcJ7QAdW_nEES8#wr9WVCD897jxeu@i(d%|Wf~?Zx{c&NXKburMw0PQ9UGq{l4PWS-iIHn z$aEVyCX>Y|_KAc1xaLO&U}DDFS~gY`M2Q8qCfnGEm|$#z){M{R+W6umNye6SHol0! ze*>GZIp~P|-`o-Y>T2U!A(UF+t#BLHp&jFDO&fV0KzqPCW+MQTF~%j?D7XTF34}sW z1|f(w(s2cHPp}~{A7l18_|Ps9`;cT*fe?&J+iX0wfFvV&s*Qp7NHP+0X!vBqNYZG8n~Z0n zH6ymHjlO3{GWspD(H_z>20AD|g(Rb0dmFt^lVl87W1|Pm&FC9pqZ%@S5s!J}BjNv= z7-V!wx6ywzNyZ?Un^CoO$u_DU1s|YJ z0~>X7ldOyNU)F>4jQX)QTGSxPXh}8_x4=}uGt+G}ss~E}^7oZ6v9{*-E zht(Jzj@oDjH!!Mz2cy?<8ws!oqgNy3KYnEAL>pZK;R2u&m}x}d3XI0Xj8{@^gn*tA zILbz`#w1HlB3Wh+$>Nx>cx#fSO9P*v47Vp)DhO)?#!Ag4S>i4Lx0HbeiyeahL+}9O z@Jt)oVP-}ke9G8y%*Mx?NHPvW3&0A;q6NqsBWz3^h}sU!#y!TR12+CnAj!CU#>Smx zBsC&&_2K9K5eMZknB+rXAzZ*% z0Ld8hksgc%d@q`;!pSy@z!HF*1A!TTG_Y|C{${)e;WS#}3cLy$#^mNU=Ke}j147OP zd>6og@$+IE^DdCosEI4EVV47Fu>tt3tBp?&AVz>ic$V=Itj72_z{avoBsGF@1=f9R z<6F3iv1pryPu_(TjC(M-2H^_)g+OAQ>}TT#Fk~Eo=@=(Y+V~EP87I%#_#W0{9E0UF zPy>zu=@5ePLp2+xpy;U!@c+?@Hp*c#M)@2XR?ryqe`B!MgO-dUEp6l|Nm2s>=K%7y zvyrn1Hl#qlcn8OEJx=1@VjK61lK^B8<^aU~uvP{a2%^_;sWKlJx_LfR1Rkq|%YhM#(*C%fIOs34p8>qH* z5&2Vwew}0e!Y}63^X$@V*YNMsZwaEUe+atvr=Zez1nr8Dv?EN?uD2!anJnp>B9iLh zUgK~{({oB1cURD|<&qYyz}Nvv>)w(ydAy{a6C|}OYSG?si>ifL^wU*Ix89KS$u&u* zFH34!Skm2WlDdzT9F`QcRMLSlKA1MI zq`)9adqXAtGY&!&l5_~T6(DJF7D;0uMC)lV`8%M2>3P?9Mo8-TzNFX>Fm@0Ynj@(u z+|(5OB9kFlghiL&f~_$BnBU=+H_PF3%?_hlefY=8zIOhNpn9(JbZ!3-XbXi z*K3<$cAzV?EQDwdN5r3oS!*J~A3%s>5MmVEmNZV%3YfPRT-u2A28AZ%#&dAnx!ICl z$|~ssTpN@P{#x8!((QJVMpQ;b4grHW1YQkETU)|(HGx_Xq5L3^ezqQ4&| zXb*s9N_k1`q0s5xlGY4>;5}eH&@8KlXXEkTP%6C(T-qQ0Uo{BktBL^-*M#;-gP}1V z$T1owZYJr4>WJR9l8%C=K^@eEx|pDzq}cihx)zcMR@wrgravR89)!Aw`;S%wNg}pO=7^Ks^v2!h@&5WaeRLlpU4;vtv7;(Z>+rAWA1n>WCYX22RDlXQO~z zl9cc_TyPhf-hmZ?Blji611E1IHc;uf$L#nG?g@*g+=R<+A?79`zVcWU?^}XGuoyWD zlwAj{*26sCBcS%9VttD1Q84`u!X3wiClC*~CY(Y%EQO`^LDK_>k8RK}4MM$#N!9>+ z@Z4_DZkJSiHF!dR(L3Rq2e2sS8~6z62&Im{4*z$=&xVUg6=2OwL@2Or7W@mO&Oi_X ziNC--7x2I#q#uwMb-p1q&kAjVa$5Aw6!9PX`wm7|aO z5ERG2BwbQ95M6+2E5hVc%OL~GBS%px4-|%^MPP{>U<|a&i_)1BX3htT0EmMUj(w(pAxgO3?&5MgwRy9irz^ z=~|0k;#bjwE{Wen6cwj2G?tFgchrk|Qy(fqKZ&2kS#eGTi#zl;-J`oWCDdo1jYJj^ zE=q}lqJ*d=&QpLWBz~q}=vTTx)kJAgM${K&MLAJLM2kn1Q;;}EfugRcBr1#SB8PZN z)DR7X5XHqaB2JVS6~s?;kuKA3bcsSmtSBi$#E(>6Q!ovq*|bb76^q5YB2_FA1H^IKL^Eh8eI~vTTg5xHQ|u6F z;uEn>tQD(hk2ok6&{#1}j1hB1OX@~b#W!M~m?jodE*eDJDK`zKIkbqr7JEfMv5#ib z3Yslu`DnV>M&reP@wO;N8)<_0j3$cR;w$l`*d=z-F4{|9({B2bcF-RBirx~fX_lBL z`igf%2WmqdDTSV+_B2z>5KAbP7Sp@*hG<2j#4V95-V}Lg2t6-Wi1)<-aSGepu9P6= z(oylMI3~`BNg~WAj*AoGq&O|U6O+Xh@tXKv91%Z=*Ts+OM1Tl;e!JKvmW%hqYOzQx z6d#I#;)b{>3e#vhNCoLd`i2V8%XEPHi;u)h;$^W>Y!Gd!9Ss-PMQ1uJhKeELkQgim ziFEO;ND{-uN}40qhz;~9DUl*ZiWkKQ)g_B4T3`!(ESk}IF`wpM$@Us zwGQA`!QBQ9kiRYmTKU<*t)R=SG?%s+E_7FnL} zs@MM(P5d`gi^)*6_PETaN5nnxoIBD~7E(!-WZs-CUR%QX2?eOCIWXUvd!nhIY{#Dt z*K+qoEC0>tL(a{Q?u)k0O}v`7r?2!tv@!QW)$f7M>}wy0W_}Lma#=QYg@;C1*sgqb zmZk)x2~<@diUMlKLs8oQQ0ysZyf((OtE!Jg@sy;nAayNN=2kKHL;*jc*1AeDnNM?j z8q_&#>b3QAs9^aR^|?HbHWeNj6>k)T;d&LYY{RX5BzpLnCuFrnpHo+M^WW1G{+`>J zuqGzVtQI7ystP15jiozfXmpgS zpG*3+bA@nCPzELlz7wIAWOs@5+`59~$t~mj+H+Xxr#P(2p?FNlBTDdNUN^eAp=mic z%7ZpFk0_U!)-5b=I|C)plC2(bf&ZY#}BHy&>^h$P+^1PKe>*_4e?* z#@p_QR-_aZsRl)628%)&4Qg!FBcHLAo8gD^nGDyKX|u|SjBfd52ft}uo9Sd^o7Ggk z^ULBX=Wb_L$zig%pU_*T1{9E)%9Q%MfT>e%ENT^=1>f56c3QoPDj`HXp^$>!F4ILr zWpB@%ZeFH^n!MEPD;09`DHiPOf&IDu)zySTMrN%XuSr^nr$AL7RMVr&s&W}Z&RuxA z6gFOW9ekp&aj+X7or)MrzNrJBgENi;f8y=pYC3G_sG$S@i=r~0rm768hBj5`<3@HX zmd=3h!{oDmOSs~+3OC}o>S^-*;nKh4&fVb{vu#o7Ss_`9U`|q&q6vEKn3!Hqr^MAL zl#&!2psq)F6Ur-2+Xz=2HEs1!* z_WQwNCJ$XMnt$6!Pq^CTCn61bbd2x6K za9N`^i>@c?RnAbxSK%gahRmx+ek&(m_D4TrQ7c*viuOX_tLaljNwuTAH$NVgcVea@ z$Pzd|9{mxa>Q!*5RC>BI?W_uNq~Di%+HG+%ub!eip6$cW&KloZ#n&{?re>Ol2y|VIG+dz2ul;Uu8Kl!-#FU@l~WR!_7kK+|v$u zm1y~jewI@_{TIwE9dmsv1;{e_nPd8}R?N}ctb^7z|I%8< z{Fy`JMa(rbsj7Nz8Y>&cb=5$&yV2c2AK4t2(`I%#X_aiIEF6noOxP0pmV>dV*t4751zNQ(w$1Wqla zZZvQ#H59DJGwZX<6F6wRtXUtuW)1<_1lXg&`w9QSo)cq@J+%hK{&qBIgXfbmjoLX& z#HsOdrT}WkapvlR@m-t=d+&&^p&5y8;yAFvGjhCNV^=TD=+raD0dDloZ)Bp+CD#oP zn_-Gt(nv@} zW(H6#RF!M#gl0@jIp4$Oua=I(a<(#AuFb)!7uJrJbYQjCLj^U3c_) z&bUKM%w<+f{OCC&M{;|I`|9>a4tL5P9n6%j^NV#f&Uf8(wxe;Aceb&e%xt{-(;}4X zEQkAbac>^Xc+yUT_)^u<2L&~7BX(bq(h8wKV1 z84GFd?$YsFKU2Bfd3BK*42yiGuJ@BY)r~rjo$^2-Tg$$QCUxBCEYROXr(5{6#Jl^O z+1T6K^esmeIe#SSZVO+j+uLAErVNE)yqZ(w~F^4ZR(jP;L_Rj^PUiJUd2wml7XqG%B>t@ zlF!}6v>I#nChnF@XA^J9j;fpEaHutSEzY28PcSC;oP>U_iBc*T&gY@=ZnmzBGn*}U zlQ?#~*)8ckC7(g)$@vW8xIK9uyq@(iwv9N!zc@{hANbQmk38pdMh5ugM$bt7WQY6f z;C@O~ohVDH@yW*A`tbr2oyRLolwbHCcO?#+WF&UYr3=MJlZ=Ai{c-JA&Hi}DDkrLT zzG@h`CueOYn^P}$N4jsayCc=-3A_W;HsT%N&+6OBGD3wHu)HV2t~Ir6hhKA#JQV78 zsN%j;k93-1YOhxR{1j*8&J@#avn)Ee>tV`^9ET^XsA1ujC&Apql-^U_!xWYNrt@SR zp8O3@UOiev6??;tBv+$ceA>bqUB+q~qoSS{MO4DV$BMYut~cK>cEyO3t#6w14xU_V z`S4A1cA@p}bL$5VIf7@8oJ=%zy=6XrFt~;3Frk=OO zdWUHjwG&FN-dc*H&|(8lM6@lTYuM=_$6YWx>lKKPMKWkR?c*#V>jvW z;d6$&YWpl%LM6<~aA@r}+U8lV(ew;_CZ=a-G20xiabjq0^}+4FYCBsNOPO&tU*^gO zP{!FTSD(FA|NGqlNfb%p6e6k*7LaeMo_oqxjx^Mc7>GN zYRy<+mQVLEv+lyorrEsEn8q8Qbr+fV)FV}J&Zs@NbCJmy_cXWJyXK76UG(<7YZg8C z?UHYC1|#}UEQ&5M`gtqj{w1a&x~~zsr5c;No%z{RV{qO(ZG3UL>F~UkF7>{#wA(bSe%}O;+XeMrVY(pAgI`)|Z$*8O!H@o(%?BSC zQ)w-_UUjr+@uAryczU)-7+_|Twi!!?;x1ELs1wwT5&>#WGtpd){l+cK%55m^oc~zP z^4CdkR^(Y}l+pru-e8vm>$K)LK7{?ehfKT@Y6%)Zf>I!hXo1&srB@p>>qy{t7up}O zAS3##hWVqaiuivXX~6PQ$brn9bV_QA)eY>QSD625Vvr!mV;kh zR$`A`X{-{~JZ3b{3%<$_V`nS8;0s!BjOH#gnpsmYs{&@L3fJ{SFmEEYRd^E_tsbp6 zTRF{uPuBD}pR83?OFwmMw&FEK57os`HC6XB6Qr)e_4x)Hyt=^o#@KISJ(KgAp{3(B zqXwi4zZ9+T0q|q-k#WoO6sU$?^zL}LR%tegU{e#enAS#g@oY@=?vT&;vT$=TP%Ygk z!&376+SEg&UH11T$GsndS1s_0ix&%3{sP9Xn(XFgnNRbYr9w7iY5qMP-;>Q5XJSQL zfSU_#p(bEfM_u1y7A4+k=%Eo9s;jDeA&aQBZLyqR`~0z~Ds6R`%mrmVrVLkVzZjNT zcJ6mI&jp~Y&y;EYOy$b0ebEX-4cHgK-D6a@ZAM^iB0iGVmgFO^7>>Q(J$W9lLwF0T zsfK|n7B*V>oamE@j6+;c$?ZiPPkH@dNl%1&4lo*mPjq`6U_4&j`7ONW!`}cr13oJ1 zkSMD1>@~7`*5F29G^@Rc@kE*@%%4@mc6q|w_CyQtZ>&PTG$++=CD+>WySXM{9^XNf zS0}zS(|g`$Hf2roR4A^xeq|i#X`7pY$HESxikg-H!)E-dLi>P^H?$Y|B)PeY+ihNA zc)n?9p&sovt1v651G1gEzgsp{gWi*+{Lbf&Mr+U>99v=bw2q=lM)Po&r3tEnpf%hc zkzUekVE^_}3&tNLwNbhD$r33stx7!6@tTeuAJ25|#}h1x9%4z_su}x?0<4>MGnc(~ z?B+v<5e*p^B2UeG4tfN2{Ai}96s9M96r4`{*!N&P)WxhGgRh= zECCFoD^$pw2+2pBX-k7+Z@GaAc+!0k zWZiMIWF{tBU~Li>c(7`5Jj02E|I07Lo`}1IB%Ub#K$Xm7+(v3LZX<^?*_Hj#Oy;`4lSU(;ck+#js^?K}nCi&l zHAm~tYtBgZ@Ra$|h<8ic1^m_4D7e7a!*-)rZI3Ts1X*eiuP<49Jq0JtOKSX&rb@D$ zdWa+LW%cMsvr%&QRa#T-R7bPn9vw%=9Dl*9i5>a;3RcU@UlhFprLQ-vm6_Dj%Z*WM z&zfG&v#}qm>Yg+E87>@J5H1|!*yL>*R{t-Uk5}E!8|J()=HZ@<&yyyAL(G7YDRIS0 zr_3ysg&DcN^AP$R!r@OK)E44zRkQ^gf^D*T^pmM*942~*!(^hG^|Mij=g>ne%p_Ip zf>%y==vB2c!;rgH4N}7!q6x{=Jn@E1Q}QADYc{2rC%bzZ0X_%RPUCMq zryzRpS2%?|hcg@_dcCi$CjRFyhDgOjQf2*MdYp(KK$6jFHbyGRq;MW>* z@Xuupd!G|En49Y&Eg&C3Y9DZ)q+r;zI(0o%nwzJ7%mdZcezh`722xvvXTWQ|%6ZG2 zX>-BU+Ht{LpqAV+>xic-U#NEeAxq9ats6>LQV-)rOyd8r+q2@niyR3~6j7cW;qs&{ z6{p(X#-GbS@i>y-e`ssffp|+`t(4%3;VL0f1ZQqbSQSmns-)VqQ5oMzcvjY>kZEQj z9RB3O%;(G6{Cu*t42E5M=V?v>S9LdvG!<_l-vd=burcohf#ee6pOHj4Rb@ zn=Jfa5-N{;XwQA>TD-!Th%4vuc}yH>2x7q2hnVP9l?ryj#-i zChwNgKo>Le`INMt;c6Y;&G9>L_fHW#ThC8m=T-wnl{p`}owVZWqZcHuKI=8Bl(eIv zvyYa3!nAO{4lzFL{!}d$R$os|^WJ{ z+h6{APqXL`x{YdyWx3z|dHSMF>U@AzASJ$}-WPbAFI~9!JWn&?E@?AUyMMmn7B)T3 zjnNi0Jd4%CuM2lWT2?;U`W&*RoGVd@w;$eVxHHlV9XF<1*>Y-P0n7b1-m|UxLPce> z+-;R-f^BS!o4<)C%;4!rwyT&x%m2Z$UWN7K+^p=-lkW_*{NFAs&!Os0xP9pmw1^pY zPZO88@swdhAxSa%Rwj z_Y$6C`aKY1)=+%fn?VfSm3zJj{~9x;96lN8=@M@QIgTp>b@mE;BYfiu8mE|Cmj7=m zl!s&=n?BD~kl?#nuXFitQgjTI1FLU%vIe)qGL!Kq2Re%QEx~>@Ew|-#&O3N`EREJoOxcI)AGgG%D{DMkzS@h|!)`T+OW=DAHN`;A=RO&sc&yTYMX2ef4T5<`>4g6tHN z9S*OSG0^R_?`j3)JbrEy*@4Kr=N=REHxo@{7m9K42`Smbi9=izFO0fcuoeOc}rwzr8 z-><57gsI%_`k=eVXH|~~D_X_8h(E|%d()iCW%k4+HL;lS1h3_K0$$61Qz4ONvD9Jj zc_DRKt&X(Z4-okDK+j!6eH3YxQA4Awvd-cJ6$`3QqOAOybz!i+s=ke~s%9JxFK*=z m;oWF{4F4_ysn_6Pz5A(<09Sa;B^hLzOF@ubQ|}hH3jaSU#rconVersion = raw.asInt(10); - this->gameVersion = raw.substring(3); if (this->rconVersion >= 3) { + if (this->rconVersion == 3) // Old format: 003Open Beta 5.12 + this->gameVersion = raw.substring(3); + else // New format: 004 | Game Version Number | Game Version + { + this->gameVersionNumber = tokens.getToken(1).asInt(10); + this->gameVersion = tokens.getToken(2); + + if (this->gameVersion.isEmpty()) + { + RenX::Server::sendLogChan(STRING_LITERAL_AS_REFERENCE(IRCCOLOR "04[Error]" IRCCOLOR " Disconnected from Renegade-X server (Protocol Error).")); + this->disconnect(RenX::DisconnectReason::ProtocolError); + break; + } + } + RenX::Server::sock.send("s\n"_jrs); RenX::Server::send("serverinfo"_jrs); RenX::Server::send("gameinfo"_jrs); @@ -3186,11 +3200,11 @@ void RenX::Server::processLine(const Jupiter::ReadableString &line) RenX::Server::fetchClientList(); RenX::Server::updateBuildingList(); RenX::Server::send("ping srv_init_done"_jrs); - + RenX::Server::gameStart = std::chrono::steady_clock::now(); this->seenStart = false; this->seamless = true; - + for (size_t i = 0; i < xPlugins.size(); i++) xPlugins.get(i)->RenX_OnVersion(this, raw); } @@ -3296,6 +3310,11 @@ unsigned int RenX::Server::getVersion() const return RenX::Server::rconVersion; } +unsigned int RenX::Server::getGameVersionNumber() const +{ + return RenX::Server::gameVersionNumber; +} + const Jupiter::ReadableString &RenX::Server::getGameVersion() const { return RenX::Server::gameVersion; diff --git a/RenX.Core/RenX_Server.h b/RenX.Core/RenX_Server.h index 72696c3..2c0d841 100644 --- a/RenX.Core/RenX_Server.h +++ b/RenX.Core/RenX_Server.h @@ -944,12 +944,19 @@ namespace RenX void wipeData(); /** - * @brief Fetches the RCON version number, or 0 or none has been set. + * @brief Fetches the RCON version number, or 0 if none has been set. * * @return RCON version number */ unsigned int getVersion() const; + /** + * @brief Fetches the game version number, or 0 if none has been set. + * + * @return Game version number + */ + unsigned int getGameVersionNumber() const; + /** * @brief Fetches the game version string, or an empty string if none has been set. * @@ -1020,6 +1027,7 @@ namespace RenX size_t bot_count = 0; size_t player_rdns_resolutions_pending = 0; unsigned int rconVersion = 0; + unsigned int gameVersionNumber = 0; double crateRespawnAfterPickup = 0.0; uuid_func calc_uuid; std::chrono::steady_clock::time_point lastAttempt = std::chrono::steady_clock::now();