From 1fd32b9bb8f2eecc4005b34a83ac69be20120334 Mon Sep 17 00:00:00 2001 From: Jackz Date: Wed, 5 May 2021 19:33:54 -0500 Subject: [PATCH] Add temp ban support --- plugins/globalbans.smx | Bin 5554 -> 5840 bytes scripting/globalbans.sp | 27 +++++++++++++++++++-------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/plugins/globalbans.smx b/plugins/globalbans.smx index c299876d89569b4b98daf886e1930782a5b689ea..6ce2348ead563b3446835345109929e5c16289f5 100644 GIT binary patch delta 5686 zcmYL~XEM&2Ae3Mh7lJ@cKr@282eTq*E|5MjyMYz}k-Q6m5QBwcV3rYwKra3n z1O|gZT0tv=9Kav|WE~98LB{SwAYVXRg1AdSAPk^gLBhan13D071R0-*(61R?-t1JJb~L1112-3el<0D;I8gTvV;UX1|3Z#ZTQfdb3^ z)E_l7^$vp-c@g$V-@6`n=CnDaxzBfbjc#ki)TJh?D4V&cj`x-={vL6=O{(-eS}AEf z)SQy|SuC|c@%nlr?Z}N{{&ihFN*PIaEpeM?1c{l`Bxyyooy9C!LCb9tXHLGk^rdSj z!AF1E4}<@-|2fQRl5c(tyx%5QLR%*zI%JD(_~&dm3oEet=WO0r>e`aTO0eNcsIE$( z){|(Dm&dVe_!=mn6JcM(#x;X3f_hA#agtaBlzRpp4~6G->AXB_24 z*k8N;vC!r6u6ar9;=h(UF2`O}ITL84)W373K&?^eVks;D_BM*hok4?hXF?OETrh=Q zelEvEY;O%Bz@2YUUA02t6s( zeE*J%Om!UzrfS!S;6|Yf*cQgnqpruslGuy8*oiN_9jdxBJn+jqxD&6G+`aA-Kn(qj zjyu}9T%EnCVN!pQ><>U%*^!=aE|w7W#|G<)Y~xpP=Q8?b@ojuF%`x@@N2x4^#|5nW zkzhHFTagDZ$4JAR87uq$?w;1$t+7kLvYAuYhIetcyj=+05)#8PBxIO9wx5InGQDpf z{(#BEoeoLTZPusZWE(7dz02x>xgqcNFV(7_L%6*zq@GcaS~YeAI_A`S$@drwVvFC$ zv5!`fO}p4EM$Y&C3^M#?S#Vp4XvQ$WVCz?Qi*a7Uft$T~fJI%HG24p~--=ToiK=a< z93P2MM-BBknY4_&YR#M=k>$!+jQaF^ZQiL&!^7I}-hdcnaHfw1dyVA}U{ofd$<$@0 zGjNF`b7pFRd7v6$8hg_!)^yWHx^kxxE?tV(;JM)aveXm2OgP%MtzU6EsOyo|i8{1j zm|E6uB`VMNm2pzA3f4}W&7sO6P2RGl8jQNEdu^Vk%F!KmJ>a%BHH{wsjb?irKfj6( zVY`&b@m}BZkLY+*on2N8IP%ETs%JwtkDTPXT4YX_>zbc4ODWuYHK#Aq;z}VSu(4 z%l3*t;9^g>d;|`2UGZ&v12qX0z%|9$50+J7rqwdDtjMf=D%*Jrpz(wIE9d#Q@i>e1 zvwWe=`R#DKfEMB@FacF^5!dYG7 z%BwH3%41#2lbNQ~Bob;f2Q66bMdnNRt(~N=$>vumwAzF1O)KZpYWv&vkatJd$r2c? zRJDdDXKrk?S`}jwfQ{Y2moDcs`bDMzqjbDnl_#y0#=Rl&jvc+{cq@^{T$_%jR79nv zm6`v(_;Qsr?*74M>%dn2&*J%pGUI)}h*gSr?%V#`ZtX=W!(OJ6Z+x4Bio5SO`}%%4 zyDfPY{iMDl0@o8T|MPO%liPbiHLfUuGlsJX-@Ny|0yZ1H3*;g$85wcHrxu&jxMszG znlHUImA~7|E8SYygnf>7rE0ALj3-PMRUFz~+u zkyMf1$l2WfH%v~>6BnA+)4t`chCk(MBas#4CU=UdfwY?V&ms)3t^TIlH|>mMyy@4X z8D&t9Kc43hOS%85xkF)Zov9uL$@BnWOVF~Wrpq* zJv_fus0FI(YD>6LVw4FS^TE?8YlCUWKNxzy`ak~ILupsu22rsih0(#^SF1!^j=dok z&q;#x{-QeF8i@|Sm@o)y`Bk|;vni|TuWo$ifV9eSpBofD-?xnpZsSw1*FBAK$6aF2 z4{T%Ng3|4_9_h4KfIhlg^y}?+o#jLNoSi#GfN1{~ns~J>0I88omck#AU+1x$awM`& z&ZkYkmjX5V@}$2?^&(zuDB_aZRCzYKTvKOy;4$}xLcEllY!6{!0Fz^;yID~NNk-9% z(6EHSghFdlZypa#OO7=3Ya8s=K^%dL2W6ASDa)tx-q1SfsI*Pk3udbKGD#z!Mg7F6 z0kit-och)#FV|8T%#QPaHYI2V{sH|P)>@3SoGnk%g|lLs?w6(umw_rv7jB7Z^49$@ zX3^;H^BK2M{#TbvncU{^=W`g7P-v4;sh!Akh&MA>l4|}zE%EIaEuj>e)BP+HNEv!g zx(Q;`RqGK>P#(U8P%HgAmf@ruEeFh(Nlta9lZ!;PaA}66pAOYXsB&lul*_ubq^;0h zF1DHji{m6qX93X{xp=Nfy@p>g{wtyWv0koqk@O5$%|W9R*6~EP6<0 zg7d^?mwh+Q@4SR5{(xDc0~~rMT!3g)v+amiYw+rOA?+oJM6&NVz03UlidH~h&Pkh5 zy~uja-pQ(Dg<+`w$s?LG3bi+U$~tmcwfDOSs~$~$cSbsK4QX?+_WAKui^{Rk!%DnW((Ci6dpWjpCVos zf0#8~M;L?}rI#>T;_$1foo)G}aLhsx^RalU6(4HCk+u!;IPSHDyZK3%Ot78XS=;vH6iP3Bo3{4FBr z+dPMJlqbHze7|C|^HYYX-DZ15zBdB!M^u?(&T0H;3Wt`iCPUp?hLe9XQmDF1Rmi&5 zP?i-lHnU`XB6`I=x9ms8@67JI^m6>#{Qj#__ZG~cnxXGsufcsz$=p6UgbgygtPMeV zHn#GlNz%pkFFki?mD>rRx>3OvZHeeMkRD!?p_Uw}MXsGJe5hQXRm_Pi^6n)}7BTg7 z?F>jW`jIw7zE3{PtgM};x1sGz=SwOvz#a)A@bqYS@;gR^`^0S?c7IYV;Vn+oAnEyd+u0Xl5i>6 z*S^h^u+|5fFm29#dUs-=l< zX+_8{cHMLl^k7)->s3s?EJ+NztxY~V*!5=T8Ne3j*l`fXYa}G^Lup<2@%vO5mDUIo zi42SV^M1r}$$p(;14I0qw_|o6M(CPVb?*~4Jmaqc2w0=Hg*E*&lzleI>wO@z#Mbfs zx3GYAskn%=$XscactDSY5^>;oy^@sY+nQUQ_aOR*>V)C`xd%>>i;@Q+3J0|BQ8SwyH;4A+{?!a8=51EE_{85nB%1}Qj{sj!ClQ% zXD?>9LZZg>klS$b5L28<&^$}~NA}@O0q>2EQZf8Vp+gDd)2Rgm(~Q*17?yJN8kj-~wl*#XwVw#h)(`L9CSkr|13Z+ZN>Gjfizz>(Fq$rsI*}xyj-K zg>)tTwC-Enja4Rf2A36of;Zo-_v)`Y8D6L9eI)mC!Z=1nljlM@`&kq&L*R0bIk_K1c@~m+jqOW=7 zU2fS;+L7b#^10gK?>B|Pck`4&qvfn#gv4+FuZPLJYj0w zE5xbnjF*YVy~|}MQbJg(1%fCnm^Z579Y8vp*9mJOk!6@=LN?}d#%>JROLx5O#YfNC zve2zdaxksSpaqK~!7rj=CJt4L&dJt$s3^L#WW)CF)8 zBkWHfrou+J?~S~(s=3w^PUceBLP*~ zNQt3~{(db{mE%!>SJdMs^`H7kbSXAKgR#~PL0re2619b&o|QI}VU}gy;c$ZR?S0D> z?roZXi}9yKmozCrM`}pC1PunR2fm5~UwMG*hSabt9};%BPQG+Z6*N+E_@c$Mi1c^@zzTJZXhz*}D;!AwErv_>RRX6*}#GYi609NJ6;$52Ys|MXv4 zfAm$QRJ|mNj$Vj4XI;zX?|D(x*vrG=HM{w04HcHK`nxIdk(NDHz$$kuY$^VH_L;!$ zUK~bll@LV@P#(Sbs?+Ty;|Pzc5;>{+Z-z+msOwx<=-nDdT`nxmXq@YZ2V-!}ftj+v zfeebPydy??l|qrmlWduYBR)FU4;RYS^PBR`yKeFm$#%NphokS30fsH2Z2?pkqGh2 zL>&sWdx zHhSx|$0otWPO?1Czs~n}F(f9fiXbn(B@C6_!jjJ3JvAWfX@nC6_fG7a$M)6pEr{N> z*5`1WjON%DCF$9Gjff?G@nCFSHPt{|J?tKo%UEDW-yq?Aoro<%T$r=|7}0X#iV76q zlBp^$V5yKnva>esWl?5k3HkSTR#=J)%B4AA62ovug-%f0Ta=41Pwz!iysYTDc7M&o zD8PfoZ|jVU1k}~F zYR#70W$*NZqMeslDNY~aD|9PLixtT2j?f_(tGsQkd-$|ZU@7*twSnTgz8tE9nXoY3 z`bOCEA!!EB1*!i$-YE)gM$*2w9qjcxxfS_fYxPc%!xawVWYmO~@7XfkAdDW;c;q37 zKyKA!-V(g9C<*1t)#A}TZQ_~a=-!T71iyUF0k3&i?F!#+S&*s#qY9OeF|}=@bHi^pJta|JlR_ zflz|}?F|UTofZP20sR&f0x<&#zJWXxfIw71@_>p2y*o${kUj8NpnyQcKtCo5fgFL9 z1vLN$nm}rTiWG+ckR{L-|AlUW*(zq`IW<@|s4Lme5FOI^0y=@R6L` z-mgClI_#D^%nBmb6S>#pr&Sa{H>x{R2Z@l#-YHwMAp+93iLO; zlL*P2I&=sHwg#(-QkP|L{^1lML8<3m+K3hSGuGgN|Ee}osJOK8R^tmrNuad@+J-H* zQbkDt)Gf|!S6nW;tRwv&zL)$zy?@vE- z9$8NHeqZ0nr6G12%5z$F6CE}>Gg@{-`AYtTSz*hSlUyV5L&Jh*x_a?+DyjyCo~#XM4bXEOkg2fbO}t{n*GEt~|0a;NZD zu&pBNCE%9%+*>S^=d#t?^Txt!>orlE7!M|Fv(V^^d_IlL@%sVNglTjm+m|>GTRThp zXSg4`9*Ry1Pa_)ArM#sC8qyP;-gi}B4OrIddgZXW9h~`mtOSNczgL9o%v1~eXKCBd zYHM~6GR^?^PxSiIGGlx_Fa-UC04x3wwb+1ui6$OclvuQixT1#<{&M8+< zv~*OiqFsGRG=YtM-S0;_?I=14N20B>MC*5Ky(F{}N zkxFQTaiYM=;lJZRtCJ@8_{zNC)^WzZ8r?o9nwkAY zu~(!zZ=*i_1PNt(oS)wG-`n&p2Bq{Tdnd9BHaur?fuYTwDpdnA_5o(jr$SDZNWjh6 zd77iIrL@-C80nThDN-MDsw(4d^qZ>->fYFCfL&a-wZkIdmH*xtT-(T(woz=IDcRhW zoUoYUEWKU?;oOd$c;x_pnSbC|tps#VP3iF|#Fv;fqn>JIPyHsJziyUaNSEwoDsCmR z9CjL2Odtd~N;;^h$Qz41HN`C(R%Y$*hSg3%7E;9>2LkgZUX|VBPC2Qb4#ACpQ`y$c>9h`rDA4p$wOWiE1qphbJ19IgzU%3-w$&-7n@i$cPs$r-s-zX z3v3#FZ`h3-CG5Et*^XYHRfzoK+z^_jcS#MW>P{v@7IXBaUaMv9tnuGxe{UWab+C4i zwUNhedtCzS90DkE`=seT;)YI_5{A+AOS2x{)Tv}PuJ4|xDs|S3!k~&kus-6#% z`Q9D36uL*5=Z^Em!JQY#9C3jE>l?m2JIvF8uWuZ@uq_yzJiIX-B6Kf%yr%GoOZieT z@QGu|{PIw>nx}FNQtXg!jXL?WXG+8rHsup?+iD+Dly= z`^5v72o9`1*6tRBcNE!#MLBV)!d=OxgzgcO0xNO$u$?ycB>Jx0;Ctb~{2d3HJ}Nsy zWp@6ae)gvKzoPu_C6))AKjYdGN*<_T8~A`2`&l$x@g=;!({=lyhY(A#%T?d?p)1S% zjo+3}HcEx~|nj!7k)ZBo0M77keIIi z$?SfRR!Hk%Bc=-2qeLb3-~PEAeZb~p=~yYr8Eq@gwZZ8{b;z^A>4W_4pCH5ZxZMnlS99^A5*`?iBq6N?KN4dZh4xKK20k5L16b)gA7=TiWKl{BXvK z_+7@Ff1Q%;k4Yuo;T!j?!b^IIR+clQ-_gaOxyod{eq4vKd9NbA{v=|K%FEP9bt2V8 zMnC1G2y0uaxXO32O8?`jH>SbR zifR+x{KYBb6h%0RzVAoL6!>%Zni%!JxP_H;1yix19n$y&xplhi$j(ULx&2^X?W7s2 zRm5R=$*-S{8z+AisOC$u@`6^q{3rEOYlt@R+@P5Uz_j6mvQPWkd$AKb%@3v3QrG>W ztT6|ft2@5I+;b-xq&ciTQ)@>DGOme#M(}W2qW%zRHFVe~i=EqvwNaT@G7LysfgAH8 zoPV}I9`dI{7;@8{|Oaw`BcrKQ-j|%IIC{TGvv+E*ZH73 zMB=2$Z3@#@ou~|@1YtcE)8dnZnMPypC;Qwb3FsU4&|X8WX7xKy2bJ(eI<>POE*eZ+ zwGU%AlhRy~7VqRrs{#k9g4o*lt@BgLN2f{vn+T)EuWiwNJmw9TQ4frCx2sGN18*_^ z`!%ZD{Mfu}?Agxe;^stCy7+P9U5;xqpcsE%8uhbaJ zyE`k@Um|eC!_MZJz-QBse*BEDsGmesn{V~ZJ?D<-pk0@8s>u+{W7Z2B{}9uoL6P_N z0FW}!;owq`HEI7GFUZxC6i4T1Llq=U=074#C@{b`cdAL;m5l41`iR*Le6}9vEtj16 zWNT;T?av@;_VNhVTCb%Z-kV(<%c8x{lV?fG zED%S@N@;^AFmlMw^M>;wpKM7@`+e4Z4!qM#m^I6>+<9`aSm2;~82@HtID8Nl>r)_* zSZMdeQcyz6^^+h?hPv^1QZFv*BUM{4BHH!Sdh^uOGqu%=BG(abXPvIUQ;*uJ$9b|_ zrrQV%nfITVxPB((`u_0Y-fdGZmzUFkr=osm$8IX0dXlUog5D?An!DeNIBF7c-~mLq zpfZJSO(kAj#5y{{wZtQfUkWr#j~*{-yI5lL)_&=p7Or|)B)hj2$A6-T-xo^!oAp4p zlaRb4Q*I$gMB0ROm*5I2e0!WUGad`^#H#rMUBvY?QynCj+)*oz>;E#1~zO&_c}i_c4^f zw%yGJVoJ(peE;%w({;5@`-c1}mq+3n9s+YZ7p9}zxXO>x#hnT6+M$x5tmGD`d&2FELV+cVGqDNQRr(sltN zZjR?=WsqcoYJ;-(d)FaCoPHi*omL`wUtBg;^}9_ z&GFP$tO+7i#^^lREaa&3;ZbJ7tM!f3kKR!=I?oLOm6hHTI8S5%x^7=bh*SD%{|pVz<4g8l8uL_vWrzvq0D^+a0P^ z;`?e%K*JARs8tpW%}0HHWn{v(jt@~Vg88vRl^#knCykQFvIvKgQQ+{T^& zB8V4=E;bqra0|fh1JQRyF#r@{JiOQ+-SI2J`S9uO=ri%#@@J+|@)sPAVJirAi>kM+ zAHTee3E;%Gc4bCF>nvbit>NM}F!7ri?^k3hu4m$+D~r#cV7_j%T_G}@L6-!iNUTc& z#~wZKJ)*<@DLLrl;?XO&mLjOc9`}`NoU@ll_rt`2N8Z~i8ljkrOGi=ayk}Le(8w0D zqo{LXFdqr#XT~F*OlV>*_*AEm(8` zSgcNXQ`h3kk6K)3R2jd#UQPB24VDh$1)Egh8l>Wc?akL#$YFSIH9Xvt#}FCj9!fvb zC3SPP^jg8a>9O=o&3pK{1`( zT@nav?7%Y0>JQazTeQq}$>3yWZjTDIA#xb?BaL0*C_ilgb}f{>kQtk4gT5NY0pGIr z)NDC`x@0!q@HN=u|9+!BWBwqSR-a#c? z=C!PcXEb9o)5g>7$$hC3(q-#sok8O{6Q>k4e)rKeOt8aG=dQ|8;tU(9E5&iTpP5@y z=opk<@9XUWxv=0x=}@WOpd4L+i{}GWSoj}dSu9$;`94>6RAhDxYyrPJP+u|5l;KQdno%jrXMPAVOmrrc z@0ep$sG4hbpAu4M0+7CUcAmqjTFKOyDKQU*8P5QU0ZS@vbUW>_W{=t)b(#vMPy$$= za#OwhL%f62Y)g?L2U7hNbj!B3*NS?;m|edqqGNkEMO zwE-N9#-8tzF^!kMrc1|5w_ZHf&PWewg$@`Ea^$Y9o{G)07coJ<+o`oejSyvSErRiz ztWlzo$+S)~g4#arLzh>BwM%gPj0}9HbTwXD!FDV&4UrQ(CmD-3HFyJa%QDhw$v{$~X9fbdbI!10{rQgunlme2C;{XbQgm+zw&B!9dfp5)J6 z-lZj{A)Q)Z9uIEec8PVir2-zLS#>TB*j!yS8j`Lsr8=fG ptMN(}qWe>@b6Gl3YSaIXC@s5_n^yn; diff --git a/scripting/globalbans.sp b/scripting/globalbans.sp index 7e3fcb2..c0ec4a0 100644 --- a/scripting/globalbans.sp +++ b/scripting/globalbans.sp @@ -61,7 +61,7 @@ public void OnClientAuthorized(int client, const char[] auth) { if(!StrEqual(auth, "BOT", true)) { char query[128], ip[32]; GetClientIP(client, ip, sizeof(ip)); - Format(query, sizeof(query), "SELECT steamid, ip, reason, timestamp, time FROM bans WHERE `steamid` = '%s' OR ip = '?'", auth, ip); + Format(query, sizeof(query), "SELECT reason, steamid, case when `time` = 0 then 1 else TIMESTAMPDIFF(MINUTE,timestamp,CURRENT_TIMESTAMP()) > `time` end as IsCurrentlyBanned FROM bans WHERE `steamid` = '%s' OR ip = '?'", auth, ip); g_db.Query(DB_OnConnectCheck, query, GetClientUserId(client), DBPrio_High); } } @@ -129,6 +129,8 @@ public Action OnRemoveBan(const char[] identity, int flags, const char[] command /////////////////////////////////////////////////////////////////////////////// // DB Callbacks /////////////////////////////////////////////////////////////////////////////// + [globalbans.smx] DB_OnConnectCheck returned error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Is' at line 1 +L 05/05/2021 - 19:07:07: [abm.smx] AUTH ID: STEAM_1:1:56736611, (Klayjub) ADDED TO QDB. public void DB_OnConnectCheck(Database db, DBResultSet results, const char[] error, int user) { int client = GetClientOfUserId(user); @@ -142,14 +144,23 @@ public void DB_OnConnectCheck(Database db, DBResultSet results, const char[] err //No failure, check the data. if(results.RowCount > 0 && client) { results.FetchRow(); - char reason[128]; + char reason[128], isStillBanned[2]; DBResult result; - results.FetchString(2, reason, sizeof(reason), result); - //TODO: Implement temp bans - if(result == DBVal_Data) - KickClient(client, "You have been banned: %s", reason); - else - KickClient(client, "You have been banned from this server."); + results.FetchString(0, reason, sizeof(reason), result); + results.FetchString(2, isStillBanned, sizeof(isStillBanned)); + bool isBanned = StrEqual(isStillBanned, "1"); + if(isBanned) { + if(result == DBVal_Data) + KickClient(client, "You have been banned: %s", reason); + else + KickClient(client, "You have been banned from this server."); + }else{ + char steamid[32]; + char query[128]; + results.FetchString(1, steamid, sizeof(steamid)); + Format(query, sizeof(query), "DELETE FROM `bans` WHERE steamid = '%s'", steamid); + g_db.Query(DB_OnRemoveBanQuery, query); + } } } }