From ed7cd2077b8d45947711a726295c329e95b806fe Mon Sep 17 00:00:00 2001 From: Victor Westerlund Date: Tue, 17 Nov 2020 05:17:14 +0100 Subject: [PATCH] Ready for backend hook Client-side script 'start.py' is now ready for a backend hook. The only thing remaining to do on the client-side is to add the actual initializer of labylib. Added support for "us.mineplex.com" in 'servers.json' --- .gitignore | 1 + backend/background.png | Bin 0 -> 713 bytes backend/render.php | 0 backend/servers.json | 0 backend/tags/us.mineplex.com/rank_admin.png | Bin 0 -> 6920 bytes backend/tags/us.mineplex.com/rank_eternal.png | Bin 0 -> 7720 bytes backend/tags/us.mineplex.com/rank_hero.png | Bin 0 -> 6934 bytes .../tags/us.mineplex.com/rank_immortal.png | Bin 0 -> 9299 bytes backend/tags/us.mineplex.com/rank_leader.png | Bin 0 -> 7302 bytes backend/tags/us.mineplex.com/rank_legend.png | Bin 0 -> 7354 bytes backend/tags/us.mineplex.com/rank_mod.png | Bin 0 -> 7141 bytes backend/tags/us.mineplex.com/rank_owner.png | Bin 0 -> 7254 bytes backend/tags/us.mineplex.com/rank_srmod.png | Bin 0 -> 7639 bytes backend/tags/us.mineplex.com/rank_titan.png | Bin 0 -> 6637 bytes backend/tags/us.mineplex.com/rank_trainee.png | Bin 0 -> 8703 bytes backend/tags/us.mineplex.com/rank_ultra.png | Bin 0 -> 7032 bytes render/background.png | Bin 239 -> 0 bytes servers.json | 40 +++++- start.py | 119 +++++++++++++++--- 19 files changed, 138 insertions(+), 22 deletions(-) create mode 100644 .gitignore create mode 100644 backend/background.png create mode 100644 backend/render.php create mode 100644 backend/servers.json create mode 100644 backend/tags/us.mineplex.com/rank_admin.png create mode 100644 backend/tags/us.mineplex.com/rank_eternal.png create mode 100644 backend/tags/us.mineplex.com/rank_hero.png create mode 100644 backend/tags/us.mineplex.com/rank_immortal.png create mode 100644 backend/tags/us.mineplex.com/rank_leader.png create mode 100644 backend/tags/us.mineplex.com/rank_legend.png create mode 100644 backend/tags/us.mineplex.com/rank_mod.png create mode 100644 backend/tags/us.mineplex.com/rank_owner.png create mode 100644 backend/tags/us.mineplex.com/rank_srmod.png create mode 100644 backend/tags/us.mineplex.com/rank_titan.png create mode 100644 backend/tags/us.mineplex.com/rank_trainee.png create mode 100644 backend/tags/us.mineplex.com/rank_ultra.png delete mode 100644 render/background.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f00e561 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.cache.png \ No newline at end of file diff --git a/backend/background.png b/backend/background.png new file mode 100644 index 0000000000000000000000000000000000000000..39e67aa5cb6ae58a92982ac85e3735eee905df0f GIT binary patch literal 713 zcmeAS@N?(olHy`uVBq!ia0y~yU`z&LVGd@X$Q8TkLO_bKILO_JVcj{Imp~3nx}&cn z1H;CC?mvmFKt5Z5Plzj!27;yOJI@0trjj7P;QtIyw;Ol?d7K3vk;M!Qe1}1p@p%4< z6rc(_PZ!6KinzBI3>g_1cn&YPy8q?M2i!tCTwmW9g`**WHv}SX%dwxT&3w~s4oo`? N44$rjF6*2UngB9C4($K{ literal 0 HcmV?d00001 diff --git a/backend/render.php b/backend/render.php new file mode 100644 index 0000000..e69de29 diff --git a/backend/servers.json b/backend/servers.json new file mode 100644 index 0000000..e69de29 diff --git a/backend/tags/us.mineplex.com/rank_admin.png b/backend/tags/us.mineplex.com/rank_admin.png new file mode 100644 index 0000000000000000000000000000000000000000..51146612223984567b6987d66b8c4e042871b242 GIT binary patch literal 6920 zcmV+j8~5aiP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D8l6c*K~#8N?OX|z zTveI=Yp?F=>U~eINvFHBkew_95HS!KP-l=4lp~8lL}hYZj*Jc*WCopKT#pVq>Hvy@ z%m|D`A|%8>LLdnV*&rmL6SDW->8+}3?W&sZyRTl=tLi1y9gbtp$p<&@zW45X_ult^ z_h0V4)h3w){ycA9GY)Hzvg~GaY`@prx2CJ}-`DpKJgo}Ev1R`J6~S2SUyuzr%x24L zeSMzIy=T7r^1$G0T8RrdA8}27?!xO!%I=@zb{B-A(WqI(JS?*M>b-m4ju%n5IzR8a zl|{u5EY8a-4@RTB6hr#dioJWc@nj;HEKz@o!xx#im`t*%w^v^A_@p-`FLjD-EgEgX zi-X^iT z%ECg4K(<+CaKIaQ@!OsKYn*126T}Ud$?%m0rr3>_x}0)VQIR4VSqeM{qTZ-wGslF9 z3X(S9unQ@dBpn62GOJOh)F zF5vt_1c|b{)**6JNuju{HUTl^L}*yP-rg&)pz0jTN>D^rI%4wiqCzRL+rbM(RlZ^w z$Vx?(G5F4j;&!B5X814(coNL?#z{(0gU)u^rNnB%h|@+xdoU=cP>xN#K+^LUlwBC< z_;3`m4{4-?yld13E3MoB46=&Et@$eL{wP*{3mrb&&A@h}{XNf@Jn^&9g%^8AB94DE+2mPkAw4aPE=l#N6p zDlwmqvF;n&qJvfFWtr0J)Zb-%=3GG1bw^Fo0ok)ACI_r5WlqIpL^ovK6Amla&w!i2 zrKWg3BTSSxtB@*~VPiRx&J0K3negz=0C z?IL*14pW$ulcSPeP6zWAizRWNW%c_!vb@=BR_)TRMI<{rTU;)eDo>)4n5>USy)Hh- z^K%7d*pCm}3UiNON^ya$o93{o;6w*iXCH2Kp`CiUIC7A_q-8Th#=OA@$iv}t+8Kz7 zj}Sno*@z(n0jb1t@exaD_CXU~_oG~A1Oi9i(AaYV>!IAg`^h@_{hjqPJvS!bySZMT zxUE*2ip=u(s_F8dH&=_x0&Ox$wvrSi=&yhMOWC&VRoT4xW!bS~i+ts4tHtm4$4iO$ zd_KABu2r&g=j*DBo?d%xgKT`|CHc;G9+aY@0#%NLE-fvQmtTHCw!gVqcIHhKE#CuHYaugkXWoA8borLwX@1_lP?o_p?=UAx|pty^D}#Y+}RUtgbG zy>f*ryA^HRv2%+&^XyZS?aEedtgI}THGllQ?B26g*02Agl$4aHL31vkOli!!AkzQ_ z2^9msaT#RJz)Bx-ly!jR$dSmfDrdkg;MA0O{;bHDsKCugby`+?a0nmv3{5QZdJ~30 z&T=$34?z?g&+9|zP!CShEYdlFS|i(TmP%;TT&G2DUsfbFMNTQowjy6F#d+|NZNpM% zgLau@y?%c{7B5~TH+ZjJpCvcvXm6gzP?AP+;OQo*9R+Z7yjG4`{ zaN&IU`n_LOgq=BahIqYRsj8}!*%!^iaSDi3DVJV)iLCg@he2e&1Oh=>vh-rP>gtb3 zMMb$(S69jG*|TKo)OwJ;P%i(_B~nvcBTdbXa`|P;l_tIP(#0}mN~P4|ItjgE#g+1f zFWjZtza00<%S$mhN@W4sGH>1-2_ddHS5Q%O;=}qOTgsS9sSq;HgOZBI1~6(ZfKWzUX`hzjOs;c$<3rh$#{VKnuk5&8%s*nv`*eVTurA0CV*23x5E>VrW9 zA1Y$A%gUuyl50o(&_-7+EEg;4>gyR4Kb-l=R!a>>p{IicDk#WTbrZBMP7s&i06KEy zuGvd};Z&8|*8h7c^#qq02R6sNG-kCFJ z;#cs_Y4!LwCf(gVN?RLo_uY5OG~91*??ii!#IIsNUApW8G5`Fi0}wVj!0$`ByJ7b= zOPY!Sd?w%Mb>0bXmBjPoB2$g}QKZ>gHVIZv0vf^70*oxNlCGM<*TdZ^r<$GwLN}S zl!kXYovPjE0)A2-UO}tMJl|$Rt`NSpQD(g7$GK;8qE;c@q-DoPrbJyGKc>J3rUcQ5 zbRLkXI@snxlnddQUXD;51d~c~tO$%!Q;FLu4x3q-)^t#dgorGyvs8+3MoqfX#(0)5S%9 z)(fJJB1YmKXw~d^eoUN|sCdc8aagXMCBaI47|w`gwF`0Zg`DK)ecqwJ;=>2l{nd2% zf>HUKIR&z2^$hv%yPHzd^Y=8%XJ$FX8%!OIe0MM$6{poK)iwFzD$5ghc{1fsDUdKm z_8V={Ns*KwQK?OBaRTn%y;t7ew_oLn`ucj1QZxM)^w(z9W|2u$l8%wK!(msZmwu@Z zr_%vHG@uf}^181}Uznzu!4|=Ly5_5^t5q`rogk`i=IOJRm6b|+TZgo@CAB8CKi|o^ zR;{`NZQy-P6X)gSNn_)5^e@%*m?-#JseFu@lCsZ%kE*p;1Iuv%D8POqjUoX+lk6tFP?MbuORa#Up-*uhy%u2yKG7zvhNT%RLFIW{SDS(6FpxptFWR2Y-0 zLPttK#Mf69+GX)HmsFOy#Oij6BR4CNvhuPd41cdRXqnXF0?9%1cval&6MOgWlT$FU zIv6-{iil--G-^~P_KRAdhzuutpN;4~7z`zdN`JAVqeJDVO`9tB-FGhrhvr6fb#*1m zk-XH%Z6N;8kVbq?H!&dV>gtis&Q5iWICbijN(B3`XwgDxX=zdC#9Rba5yTDW0``nD zAp!Xx!G9@xt=AfuXH6lL8;b(~wJH~~#>BWp#lx55aD{f31S_X7IF{0VNZzwSK)9{I zBj;PwiYd?sEzPybyc(DILXlMe6eh(VHOcbJn&jbY5FjG>@Q0$}@kgWxM1Jb7M)}tp zY9)rUQG78T^~6REdV&a~NS1hI69Bd8^yv*M;wKmo?RfJoXs)EzVxU6eB!~*q5bQ6n z>7coeAmGr!xlX=65I5g^?$Dt_ijaKIvSmxvkvMqpU}74K+A}xTExl)Ym5-}~n$`o2 z-3s4T*UY)Oxw3WZR+T4Ku3VYor*f8o8sFH?$$(E&TkyAHI;u7$Sf%0wj_D0c*J2bC%cqwMqnAzPSyGXYXxFGRjR4ci9TB;>&Ly*}nX+Zc zG`AGHZDJk8A0l|Q&l3`O6&aa~bdX4kE?%IBNOW~|D-!5rBPM6ScLqs=d_E#H?A(%2z(u=%2kbij7(82q|mV4aLU7m!TL(J{-rGa>PSRaiD)X zVPw!K1um^#0@B&zKJ92A5lZVTi8MljH)Wx_{uu@?URosNJtG=Uan0U(MP3UN@(|!?IPiffeV8r z64f}JbmGJ*Xu#B+ZyoSOH*ea4XEk4vgQ2>nN_zV^`_QVc5i@7aRQG85J)S{zjoQ*= zvLK+_kf?k9{P}7C5}do8J$q*2{DZ`+{S*WQ$!$+ns znhxIP9=Z&KG3K)Bs6>P|oq@yOYG)(Crcek}^P|0h!BbqGC}C1QYkC{GX{5HuAq}NY zl~0EW!nfEhIO0j%R&E9p?wO&z%!v3$1M7)F0B44VQTFU#CLQz@FIm1+%FDR_27?af zk;{~NGMY=SK2c**11EzireuE@UF!=21eZ239K>gs_soY`-?nXs?BBmX@hoQl z%=fBuq7o)O5*=2qh(6=MRVU7wcB_C&GwlSm=KgmM%J%Ks6E1<#b(uHsA~nFy1^l|2 zY&92*=Y9w&*?SGVt`v>Rjf<XRB#29Qi%2v5JPmrHMA z2*O)Xn}Z17Ho}CHoPmC?^d4xHkSCy#RoyU26ehp#aJzV0AwYdJ7=g0kU|8BbXu~MC zGr=`0SHyFSpijz!5B{@!^PBf0-KR924o2w|w$i9^5|BWHgI@6td8DtuSLV*04WDqP zx<_bppfMRTn0}J2y{%Jz@$*OJ-yVKgzV*O^@{=DwqV5^}QLaw$i;|GKrggjB($Fv! zr0$iICr_$tM00Z!&Rf-N#T#$D9>1Ezf(7%HmYuAhN{P`@a&2G#%)B;){u`yKm$S!} zRjQ;%#i()72%>_~)i``wI~yCU)CKcrMb+sI>x*j;=D86eo7xc%7|U_f_2Q}AL^HDK zTwUrt2_Nmx?@1sO5u3v*78~lqQNkhFx#H~znVd zI`-`0^A`B1$xSWPh@2hx!ynelBR~12{Oo6s!AGUm6a-I6jmo84Gki}jnGOsj%{(Xm zITOHDD{6S6zOEL;u8(}U$mgL%GevJ!3 zQTo#mBR+QPKuCV>DU`l0j|{f7%D|C!893Y~0TB4<{v6q7FA)CbAstk{eh}4z@1NOs zNrLm63^KU6L&wgYZ>gnAD+Wpw+T#7A$KrPwP1h)rkx+Ut#X#oP+isD6Sp7w{GQ`ay zI(F~gE!$z@%_c`mFh#A%#Q_G6+(<&-k?-TtX!;q{x!pO^)!7Xd(|@1vve7E<|;jVv-Bl>fm=6Fj!N9Vu5s77m^kB{y`r}RrC=fZloRF`H;6dkbG zp)uph>a;=MMCEW#NZOzk*K9m0>(;#|>(;l(x|dqy#Vu`eI$)8e%4{)#JjQ3$^U%6O zfrtzupw&HwOu#n~xex{je3Yk8pZsIv#siUy4P-!{(l?<-NLq}(aJpAzYmF8nv zE~Dz;lohuV5_&z10jM2~6ZsVtWy)OlfV{oENta;O>{;X<)ot{Pl>cE2tA z_Ps6dzWZ+cj)o;m7puA^1Ip5cHqxpx&ri+Rqz8k|XvuibiE|Ql0{Aqzn6j}t<>_0? z%ekgMW)Nir)i@_{4?qL7MpHLV(;xY;J4?NsA3PY1$XmXE^r9R)5rTEPti&Xo3P+`E+>{`w z4!R;GB}GzNRxD@mu5H`4%L^~Or0z|fR*Qd8AD&;k_9fZ2^-U>L+xZIBj6!ScX?gzn zwQ~6I5olST+78GrFj(Yr>*>>{)cyVY4-NoAccTTb}lGN63= zeLlb3>6h7AAqgXI1Z(Ut+2v3DS!iSWljDOVBu|=WG{S^il_@^la!k!PYEw z&Q&R=L?M{>-#?*t@Xwst1d^mqqVpMUQa*X|G|X~`8r&o!HD!K&p48S=sWQiporEdZ zG_4UV$NActnknc>OqJuHA+e@4)JqP8PgmjK0d0BImE)4e=~Gqk*?XoB{`E1q6b{ud zKGW3Hpt&gMBbQx|9X*j))R-vfv8`~5tinLb!n;ZJ_YlP1+pf7Px>Wczt_1DwC@oS% z<=lCO;7*?TEB5YHlg0@tgQ#D?;b+>}*}(^y{sc4hlsBw)a_e3IN87h63S@zk+AlUb zp;0D%LyHmo5y^O_n*<$ebn-DfwA*Arp&B=AaF3`_%ke(_I{kZd(+bI_T^prNT;fz4 ziDGz-awmr4^Oz*hSgr$!ukX?_mSY?B`t&wZQ|mq_&v{)(db`;WqdGDzMSYk5D2NMC><1k5tK$52C?DtM8F@C z-o}g>jAd;!`x6F9S7ftGjTNR1dEKyc^c)TiOApK&H77e(j!|666GdLF+=X<0CjMIu zi%<;NlLK6xIvtM4NhHc%FUQ;zFt-e{H)`4mf_Ez%nb%6lMiAcitr!MKplyA(pohqhUnDCquDk2^U1m%71VCMuH(3s^!r%IHM>IXSV>YW~s9P$U%AFsGT z*1vw}BrQWw)STsz#kp>onw2e1$nJfR^NG$LIThas&cB#a@32V&%FTu*t#&#UKPE|2 zu2B3J(z6McfUtBkxyVhzlDHF^V54T`54hg*4atEa9|#+g4iGU0cOVZP{8VYNEXmDL z0oDn0Zu`K190Xb0lm^zwegS`dpl?apRNJjG6G~@UUY=Asv|o*E9vFlrJ)`{;8uI51 zPy<}O8QEDf18zaC)vE36SEVxsH_5(;^mC+FztqyAHqDO850I8Wz2qN5y9Ft^@O>80 z4Df}gg8_LL+O-8lJQ@tEj&QPjWnsR2tgt}&wfv)LI|c`3zt1nnQHBIQ+mzG={AEFz z*dY{Z$hod8x!9d6{HuHeh(Dg|>6Oj#pTuzbu?|G0^_&GWUkfctOki@K;19=shx99u zGx;mZIL4(02+P$fPF?YDPAx&wr?bWdwJUwlLm=xR5b-d7D!~bATx-s8$*rX&Qf9X) z-{vj20ej(uQv>tYs%#Jmdx5k6KcL4(dNJ`2N=%2JIUnSkk9dPSplITM4O4#{E*uv! zs70qki#CJEGhphurawU~%GJ<(ibpc zfL!5xi+Kk8%$p!PYb{86F$hXCPUUej5c=aIZS8MaVzJw8X7g0;iqo}d&BU}Qf6DMO z(oc|R-p@LFHDSdC!g9YVHS7&YoOc+v5^7fjQKo$!k9D8d^9;K2&~ES0!2NY~mTHIN zK6LC31XPiue!p!~U+)f_e{-jIDET*NF5oYYg*mR}aL>MTWkKQ8Du-hj%EV+hn}2lY zp+h8=EXr}^!7aES1if*g+Z}OPEHVA>qK*UVEfRDs(l0>Hqr8|IME(zbo0gWyK&d$Z O0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D9lc3JK~#8N?OX|% zRmGV-_bt8m>xE`(prM^}BOU-FM%+uQ$5=^3BBW<7jcWx>a@SKlLwF z_1eOxfVJqw@jSfDl#W2qM%k_!d&^&cf<=!nHW^&};nfSR_Vyq0tQCQPADcEd*aylU z!ouILax$F2XA)n(=`?G?qy;D*lZQw+3ZKu1NaS|=>$CqF%i-Yq8!xxUl>PwYCk{b4 ztUET-T>EQRzORe^;L{TImpuG~xnLXd!TSho-i$z9{nE5OdtbG}VLvRZt^VHm^CF{0 z&9ovBpo8hXl}OpKBkZqlSd><_?*qOaG-aH?X9Lk_xNYQ!iQ$3)H-%3=IStd#(mmK| zX-HkW_Vuh^KKinqnwmyVgj-8Sogc{w%?^*JPMdMI!xLLP#UDx3*`~aHpx;C#NyqT8 zo+$*MA84qDwQ4zXmcIjELnG{z6q2$7(Y!p=&%Y0LD5SSwAFV?0wO0^&Z>_1-4g^%( z34F#NrDOa3sK4M`L@v1;R%SMApM^mAA%uSXW1zj=kdn#@BrWRBI|tG8E(G!m3@-@% zGm~VMqUtk9^L}F74c*{UR#0 z>0lnd;am|?kW61{GHBq)OAmY z(qwh0gS$z3CfNMG?w-3z&-gy^60OPz*j^k-+I?*98>=j1XYiCTRGsn7obS?fRgo0)wnOO1{Ho;L>L z@_o4VcRO(R?6DY{ZsWVpmf@#gD@Aid3vPU3HyR>7_+wuhp>{7QD8Td2FGAt4LL)#g zB;fk`dR%_lS8&lq7vevD^si`cZjL=oATu)qi=JAHf4bvN{P=+%;nr{7gr=sZ*wX|u zGBWVPe|rEAKk{FgfA4(UdTT6StUV%6Ert2Q3xC4zfB&Q*QCnLZzWBw<@yMgUpvy<| zNwR(P(MH_x^_$JRLxv2-;>Ay*WK0Qm@7jZ_W?zTe+By=>&$hN;?%b;||GvA)p|BZ5 zH8nN3<(Av9ckez^mIyy*&R6iWpa0Yh%IBVa9^d-bKa%{ZaWWqd7Uf-k&Y1{*=}N~> z^^=qb4$x11Ag-Vc_&p8Eci9!Na`U_zm+Zx4`l^SV%ihr+^>z)DLsG%wtIbXDQKK5a zB-SwbE75@iNmjbChP=Gl(!!BN_1~R(`;?GCGg5pgq&5wu`7v+i02B>K!+?wc&kInH zlY)W42=ar}M4oy@%#kBU;MCJjF#;bkVt7(2EF6l_qf1EUd`y}&5d#L~cgdraPyf5P z#OaQ)W5@71uiJcjzqE9$$v18K=@>bx2q#UPfRj#g(u4`)G4ssnB+Y|(^q0Rd+EU~? z{fwy?G-x1(4p!G^lXhb=TnY=bp`R-HIl< zNu6=at=~X)Rxavl>sfA9>@HBkffb<}7Ns1r=qjY8rN*8laP`%*&43b77^yO z?Y2Ac*kixt=QxE_RaRlaf`7xEciw~N{_sbnaFC>Ui2CrukK*p{eczO|fa#7q?!up5 zd>O$&iqU8;{`}V4xbvUy#ee?iFR)|hj@VsLJC0+Ig-JvPDxEN8%E|cZSHH}GRmK6v zNIHhGV@D?q0?X6S`}XZK&ju6>z*Tduij z+F~P>&yJHf0X02HCJoFAFfd9^1G5824Ju%9@_HfSw9}>^+;Id)wpHNBC&{ULD>dVx zRy0OQUQf01L5oKvJeabweI(>ErlolK||t zy$-A1c^?P%mm8liHO0|jYSX*#uEmQlzHZ8TN#(ur2CA!TjX4)dTy(HsDyu56ZtVsf zJ4zE8gIox98Y(M~&`s&uxBqmbRQ&}Rkk#-k+hgvlw zcHSe7OH>x}B_7Ult~_94tk#w!|I~mT71boa8ms#zA4inTL06ulxh;yzCg&N0AorVMI|bG6&}%dq^VX4$DKBgj`)tf6r5=B3lJF zu5T$+SJxm!bD5i)W1?&yUkC;RY&r$OZ%H8$3#g4;h`iF;sWh)5gz_i|5ls2%=`1V6 zh&*H>b~ld*;F@?rK@2+uwRAD$X1FNSYzYE5cC4COog^Uio&r2!>eR`YHR}Rw+xm$q zQy4k2$e4VQ-_N=<7+q+<8#8anEp$jpJ=07>O z>z&h{(HD(+N9>pkRjLt1pDzh&EQMu= zN~klBfzhT1)?I12-^g2>MdBoePfDHcx7w=q0FH7Otx`G)7GVA|+R6b{ZrAUh4I zq4ao4&q+s^zUrYiznNWjpYT4@78jL>w@j=^oOmT^(x=dL=4f{u~eI zI#(X3k%B5_=ftmFP$R{mkC4{&e2feEpo2m|OfAYpb9+a!f67j1iCQ@8oKie^2?In% z>n-h3G_-VJ0Eztct>f^(l_Oy@Z&Z`~Ji1AaZGA%<1F7VuiKs({4Dt}q;`I;{<&PRQ zGIkun&q{QtA!?px<{UUgO$<(v!qJYZ%Q8{A$|)`$#i)M-qi+T}#`jCssOO&hIlTGS zYk1X;BAnyzv$XqR)`q)u@{DJ# zRKGvb|A!7$F!0-ky?ghX>r+oX1?STr6+xv{4<0;V?hEIg_xUcO>=j0~>Ji7&sNHMR7^EeYk|@YVYC_lxOE+ z0N)vs+JQ4hWn$6@r3_3TosEL*AOiGlyL(G_YZ}@?uOjIKB}h#_Ntl8(XLWToYHMo^ zDJm+;jVW}WyUjO*h?O2DeDOfByk;$mzwY zr%X1a@9X4$xANB@Ns=>7KLc1J|K4#26=RRXq(`Fir5QZPKkYZVr%zXOu<>V-bSdoI zp573-1{D|LksC|#)XihC_?zRf;ELgBk3=b$?%&eDsA+6RyRkd5n}keb5&bzA>({Sm z1kdPv!4GiXefQ&m2OeaUd>~2CJ`TFUg9gQ}fW}6xAW=XXkgVQMAJmQdMXrY)`YGnm zUx54X{}$~+BL zwlqfclZ!HpsqYP%ZP65y+&6D<)GbsGiF&N5gC0O~+eEH$dx}9z44qfE0zBg`O z>{?L!Bs4ucK6+eM?UsntrW1JhvUAl9RJkfvbSV~j8%9{}`mb~4SvE~%)TWV<15z<& zP?|aK42vD^Px14}a`;$WHi^%CiliCwcL&vKv$KvhMVL3yITEOZHGX_zFN6dnb1dOX zNJ>d&pY@4^-e9WE1Tapyj_D7?gDDYJ_q=6!%WLzPere4O8#ZC-Ys>guj;U2duT>&x z<}knEu-4LJ7(QYcNp%D(R=g9Rni3&ZkD$r?P$*G?mnD(!);-dHz+cX-6KRIX%_jYE;NU#HF9UpwArkq>)b_@9WJ4HH@M&PYE_Y6Woe4a zg(7=Rt*u_Y4r|x0jonQ^q|=hH+U%W2-Lz>l?!No`_`whU6~F%Vuj5gEUS2M)z4jXH zr>mm@>jZqjl*uQXXL3o@AB~O4eG-R0o|dw6@Z`*wCZH$ch^;DdE<`1x zHFtBZbJYu2siq=~w)9rc5AfB~?=p>&cJU!fAFXqM<>&KhB_crAmMb8r-d~B8f8LJP z_6`J71Mmm^2=J)gIv>3A3ASxJLVstu&j>ws99+C;-yhxdbj~g=+5HYw*l7 zPh!!c$MMutzsCzNJcFBVo)`Dglt;^vnqPI%NZ}=lbu_9wZ<)a$=;23xj>U@?n)1A5 zh9hlg^$=C>Xzp|O?!8#P{O#CXXExyElP4N~wx+s<1I%%wL~5--?byD{XjN~tE{Mb$ zgwlj=dxS#=%dzl@XR(NG$oB0!<8!LQ4fC#}#t#@5KpR&CtziA`cfY~YPd^cB|I-Y< z<|R$p3F?C=zunGM-^6-E^5)<)vUkCIwlus5ZLG_2nfe8C@Z{Ke9NlSDZ4}V*$Z^2N zWMslNW-qyNEt#r;&IJk0PSzT{JC`b-bYLimQ;ISf6m@O5pW5$GT{|9Y$VW|81L}7i zLfx(k)a@)sD+#=~HVYe5@{ra|>!o~KNYsX;U1gfxilDfpm=U!@It`%d)2HE@xmTH` zMWrjgcsaGq911Y~vAYRq!;AV|0iX-H z2R;%v90@b>-)HtOm~S97C3ogoGmPoi9tAeiH+r{6^lJ0(VFuRwZ+oay9!B}9^_$z-XUKJI8?3#d_}T8Z#-O@0~8saya9 zH7+N|{I140nS{uBT5&c;49Y;1o#^L>xG9iE!PC3kd9)qn)QT@J--Bh#wqw~FJFsl& z4!r(uIS#h^QCgS*i(1zEu6dtYx2d%Q^;C*pZzIZ1_AZ_FgnC*7`IVY<(Zs$4q{(m> zGKa2TsBx!Y%B#V;gUI41dDtOU6;tRhs%-Xg8LR z`K5(dta!VNRvpcO==#PkGy~wQwgpkPXTRAfqfIz2uIHeT1=+i|EOw_Ww25cNjA>>j zA^{swS=4mNpB=$^HTmz8W|mJH2YWJ=vd`3D?-NmlYstl=jnzp#Y+ZS^*7SQ0qP&o> zI7)rHb|FR4X{>Y1yc#>Dea1}Z9`kAAbYRP71VmtJpLTNioPic5Me9*VU$eQQCZ1ZD z+AEG?$*wkRtM_4RdkR)JrD098QYzkSNHNn+UnmG8gQl^eJn^nl`{8OFI8=)zR1hZW z@6-9x(ALA$R0VB0X8Nh> zNF}xG3e?k295c4q_=uY0ec_KUQ7e|2wsk~0D0>E?d{^zRI9!3}o_zrk4#=XSVe~QU z`JIRHrx%xC{rZoLwwET&VIA4o879a&%y-tU`;dd=Bf3Qcc(0B34kz`E%HFhj3zjZ@ z)9ep${a-DMwht>r=7$BAyo8YPu~?K?!G_3pt-o)9*_W!(X4lmq?de6x z{P?fNr;U(6!vbMklGV)CkjPGnacGmuvgQozYw;n-B0E3V`)8%KU{ZQJ!aVnaMh1ti z6uefOPIHlXQ<_GmSNk{%3x_0|u^6;YURzslOr)zdBMdTz4I7HWVOsf#VCRl93cQ7% z?>v|J7x{B?L;UovLJ-+Cv0hPLX?)nRV@r%*E7I)PzQ^Q|=FZE@p=(lP0!MA*+qJXI z%+HpN8*TO#Xlvf~Pj(sYtvc1dv3!=9>1cZeg`aHOg`q+hs%( zHU72+md>RiH~n?1S+JNgWum#~&OivNL;bXM%XSWyHsi0WZu5-y8_u4I_OH%?rOhmq zYk-v3d}#aFDelJVxRgoMZ}adg=c*5gHN;xA0-={) zflp>Zqevg3#(np@2v3~k{2I|E^q=2xYE%a>TO?6^7wAVMUenzfB4|%zQ?I31o$2ks z`HfJ|oh4$q^P(;ye5WJ!jx>`?Vi(f73cPxP$fYtx1b1~xW$2z;mI$GNAn2az5hniKd#^L$MP~0a!O5SJbkBue_15bWPK5H7)49Fg=PFyz zz4dgLl1NHO)*aN$(V;`+fIBi}8Gh|2aCtzOeA!u!Wp(rQ54XhPrg$(lhe>O2{YU-) zbmZkFH-aA)-2REttj;wFJ(#95FE>Hx6Zq_cGK}Qs!5$b}!WG%+Rt0zNG|DRu3xGvd}OSKqRf8(A=2gLBTOI8rq*#R2hD&c!T0WSek-Gf%RKR;A~By; zc}}Fya3bjpu$52YjXC}Xj2#Zxk|3znmu2Gp*ucQk9yS8eQ%{3E0fKG&{+ zb&#a?k*s?E1pa;@B@?CMDH%tS&H!@r70EF%xGX;i>#b$5s$x66QqvKgdJ61PYEez{ z>-S`z-t2E-`YqE7afXnvn!(o26%kg%P5w>6@gTCvXKil-j#R<-(FRy$S^?p`%n+jI z&w@REf-|zTELc|yAGNTxRcp^2m7OBX6ZkuUrsXJGd-5rWPM!kj?={fflf0~rAH%n5 z1?A~%y0J%$GFlW2oDD%ue9~`{YX0tZrpK7xwjchfna}H1m65dLc+ek1yN)Tb)A)FB zHKXR~TBuza1&WMltTQITK79tFGtY8NKFtN1n_+F+LJjsoz6sDV!0$@7+=#;4mEh_nn3;iRhRPr-SkCU8w)J%`$VX zas?_Y;G=)b_v+ahPona06-~zp75jgQXf$k(7%>5%oU3Wt1JSXiW?IphdYW;ovho$* z(pNvU3kv4(y2Q@Ur>14(pFu6Ezbhd0jilN}_9oNAOfv5p8NH&Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D8mmb}K~#8N?OX|% zRK>OaZ|~E~tPHa+%rL;PDT^o~1`Q}NqR|jF5)~pQ8ht)rR6b)=654bf%6cq6 zw;(eZ3~-iA^8Mm{)=&9lFgRVJzCeeca9WZiR2-?mHuok}8IEq)Y}~NUBe}F1XuYd* z-di}{c>Z)BypV%34jkH#ZJ|y6llrPRwirLyLznBN)2qTc{0k67z<-JF@^Pi!iML;F zy3$lSx)dQf1hdA1b&kKSzo%i*T1uO=(E2a;&b_?QS3G~F{+lQrGnS|jqB2WfIgmjmVcuMiRgr5n>s z7e{U`2V^w58c?A>1RZ_OCITTDelja~Qi)FUkv%G(MsI!%LDZ!f|B+>{54mUR6Yu$4*b_XqIo zvrppl&v#(crgbPR%!kjXOmR-93)ft870Sv!!Ja)k@co-_KwEn=uDD`0zS#d6KK*PP zc73`vM)n^l!_uV>Q@K{mne$ET-n|{$w||6f+djm$?H^+MCm&(UmW_Dwsbxq`PJ+kd z6`joF_4|EzaLIq6?DJ3X>F#aVxoZpdP`%z;_cmsI;}Svcq1LY4hdiyH3{?pwB#26y zG*_Povt*^&RT;>vc{{Xis0mgh;Pyuom9c<0l@m@6h{3StCXzxWsZ`eI@u3zch0UT8 zFaSUD^!emOrHjgQ<-A@mj%z9-FK{-%onba;kWJb&k^Ibs)6 zK7dp`O~Gf-Z%hu0#f)#vnu+{^d`zA)3B%IUBASym-o*1Jps08R3P%)R!uWBN>qkLB z9@5i?AvZS%d3m`plA4-=aiScVNEc2<@yH^Sjva%s<4Q4hY$-}h$6(Ur^YOp~_u>8Z z?;txnOAHJ*Y0RHJ{2+ey_)?K)G8$ndNlHq@tXY?09hJTJ-n+%%8A`D7@k>4&l`0VM z5m8wgkxot5W*}9YDwLI4&L??MtvOCy=|R*~lEq4LV8lgKVtxW0?orOdpl1eXx;d$# z(IR!*C0xmDT`o)-lQ09gvM#R+O`3)Xna?J88V>3WxbmW0BpQfV20i9X$)qU=Xm7E@ zP4;n2^9&MVK$sJdoRTcgeLgQ-LT`HafSN^ID$ z9((uhjhGNmJ-rMwXI>1qd+5!822CxzevjZnh-Xr53UWxR@=U6NIZ&rL2`{yqC>V>y z#I5vjx?jZ0oOvYUm81eDAZyANO`|wd!4*r_4W}E2^GKU@`r6T^ZKXVR_jcA~>iPwmk@@k7z5R+tma;+%=)A`)<1P=O@0 znu>rD*cR8R*u42;-2c-D@$-it74pFSOYr;Oy+GB~!eMuWO98dD_4wICOYzJzzon^v zOE?!ek2E$vXUfz`q&?XJV^TL^@#4GiB>9lED z;r6*jYjeLF$e|ieT9sp~DmWC`&gDp1(WnpSMvzN#qmt|&@e=jk@G%0`G@gJ5cF9gR ziDd#$`w@gBbObwuO{0-}K8~xdCnlv^b>tYuO1e!4qh8a?`%wdsD)Z5tUQ^zT=0o*p zJ{&7;2T$Tatp{DaZgNIMmB}fxM9Apzc!Wk}A~G35BzkgwRH%+tw4GR0brNg;zK%5I zMj`LKvmPf-)DWq3q$#_?r2v!3MB29#d&>5a#;p$LlEavm28-Duw706U`FP}TB@y&< zY~8vOhYlSQ`HTyuP9fViIZ~IQ028%S(+-Eg-?qE4Jmb#{gv!d8hcr@}=J*;Nx$ zu=d_k{Q1t&G4k#`V{pqjBf7|7j|Sh{OWvkQr$JtRGAtQMuw`~ja!v~TG!5>o3!M>3 z88T@H_THIP3=RkJAYt#F37kmwp@ohrR87hnMuo**;(RE; zN~cTef<0)5BrA=~ZjCptNbFbuqH{^*KyiwpV)h$Z0Z^WZf?+YJez}nqI5BE?d zVu(t%n^j{IRTcS^;MIzt#71{du$GuM!iqGj9;p^xx6pZ_LBfPo8M&#(7>9_-mz!$9 zv|l_t z!{1W*@RS?fCkqzbC?Wtmc5cS!dw1gZ&;KT(8SOOntK??#&7XfA=FFap*|TShJcgcZ za1L3uwzNfv&318icDB%(e6OaaX7c!z?@T762wicsVyM7<>nG*o3DMvPzbhZCMAT?L zNJMClhKL&U3eKG3P^n<8+HF7ef_{lg7hg(;S<2a|ARCgb!GJ`gHawz~s!C+5@H5rg z%T&roij_Mswvudv4o}qM{Co>svl7mQ&o7)$H!yQB#5&6v@ zjlz@H7l=S|h*-==RoJk#JG|sbal?ckcA8)O`AgG9V{By0^-@VcdE}!r6OfgxCt~*T62!DjV-Ob< zS};D3#f%G!Z5U?LLr1o4Z&z_{yTeD*O?*>Ee_+BTM-i2^m(%H_DcB{BEUI>7M4YIo z-eae;y}cbB9Ua2PB5^K+1AQ4&GyJ)PlrtkCB z;{!WWNy%bsgTPl`eT85A;+J^*@h5~l_SjMpdQ#Cn^>^2;tZWaKEO`izKDrbSKm2nn z`{fg)1^q-Mt%!N5b|<5`xhcjmVlX*{<3*%q&8i~5Adl|Bt7YV{ws)eowkG@yNP8Cw z+c`3D{z-_oPgV4m*9+JW>Qk%sr*JrK+OI-l$B92`HFzX(+E1UzsG@^L(srMR!To3= zkA7mlSxoi)fkT!YVq)8LK<9{uH+4>{le9Pyb)ez{fk}`?Ubl*qCu{NYODpio%PaB9 zE3eV3^;XBG%@8C-Ex~`6wPNnXOaV6Qqiw4KnxU$jUO(O+qMvNS8 z66sSRkyorW5W$(5^mW+uq)CJ-O`1qU9)EA(#*(RXTAcwZd!{s{XHh*eGKPoGc*)c$ z2;=wj?o7q*HW<4D{-IvNQ%p*}4-=DxJ$nYHeO{k1BUG?i`SIrM*!RW0a1Ob|w=NJ1 z4qmTcECi@AQg)_zm5XgrHXmwh>LP)Do7E~-xma@#4P-$+1IX5<_h9h<&X7}ZKn16H z9|&`W-**69LEO6}oQ^?XG-qaa$6R^?U1^j|(94FHigB>FGt?n&%=xShO;Q51GTW`) z<$TnklMAfm;p=-$;Y?0XM;F=-*23rTC}b61kiA1wetShdx@y}Z4HN?^>!%K_bMPjJ zaNcQx$;Q(&d*dpYsN5x5GFSNiJS9g5{3C((D57#Te14wd72$iZ_s-gmi4?u$nVFSA z(|aqCb!$W$jvqf3^X6Rzr^_K01yrYrSIn;Z_FTB!4z#tmpwsRUp)VCV*;$c+bGE^6 z$90-j)A%$o80i<}~kL)oW-lQ-ehh;6Bi+U(|!B#OORa+^n4S2MGy!v)G>) zTd@#Yf?+#~v#FP?8fy<#0 zVY1_zi9|ie8Eblv$Bzb=d`2r$3~p2o10^MP+o&8)Qo(J`+LFUTDk5>zsMnf)@kLnm z=9_r^^;dW$vwM)AWw3+9droaSYMbyQ_?7KJdS(=@WFoOKWDH7;KZKC+aaN z-$G7N?6nLnb#`s14}Wr`qP@uhdwDH7D@l`7)WJgpUfp5E0YeH*z0{uj#Z5$Y(2N&n z!}JLzDr-xt%@)pKqT0hL25a0{jT#|pRGV<{op)7z?}qDz%>UkX`0o7g;L5qP$wuvp z2`h2X-)c3Zvhp~#Zrv8n1unes0@9vWk~4P%8#a7E_Nd}GB_x<|7m;|yikC$h74`KE z*s)_*Ox?~V*o#jJrNCxL5@Zy4)Lv~tUMlZycvf5%*$Rt+lu~>h!WE9)S3-#CYGN`Q zV{z?h;f^p8QB!4JGVAUXwndu)jpWgXJB(f;*_eXV5dS1anHHIxQ%2a3H{6U6*=t$@ zY0R+bOnNfUL#Sx+p^miT+RewXapMte{Gc2gHbR!xKGO(~Ie?r4?T2NJ~qAXBEjL&+fUvv?KCZtudDE!&82 zb>VMFtKNBs2z71Vv=wXCtci&>oQfwNe;U=*Cq&$LD8K|vkyByTD>EwhyGM4TAy`N4 z-o4DiVaa47w3%juDE?d$ZvHdtVP4bk*NIXg3}ez-|z)x-QSx3$Aj*L^LEub~YmYdi2BDIDSTp8;8gv*Yujpn&&I z$kg#w`0#_xsHiw9G^zT1;fQ?VWe6uup1|6*>rh@^MRsi(N=l08nrfUlae_SmlQGiN z)P%pi{Vu-zvYb5oTv5KZwif&M@5kTQz8|(--AGAE6t-$ZLxZ@_mMxzMJGG78y`{B@ zNZuy2IG1rcyQppzBJTS7Ypcc5Z5$5FX~8e~ae;3JE>FDzS`#_9)Z09hzS{93yyW@w z3MGRVgr<2f!KKOHgn|5#IBZk~k9_(0`X@Iir%@ay2J`S{SCfCdHy}gIiM%F+2T*Xp9~?-{h`O)48* zW>mX1{4>=a-}Ch|Om2)%@WD^%Xy~YPgJi(_9SPKUaWzW6VCN_;Ed>QcCXT6ASJ#M` zW%myK5P9Djh9t25Ais?~ZRU-&0_5%=+dEY=$Q32A1rHX;$^>}dTa0O~k)WJx0^H7nLdxTmZ z_q!g&t;LI>F-zny8F0Y64-0CqrEe7t%SYbwcYoJoSWvtWIxEeUVbdrMu%k1nc%N0o z+#+v6M7@g+FDhs8fn#W8M?S+6?N7uuKGv$Day`O3LsZD@Ou=MjVlmjukKSv_V1lYUm3XSLKc801u_N`A_Yb&i%xuWofqx5j3YHO3mvTb1IFYpH#^`uJS7#Wq zQQ$99*8B-fLRS6dzQg2oE8z&OL4y&7Vx$I#i6vJCd*nv;2>XzM>`Q$w*QjzfNy=by z7>x!Yr;?PRI8^HQ$~$v8HLow>K`YuP>i*FrWiav8@1jY{U{Z4om&>rQtvu8uWpH0- z2Xc{bDg^&TN(>On|I)i(kW&Sh%L(Ko$B-8(H%QzO_L~%<5^f+Ft0V^js$H@*8AZWS zLX)aswO{7mNg9(w?o^1{H^-cdB7aGQ(C6^=1uL84z-XjfGK90t;V4(gjlJ$N=%jAv zO({1DY35;3bN8UYKP0`46B=SH-LQ8(CYAsa|_!1LVX(=NQBeFm4z&{2Cvc$eZ2Lz7c=Y{suMDadN%LGY#M89R9tbcETo9Q>mK&`U%HQ ze?&5wa|aD_3f!_2tso*|BUWo(p{lp=+tCd##-s9cD8U$X!9iljQ5?Zb(sS4+?Gmxp z=q0yv`1b>wYaycPOnDA&m+wP9ieQnfu*f#-M;Vq$KSjCpr6_AfB5sfu;R^X03?~ya zL9z%QoF={^d4=S!5rsyCWp|Nxt}tPlxEu+H8|*;w_C6+KIljc7rT@h)>0|L-8Zz)u z=qY>)*Nbo!leHGrSWRW#m)1}T-Yz!u-s(9F9=tQ3!;tgk+i<;n3o?-n8<9~51Kz?) z{7&-=>TzWWc(QykZkF%BIGisCYoJeb6d+FUU-no}@+Xol)8zv3mp*!(d5N^6=)ivr zZ2?I>=fwj>Gs;9o7irgKd@QZU8fiJ{)&}vix5{_pPWeHYXbg0s18r1ho%9yolwP81 zoZ{ur;ok>5)h8hZ3+4a7YE3TBUMLJR03=45V z+1Wn`G?1(!Sx)3s)N>U2H4%xhyd=V*EB>2P7m~y^NAq$Tza(qd3LGTu`YLuxn~B09 z@)f6HS?GD>VFYPcmmus;Y{tu)|0cshS=Z+4S05J8iL zf+?rj_z}(BqF)(PkK1;MLIOBySQy+eJ<ElE3$UBN*jrw8v7yX z|5hHtfhHaP3DN6wh=8|(PnBns=Aht4-kLsJzM6cCagk~K5dQIZBI)NP^4NuX7>e>q z*<2=ni?nD4QCRtZ0i-sx z=*S#+i!|l0ZjrC-Tq&*Bj>qJm`{7$egbq4j*Vm(_%mCBRZj`@K8NU1+{smYqeLRD- z;uG1(E23#UKvTGs0P}Cpm(!V8WU6gSqJDcM6>0O+kRBw3BF8b!^K8rnT}Sc~k(2+X cQJet&AJ2wZ%=CaHm;e9(07*qoM6N<$f+p2x9RL6T literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_immortal.png b/backend/tags/us.mineplex.com/rank_immortal.png new file mode 100644 index 0000000000000000000000000000000000000000..6aaaf59c106d95fe3fa15048abc58010a356c342 GIT binary patch literal 9299 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 z z1_}#nrjyXlLvLtZ1 zbVo)YVIUnkDRbi-V-_`ssGXf1biQQmT!#>Bh*PwUy(|*JxJQ>KItnt@J431<1MV;Hq4thKa&HTb=F$79j2ox$v}0EY&sS6V$zWGdeGfIf>cQEl|gCF%(Q77 z?{`y1kxb-{evV}-EQE_?l$B=TT6{24x$P<2#%+&VuNE%WyjQs-p1Mxy7uBs6*zQ=m z@~rx0tIyiDVCiYkRuxvfR8-(S-&$Ztf&Ddqgx_v3j*= z5$R9|O#b88Tc_dB2@f33Y$vM^MyytxMSU8f2cPX0y+g#J*xhzm?N$o%BnC!fI6)oT zMFRTcbjX}G6-ymsz5yX>I*G241fnT3Y^RtbDyLgmCX}lW)kgc=?Zi!a#p^?Oli>aB=_|h-bX$48O*~ zm@#rS>dP;`iZ6Zf7A0i_^XJdUTLtYfQl#MDx{X{1R5~z6D(i8 z4D;qLL05Mtoko535ExSDR3Rz@PFGs>dCft}r(uy3Vj|NSC)s{p>oM*(u+i7*l_Gh1HplyqQZ-y7D|! zU;Zg9ymk}4vQk88MD(zfi~?Z^Ena8@?eacVZVMYk&dC8AEHsK9_R&bh3VTjGGZ0E* zDJ|oQ8D15l%7r)rX`0J8r~Ooj)+ZB~7ieT>G7v@5AJjEl?i5J~!ALnec5>HHP>9F zwz}2VD=vd>9R6x$;^&& z=u_=1x5rpvIgr9=(0qlcrU5I>qlJs>6;XewAy&~Dsv@Z)@$nj8R!;WU+%o$OrPa?9)mRKw@E`y2Q(Sl54J`BBlqp&1vT@_(YMZ+{HFfF~8l8NW z*QKnqm3i8n$b^Hl2A^X7%JgQf;zPfR3!*@ z4bX=X{z+R22aSEK(X>roGyll%SZ3=FmWqhpEJTpjBiu(F!PEQq{JLJJWDhXU|N z^ahaoT8_zdBrTPK=F9^%GD^HjBocb->CJ7z@+y%VG!X;SYaM=ceVv9(#NH_&oQRVMh(oX|MOx=Q*tfSH-I)O>ICISz9Ej6Muw$7VeV`vb zR*#0pS{!YuN9}InoUGd-$B16ZyKZL-EPTeHSg9_!v z`lv|LF^B|W2*!-5%|y*7g^@;0!Q^mL#PfA-UY}Ww3WSrWDEHukm1PK-tZ;g%O)|-u z=SIHUg3kU3>QaT+v8x>)JpL~B{B93+Kl45<>0Z3m&C$AGDoQGRu(%v!_e$~>dQ?O} z5!EuDsNy(@CCYUM3`;S0ZuVC;GR=iKD8w<55RwpF>LZqQ)PnrHF^5hpssZ_wPo{9OYN1dV2M!)opD_w#X1Q#` z1~fMx9gDF_$WE4iMJ`DsK|+1<0Zqo@>0n>yyA!JKp>(~FGfi$tc``hRSrG}wkWyup zc8b&M_bICyV{t}1McWQhZgwax>V{EajS!V@l#LUuZ|=n2pKiteM;}A)fkT=2saOWX zk>Yi9(V{GWFlJ~f3!0CLE|NmKU~)~ttho*>tjrcL8Pl-5+=jXFQTUs?p`GZ@CYpRV zJ?CRRBs&}Ar5+Rh{*VjzHal=nvmKv3=)%#k6PNn);NwG6K-VMkem_jC^ui_iE(q#q82NO*>~VD_W$BB)couvw7mWv z&xzGlGsS6^Z+>(6X0p3lbZPrL`w$*Tkj)ycsivMc9uZYiUt`BRs8{<35wCASZG9gajC+}y_IKcLXAs+> z9`)saZg@&O_O25>v{3tCwrHrYtE1!7Orjj*z6A2k^!AU?ajL^XHj=;~qTSAWX?=V9 zy6M?RRH&-%;9(qVIZR>?s#T!(wr#_X9lJ5i=`447G!jixj)YiuJ3H#A^4RMS9i@dU zRx#H1-rYfGDnPOfb82j%#&5uL&pn3+9{4vjH6J4hifDyX)R->n)Fh4^IgDTb>Iq&a z)3HOX` zP~OwXL0qV$f{@PZbE)TTW1Sv)@O#woQ&irb-8D+X*3{Ifu$wqwKmYkJ@#KI0mb%q5 z)?SgQ3B}Z?GfNYwtWLu0b7RPF!MDHFKu1srX+?Qa5+7e3LFuB|FgeBaiZOE`od~15 zrj6b|c^6JI4%1@hhX>f<&ut~MUG(xrHx#O{RNzkD$CIhy9eE!-x#}X)GgH zboD1FJw+A;hlQw|mn^;{1-iz{$;Z;VkQECd1r#kK_F7Dp8|h#VTIgtO`fdSs*7;Ce zlvdv9@JNJ>BlpmXdQxyZNE!X#7-E`9k#r*0gEvNBQ^ASy%|X&GC*G{m1o;+ z4pnx!N8T&T!J}$*N>le3+Bv{HsVk|b$}HrS{E20i=ZP+t=s_ST_0E~1h&20Jm4!1% zI>*@)NYx@S6U!|YC&p*TXw4}H`HaCKGuAE%;EB73G3!&GgvBdTL>30*8B%WG#LUVF(S`8IU}IAYb-nZ)Zv37PuhkTys8AnKlbFOu zVaRXAC8zuG%ew-Yy76jQ+!8r4h-yrwGAM+HMiK)lde$7s3>O*YLQWasa^h4Z6;ON7 zB9)f9P~?<{knvWt8kLi2GJRMQjtEzTGo@utl2oju@Jx7TSZtY*#ON7GxG0>|&u1*E z3Z8xljLB83t$1=p7_E64_kE)oKY2xDLK?E*k~8y7ViIFeazI7C%(!{ODE`m4=OBOe z^*ok{f`s;jutFXqiFFm9XdI!8ssB_&6();T6>W0O`m<8Fa5-?nDjycDnGb7exr)*2)DvP#cvEI+naxikQ!Y_+t)`GP zf@E|MqwU=o={SKvXBR!P7-W^Ju!Q4)y8gfk;Hg*4czcgN0>o<{Hx4H8Hw$4?LS}C6 zUAQ`dYuBf7+BCpJn>RE-6G+B6i|z1Dtw8?tO5`!wR+%lGc!RaG3m)^BT{~|DYxr<~}oAh4lT)@{w0riGo?v;VCPn*Dn@Vj9?^S z3J+}bk2baz1bh1s92`K{pHe@KmXD#V%KwgdRa6TsnPrgtr7+dCA| z*#&VOQbZYNlH|!ct0(dQ6QmDCL>eypNqv}3!=Kg?=Pj76UHJ9SkgU~`Ne_qCQ<3yT zh^mlzvPQC|$dH5;2a|bt-nU@d6XR~%v!iO3X)yFT3*LWhf?*A2A)&z^gRtU< z=Y~sVJtNQFiXzXGTCw+u)n|9KFh^k=QFF29y=ezI|XPDtmYor ztvztqIy9@P5iUn(+GOgpA>Fs~{4SyPBqpJ-Z&#Hq5lxkw6RA>~+DcO*y#VpVbi|V7 zNTn+fPgRgxGsvwIDD^(C6?&dneQxLY-vcQC{{=bY!IIv`%!dE~002ovPDHLkV1mDo B3E2Pu literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_leader.png b/backend/tags/us.mineplex.com/rank_leader.png new file mode 100644 index 0000000000000000000000000000000000000000..1974f5d9ca57c4c877ff40b5d74750fcc55932a7 GIT binary patch literal 7302 zcmV;19C_o3P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D92-eQK~#8N?OX|T z9L2SLvyU_y?UJ=vvTVz;?hD`QdYNNHB{{$brBi2?-$y34w$q z7@Lntf-yFRgv9}476UdIOO}l+FWPs_J|oTid#k54qtT2O!b#$DeBrsPtE;Q4>)m?w zUUiKO@;UJLqmHV^VI3sRYBWZ6y4^kN+S`8ea&O-nRUnEt7c4j}5Q*G{q~B&Vn*Pz# z!e(yl?3A}W{*YUYtJ=i;KC&#V;|LB9fMuZq8JL|X;cHLJbl6YL z&6PpuHq8hQxcwV{+}69!ZZz0I+|VQ$I5o!*IsXKQT~5!-Q$!<6fj@(&=WEIFW5PrQ zNh@*q0Fp_P_74omdJu49z#uNPgv=YjG2d*IpO@rHw#kTx7^EW@kX4;M@_LYGU^3(g z4nGV+sJs8NiCk2WD^9aTKup;m9FUt^x&}Nh3F@Iq0QRV)Qr zX{g2x);UpJ4asDJHUs zVdy@nkrMhYx0+;{)vR<+m?3@$b>0Tu$5}*H@hvSmeoTm{u%?r6_=a|-nQ}I^9rL=@ zycp(!sCwm`9-4z8>5LdY*T@(R1L25-FdF#$_%x3^p9n&s0VQy|qB+CC{K3J&l#&d* zCti{vg8oS?M`3<4Bzv|lyiZ4BeY*U!An7{725E)v*+Pm9vnzE@!xWDW=)5x&Qm$Vd zE&`WkM$_ZMM0s;9q?iddmLsWaU=Y4(jDV`q@L9?%nl&}z1$^N_X$lR(>VC0Ar5^J$ zEK-_-L4oHKI4x3~t))wFEW~+2zoi68k)NL{lO`32&1M}z5}upQX35NSiqn}fLL83t z5%-WdgvDY}_Zp2x3CX=df0D56Mu}(qX zxLj^kHJ`>k~aaac?!t3?Q8Ou(SRjVGC zv^2Xs`p9E)(@nQXdV0FLPNI-tk39O2oN>mNQQoKWbr{eWB*izb`Ic2IhzP32jw7J2j!zm-`vHR>K6th2efMV@(Ptvvhe zpH&-3{8LUjNq+yxL+U(nVA$<8dH=l+9dy zYQE$lf-NhXJWM7}E|ucqB3R?XAuCFYb@It4$ijsSWM*}h)Xb`us+lw7f(y?ZDnmD; zyu3`l^re%ea>jI-HM?d=SpLhWouWwm^yq4!+q zJPWf%INEQ_CpS7#*bS?iK(<`Sby{+4jEktSrfE3bpq*)8BfOZ>yU~bv|AQ}3h-shG zzs?WW;D8FYKJQdB8V1o(gBYpHj-4!-Ry-dT>hy(0V#c$2I{U?k;XU?a;i^E5)+czYQjg4~PzyWD%Yg1NJ$I(YGh^AsV=9tCG#bEvH57zDX zGwdL7LsC~)E1!P4Q|flt4dtJ6&RO!qJ8uX1{nFjtrQ8961B}ns+i~#V0cmLXOilZp znCUt?I#fC0wbx#SW&S_ex^=4>c$t}*^2-N)3c{DD0W)Es?R`)-Il%s<-kq4X3K>9a zC5F%kf_UTlGY;2*TLsbds2HzB{R(7`mW+W9CjsNZ(;SSf_=+z^-Oy7Oiy>Jg!$i4U6Cu`R}tLh>yzW4$uEh#}g&2T-m@+9id?|(pUS$>;p!)>>& zlq;^dR_g2bNLOd~FrsdF@fG>auOF5dUU&gyZcurX%SvU*lErEOOcd-HFZ!IbD%0$K z3sSlCk>hm6Yd)O2k`tBI;UX
  • t-X8>7cz@Pa7;G$N4)B&rU!xgX`|eI=G7)C+=1 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 literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_mod.png b/backend/tags/us.mineplex.com/rank_mod.png new file mode 100644 index 0000000000000000000000000000000000000000..8c030347ed23ee2984abd34bcece0a4c7de45702 GIT binary patch literal 7141 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 bM+NYI1oq}LLO8*M00000NkvXXu0mjf*)`6@ literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_owner.png b/backend/tags/us.mineplex.com/rank_owner.png new file mode 100644 index 0000000000000000000000000000000000000000..88c63f8f65d99e4a8814fc0f0e985434d813fe2d GIT binary patch literal 7254 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 literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_srmod.png b/backend/tags/us.mineplex.com/rank_srmod.png new file mode 100644 index 0000000000000000000000000000000000000000..d04e8357ab9909dfc34a8fc5a5afd06b5d0fa7a0 GIT binary patch literal 7639 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 FV1i|}=uiLv literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_titan.png b/backend/tags/us.mineplex.com/rank_titan.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7113706a7297c8d7e03e93fa5b84753dbbc054 GIT binary patch literal 6637 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 literal 0 HcmV?d00001 diff --git a/backend/tags/us.mineplex.com/rank_ultra.png b/backend/tags/us.mineplex.com/rank_ultra.png new file mode 100644 index 0000000000000000000000000000000000000000..eef219ff76a2d834ebbf7845e56290fd6e61bace GIT binary patch literal 7032 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 diff --git a/servers.json b/servers.json index d0fd88b..fdd01a0 100644 --- a/servers.json +++ b/servers.json @@ -1,5 +1,39 @@ { - "us.mineplex.net": [ - "/(?<=\\[CHAT\\])(.*)(?=ULTRA|HERO|LEGEND|TITAN|ETERNAL|IMMORTAL|TRAINEE|MOD)/g" - ] + "us.mineplex.com": { + "pattern": "([abcef0-9])\\w+ ", + "lookup": { + "start": 1, + "ignore": [ + "MPS", + "Host", + "Co-Host", + "el?" + ], + "tag": [ + "ULTRA", + "HERO", + "LEGEND", + "TITAN", + "ETERNAL", + "IMMORTAL", + "YT", + "STREAM", + "YOUTUBE", + "TRAINEE", + "MOD", + "SR.MOD", + "ADMIN", + "LEADER", + "OWNER" + ] + } + }, + "vanilla": { + "pattern": "\\<(?s)(.*)\\>", + "lookup": { + "start": 0, + "ignore": [], + "tag": [] + } + } } \ No newline at end of file diff --git a/start.py b/start.py index bc345b9..9f6c88c 100644 --- a/start.py +++ b/start.py @@ -2,13 +2,12 @@ from labylib import Cape from threading import Thread, Event from pathlib import Path -from PIL import Image -from PIL import ImageFont -from PIL import ImageDraw - +import re +import json import platform import getpass import subprocess +import requests # Chattycape daemon class Chattycape(Thread): @@ -16,26 +15,91 @@ class Chattycape(Thread): pollRate = 1 # Logfile pollrate updateRate = 1 # Update rate of Labylib cosmetic - def __init__(self,event,phpsessid,logfile): + def __init__(self,event,phpsessid,endpoint,logfile,me = "None"): Thread.__init__(self) self.stopped = event + self.params = (phpsessid,endpoint,logfile,me) # Create tuple from params - self.phpsessid = phpsessid - self.logfile = logfile - - self.line = "" + self.server = None # Connected to server (hostname) + self.config = None # Chat config for current server + self.line = "[21:42:25] [main/INFO]: [CHAT] 725 IMMORTAL VicW test" self.i = 0 - # Poll last line from logfile + # Read last line from logfile def linefeed(self): - self.line = subprocess.check_output(['tail','-1',self.logfile]) + # tail last line from logfile + line = subprocess.check_output(['tail','-1',self.params[2]]).decode("utf-8","ignore")[:-2] + + match = re.search(self.config["pattern"],line) + + if match: + self.line = line + return + + # Extract Minecraft username and tag from current line + def getUser(self): + line = self.line[31:].split() # Split current line. Offset (31) for log-prefixes + + username = tag = "None" + + start = self.config["lookup"]["start"] # List offset for iterator + ignoreList = self.config["lookup"]["ignore"] # Jumps to next index if match + tagList = self.config["lookup"]["tag"] # 'tag' set if match + + for substr in line[start:]: # Start at offset + if substr in ignoreList: + continue + + if substr in tagList: + tag = substr + continue + + # Not ignored, and not a tag, so assume we've reached the username + username = substr + break + + return (username,tag) # Update labylib cosmetic def update(self): - print(self.line) + args = self.getUser() # Get minecraft username and tag + urlparams = f"?server={self.server}&ign={args[0]}&rank={args[1]}" + + # Save cape texture from endpoint to disk + with open(".cache.png","wb") as handle: + fetch = requests.get(self.params[1] + urlparams,stream=True) + + if not fetch.ok: + print(fetch) + + for block in fetch.iter_content(1024): + if not block: + break + + handle.write(block) + + # TODO: Labylib here + + # ---------------------------- + + # Import RegEx patterns for current server + def loadConfig(self): + self.server = "us.mineplex.com" + + with open("./servers.json") as config: + data = json.load(config) + + self.config = data[self.server] + self.config["pattern"] = r"\[CHAT\]+ " + self.config["pattern"] + + # Start the thread def run(self): + print("\nRunning..") + self.loadConfig() + + # Start the chat 'listener' while not self.stopped.wait(Chattycape.pollRate): self.linefeed() # Poll logfile @@ -53,10 +117,28 @@ class Main: def __init__(self): print("-- Labylib Chattycape --") self.logfile = self.locate() - self.phpsessid = input("\nhttps://github.com/VictorWesterlund/labylib#find-your-phpsessid-cookie\nPaste your PHPSESSID here:\n") + + self.endpoint = self.prompt("Cape render endpoint","http://192.168.86.21/victor-westerlund/labylib-chattycape/back-end/render.php") + self.me = self.prompt("My Minecraft in-game name (Case Sensitive)","Don't exclude me") + self.phpsessid = self.prompt("PHPSESSID cookie") self.start() + # Prompt user to enter information + def prompt(self,message,default = "None"): + # Add '[default]' flag if present + if(default != "None"): + message += f" [{default}]" + message += ":" + + value = default + userinput = input(message + "\n") + + if(userinput): + value = userinput + + return value + # Attempt to locate '.minecraft' automatically, otherwise prompt user def locate(self): sys = platform.system() # Get operating system @@ -86,7 +168,7 @@ class Main: # Failed to locate Minecraft-installation automatically - path = input("Please paste the path to your '.minecraft'-folder:\n") + path = self.prompt("Path to your '.minecraft'-folder","/mnt/c/Users/victo/AppData/Roaming/.minecraft") if(Path(path).exists()): return path + mclog @@ -98,12 +180,11 @@ class Main: stop = Event() # Start the daemon - chattycape = Chattycape(stop,self.phpsessid,self.logfile) + chattycape = Chattycape(stop,self.phpsessid,self.endpoint,self.logfile,self.me) chattycape.start() - interrupt = input("\nRunning! Press enter to stop\n") + input("Press enter to stop the daemon") stop.set() # Stop the daemon - print("Bye!") + print("Stopped!") -main = Main() -print(main.file) \ No newline at end of file +Main() \ No newline at end of file