From b8e3fcdfb11d3e13656ceb2d5345ec8e031c47e3 Mon Sep 17 00:00:00 2001 From: Rui Fu Date: Wed, 18 Apr 2012 20:35:54 +0800 Subject: [PATCH] create project, upload. --- .classpath | 6 + .project | 17 + .settings/org.eclipse.core.runtime.prefs | 3 + .settings/org.eclipse.jdt.core.prefs | 12 + bin/mlserver/DuelRank.class | Bin 0 -> 5167 bytes bin/mlserver/GmsvServer.class | Bin 0 -> 2178 bytes bin/mlserver/GoldRank.class | Bin 0 -> 5185 bytes bin/mlserver/Handler.class | Bin 0 -> 9876 bytes bin/mlserver/Mail.class | Bin 0 -> 2719 bytes bin/mlserver/Mails.class | Bin 0 -> 4133 bytes bin/mlserver/MultiThreadServer.class | Bin 0 -> 2359 bytes bin/mlserver/Mycomparator.class | Bin 0 -> 794 bytes bin/mlserver/Player.class | Bin 0 -> 3443 bytes bin/mlserver/Rank.class | Bin 0 -> 2680 bytes bin/mlserver/ServerList.class | Bin 0 -> 2209 bytes bin/mlserver/Tools.class | Bin 0 -> 1985 bytes goldrank.db | 2 + mails.db | 3 + src/mlserver/DuelRank.java | 179 ++++++++++ src/mlserver/GmsvServer.java | 82 +++++ src/mlserver/GoldRank.java | 181 ++++++++++ src/mlserver/Mail.java | 148 ++++++++ src/mlserver/Mails.java | 122 +++++++ src/mlserver/MultiThreadServer.java | 427 +++++++++++++++++++++++ src/mlserver/Mycomparator.java | 14 + src/mlserver/Player.java | 193 ++++++++++ src/mlserver/Rank.java | 149 ++++++++ src/mlserver/ServerList.java | 86 +++++ src/mlserver/Tools.java | 61 ++++ 29 files changed, 1685 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.core.runtime.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 bin/mlserver/DuelRank.class create mode 100644 bin/mlserver/GmsvServer.class create mode 100644 bin/mlserver/GoldRank.class create mode 100644 bin/mlserver/Handler.class create mode 100644 bin/mlserver/Mail.class create mode 100644 bin/mlserver/Mails.class create mode 100644 bin/mlserver/MultiThreadServer.class create mode 100644 bin/mlserver/Mycomparator.class create mode 100644 bin/mlserver/Player.class create mode 100644 bin/mlserver/Rank.class create mode 100644 bin/mlserver/ServerList.class create mode 100644 bin/mlserver/Tools.class create mode 100644 goldrank.db create mode 100644 mails.db create mode 100644 src/mlserver/DuelRank.java create mode 100644 src/mlserver/GmsvServer.java create mode 100644 src/mlserver/GoldRank.java create mode 100644 src/mlserver/Mail.java create mode 100644 src/mlserver/Mails.java create mode 100644 src/mlserver/MultiThreadServer.java create mode 100644 src/mlserver/Mycomparator.java create mode 100644 src/mlserver/Player.java create mode 100644 src/mlserver/Rank.java create mode 100644 src/mlserver/ServerList.java create mode 100644 src/mlserver/Tools.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..186110b --- /dev/null +++ b/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..7706781 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + CrossGate_MLServer + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.runtime.prefs b/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000..d0efd9c --- /dev/null +++ b/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,3 @@ +#Wed Aug 03 21:49:44 BST 2011 +eclipse.preferences.version=1 +line.separator=\n diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..73206e5 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +#Wed Aug 03 01:30:03 BST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/bin/mlserver/DuelRank.class b/bin/mlserver/DuelRank.class new file mode 100644 index 0000000000000000000000000000000000000000..9389cb34a00f472e05872ca808a6e0e572e27335 GIT binary patch literal 5167 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 DJ!Rnx literal 0 HcmV?d00001 diff --git a/bin/mlserver/GmsvServer.class b/bin/mlserver/GmsvServer.class new file mode 100644 index 0000000000000000000000000000000000000000..5c3b4dbec3572047d209f8f650178816ba0c15df GIT binary patch literal 2178 zcma)6-%}G;6#j0qAz@iWFo6iEwN`8rgrM~Y8VXWWN*e+ii`D*^S;CgC<_FybX6SSO z3H#JO^`#FwQ*fr8>G={e&E{4GjQQreVg-jn-U)o27a-%C}UVJV-z zGfMJMy__~ZLp=euoEY9EXQn3rl0GB5D6Ro3;Pn*=bVBsTqV6@!tIC-(Eq~x*$L0qp*f&L?f z((elNR@!#;@shpi4{5i(9&{|3J(84Lm7I4iRHW`iwb^LfZlfigpITUz&L|PczwXrb zdoqj%79OfXJ*VE>rcATa-14f>{229m5ZvBSZ6<%6^N_VTEqO;M*ie zA6b&H@HYPqr+98@Jbs_%m!PsU)S}tnRh$KSC1))EE7DJCL?D5?lyjg1Bo=_2#b^L> zPJyiOJ0i34W4^qoLNS#$%_f{wNP{}cN0KbM9q%z$OO+mJ@fV34pRz5T5|gh>JQXT2 zk1;=arc+w-pmSQDDjzDOfXO35MtG&K3z?*l3vUo| zftM;fauM(QSTD#NBmbNzN3R$^V?thD%GkrD7nmxKzeIX`57)=`@WB)G(wxuyh}ig3 zQU2Z#DMJSD;r37e{53ASsjupcn$ODwzDnyFQYhj){{$1<{z>{~aYMC7wJqhSOJ3_Zax@FSc`M-3Z JQ&j|C{0pu%l=1)o literal 0 HcmV?d00001 diff --git a/bin/mlserver/GoldRank.class b/bin/mlserver/GoldRank.class new file mode 100644 index 0000000000000000000000000000000000000000..8fb0e7c002d97f975baacf7488f8d752d6215eed GIT binary patch literal 5185 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 Nx?ZN})hCvZ{{yzt=34*& literal 0 HcmV?d00001 diff --git a/bin/mlserver/Handler.class b/bin/mlserver/Handler.class new file mode 100644 index 0000000000000000000000000000000000000000..910155c94a8a80abb16e384ab4c167cb23632a72 GIT binary patch literal 9876 zcmbta31C#!)&9=Rn|W`B7l;!AghCs|C4`V5Rg?t51PH_?fP^iG%Ovv>MkX_HW&&bu z-Kb05>Mpnyx2U!5PW-{GRs3 zF9;Q=OZ(&TaA(XBSj(DPPhYUObsqVxg%0iMWHjE>ASjueh^NxwczQ)R*6&ytAuuDI zr}rdck?i1k%jdUR80pd@{Z35aPbIq6IcdQm?v!ySUDvKjoN-iFA|9tqOTwwthD0)A zp^P(y*CuM!@&ZqaGnBXH6>Hb}wMJ8E4)*ktSz2JWg`=^QqW2^PWd-^I%C|HeU#D1+ zp{#inG0XDLipHbq*@Dxn_7k))SCIe(qPuY6JHKFolwWA_3V|^<5pja>qSD3$94hcu zOdaJRO@IPqfkn4 zTcdGjQGaizlU(K+IMkZx3ddH2lTr1ZB^v3q(Uh`y9_6h25U)UwlU|vOrX9jowLdPC zU8JIkx+QdxY)=jg&Of`$=}SlHE+*<}4DC$p*0MOy31Svzn>c}TYHq z{pr5`G#$_h_X@^U6&5V!G?-{ATBJypAQ~}GfjnO@J}W=P7&3UZGD*PoQZfW%@>&h) z=c2LH2}cwfQx1kkQ-622lXN0(=LV(f=WMj1O)!#LwZw~*8e61P5raA{rYJe!hR$f> zWI;uaS2W69Fo-2+S6VMqnB}!8>en!NMG%XyLUme6=n9>(A}dTR7n7E_3c&*`MnfA; z*V=^OsO)&1WwPmF@+t0^Vw#Clx!3_17ETvPWe{O>ndlsnwcPn^L~x40m+Ff}(?NQ9 zw~ZdGWm;L!u#YSWt0c29Yn<`}$+OzRnap90bF(p==!wSFf-xJtYNAr-tp0E;)zTAB zB%Qh86eBc@gpEF&#VqDBiA3?#ZbEICyxIgKs4O2q3wl%Q-Bp4}f@&qP-o^%;&Gl1G z+GQ;Y_cG@WnJ)(&jdKppHSu|>r-9cXw#3s;kCU|V1$>d#=?f=Q4rw1TM~hnZd>a?w zLcxgqsx3_JMpcWl|0Y~);!DMH7qXj;OK_>c4o4!3oDD8rJJSJlq%&FgGPy&btxWZI zbvdb2cYiE^D{z&GD~FnOV=C?R+PE5DVFFC3z$zOGU`_pTkNTn-gaF}k7iCMToKtVmnn)v%EAMToO&g~gEqd7hq(7L#VkoA2`Kj!y1_Mg zL_zSVU;+()5Jey7Otq^2y+LH~l!-w)M=tP-Ok(4|lq;KkD(T1K7PeFGBIDDT7M|hQ zc}>gvBH^?%Kb}r*bk(r%96PgWpl2z7IunU?7QVriCk63Mykz1<^7CG{ERl$%Z0t}T zU(y~uJH2t)hD19zF_s_S;(os7T;<2#w(%W&*G!;rH+0}DdA{WCcCkkdy|oaSyDl;a)e4t zK1Hi%^=*#zr`D>OCff38`3(DYN8@@;=9%gP`@0U`{&X}}*O*L(H|o+kD2K`SOj*==S6S|n%Ylftdtfdru)wWDgmMCFArM0^yTQXI9N>L)< zo)wfjIogzIbkV#Sa#gb})8(^-lhdfuTyXe-HOmjw1-vQ87TZ+Of^rN)N{*4^ZJC)1 zDP8m`&Rgp7wql=P%j{fC>ywQlo@h&>8sn!QGjl1@TwCU;ekMuF{&?3(@a_ zT_<5%I;D%E(sXXxQJj`|H%r7Z2Q*@fC9Hu6!-8zGQ3HylnZ^j{(ee!Gk(FkemM3fp z3%f%KlQeCdo9K6)EM`lu#0d^XYK`_rwM)4Y4fEt|Az(=#6N)9=K_>1uW3gnGFd8Q9 z-z6*B(UsYgu@*6A$%c>Zt8EjCtzm17t;szc*bJRZp%wtQ7( zG%Lw-g*r?JF;nieo>6EKm_PxI?__V@GMTs?@-REL63;;`ya$&)y|Iuv>mM^?*|s8Ww= z^{7#g+UhA!Vp?^LVoX(x3PW)!d}KYU*O|^|Jx2057Y18FG*HqLcsnwO5}Zga8*v1h zP>p%0!+acrX3WF_au@Qe1)t@}*{)RN9m_Aur?q7gU`y%e(JiH+SGSaohHfb>edN=H z_&lC8gSyVt+Mdj|>OX2q1`Tc7(b!RA3}WshBzd634(f?pIYFBiqtfl37h_ab3?F+o zQ)CbSqu25|bfJ};K`m6yg-+r^i#oPrNk`2fmJVY1@a0Zs=k}uI%Ja*W=a(zRDs*re zQ32uFZshlg5xpbuQ+Xb1+NSIXygDUxS_Wq_D_Eb8#6es`UzB37#Un-JcDpsjW={z`(wC# zJFe*nT{nmu*e`>dLbvdthu##rjZF@kmcbnv+@+ZJ=P6&y;Nj3?{LJ8q44xbaOjcrT z(_)R#vJV8tDALoKw3}0gp4H8_rQT2yKToZ^)9Zb?wm~spnBk`w^=5?`dYSBcOUvvl z_h<0mN~axYs4yxludC7bR9g+Bc0W*UA2s-qYGhUZ3AHy#dt(5nZpTg{^9wagg)f6& zRv2p5|5d#|@pLYd3d?sg_-z(W_4$YP0jpA}`hQe)<$yI>A@FCd_Gx(p%)JLkV7Sia zPHn^t{+d%~=!)h;YL)l(Ds!?dWmQt2!Y*1?IZ)1~x~Xuw$)#$e(}wK>W{;ZYLp_Z{ zqhzqROhmaAMoqP*mx(tczAa|sN3k}WM;5cTm}9q#)iHHYg7pSfVoJ$KiE3n|Y{0*p ziB5Lz5$G_DfiLTzKk64yjU5T+`h>tip0)a_q~&s=S;mqjatETgfdl7X)Xb-lJnHO z*SenSe_mLh5u!&+%Cs-49X1k#qn}ngB|))eux$RhSoyuXN11fmQGbN|D7~iII^-1HLu|NQnZ(*K}|| zYF$7U9{`Y&{|u1Y3Iej!1>`@O>Y#v7$BzM|HY4o=#w_hE%apfBCd^YGVJ0_4>ljvf&5aJs%ndx{6AjFn*Bj59*V{#6u?=1EH1?Gpb#9{?Qj^@o~GOs-T&VyWM3X``CCrVEaq!JM$iIcA1A16{s=)o!4xYr@VeBH zlM3kGMjNQD+RfMs<#J}Zb@jdq-wvEy;VY8_Q^l47+Gi0ewdcB_RfP6%e{r`Yor`qd z$7?wyQp&SGw);JKWU*zqkhMz4{(oD@0!$yfYF$pq_5X&DHL6fFR9))H@DdqNRply{ ze5+YbpTZv&Ph}Z>I%e>AGzXomM!T?7{U8GeXP}$U9z2RO@ibz15plf2A5DISvv|ds z#Jfmg7y7XW>&1@^QpQ`Aao8w_;~bgBUpQvsT$ztA$P%0<9XMakzy;F7E0q*3lJl@h zF6B=Y*W+Tj6_>~ZxJ(}APYv5}h3vp}@+xkSH*ur<5;w{3akK2kW{-(29vioKM&nk` z1l;C16t{b7aF^#e+~b*rdp#-K=lLQY@NC9Io+t2_=bL!K^F3rduVc{j7Pfi*fM+~^ z#-Y4)A?=$$R_eK27`yIUD{Q=(e{v1E|zJp(Q|Ab$9Kg3&xgc(e=+XHUyaA{H{*Hy-FONAFm_^>@gw}x zcoVygxAB4T9zHbQ#~z1!0r*D3+uDjDHBRczn& zQsTQ^N_`JVh^0W8?BDfrSzdv`J@Rm2?HxN+j?#=??r@dexyuR^TvoNXZ>)cw9MKA6R{X*JLAo*n`r* z%W@7|UixuDJ}>9e>uDMJf_#y!ckwEH&Z6({!V7Y~T)<<`9{!SXA!#PP_X)X(V=emI zN$v=G-E4OReXq_PL2oLRP4Xoe^rMNIYtVz{k#;c*?|fbmT*8@s^qAdQ?w!1>SF8Ex zJ-?7k~d+jxh|LZhg~kMu+-(6iy1RtRvMYR z7)82e-Nm2QE+@^f9%sZ|sx%KQ#MLe>u!<3>X>tWKf(^-PaV7t(W_MqRsOGI{B~pi1Ae(PB+u!jdR&f_6~n&TYHBYdcVEH3Vqn# zQR*)fb|^K=WEo#pnbhzVD3jCp3YN*$e2plRYxuH5f9A8KOvbmjd1ntGR5NipkLf%k z`-}%Sd1YeFvs?GQ=Y5cCd-bKjcy$*cXJL&bsYn{@q#wO(ua^zV!Fi9N<;*!aQ|Wcu z!PoGYi|e(6pN4VTy}a5)BjDYm?I9z0pqCqPsH?JP5q(@;_qF1`teoqu3Z8(r4&eBD(`Am%GlN-Xh56h^ zu^y!+K$JVrOzt@6;X=N_mh#!Fa4YWM_x%{eHojeu&rugNjE{hvj}T*fv~0py#@wgn za!isdQAOx#nVKU11Fl*^99z7MW;d4D3M_ z!&E+GpU^J&_faN>25%fq%nUX0;cqhKAr-NfBJ2N=0BGJm3aPuJM1Rw_^i`8Q`Y)Ox B_zD03 literal 0 HcmV?d00001 diff --git a/bin/mlserver/Mail.class b/bin/mlserver/Mail.class new file mode 100644 index 0000000000000000000000000000000000000000..d2829488f92f63a8ea85d2dd2411e91d316b9b66 GIT binary patch literal 2719 zcmb7_Z&Mpp6vm$=AqnXg(f}z)VPi>4OZ@}IS`>wbwiJqBb({sZF_1sZX6a0I z#uxg^clt4$@rBM<>a;U{06&f&!0|b|3)wC=Gdh{M_uS{+z4v#{J?G}He_s3vUq)$Y z$v7@+IMa>TV#~2=maU_LD;g5}rroiqX&5aj_Fxn>&J8Q}XUuDsBbRpH+}^XeYNRxA za*H@_FkId9y&JoIP;cy5b^`B^VcF_*%$ik5VjAyBpy`s5h8|7hrj9wh&#N-`_pR2B zhRZ7O6CnPHGYNb^pWL(NWv34{|Gq{mx!OLkx2=V`q~m~G^Q2rNE;7?2tltFsqy%X7NddS$)8Flx z{BF7!)J^0Wd=^Ac5q9S8t`ffX_BP= zgI8(XU`%gegvmOJ6=bl1v)INMS~!QNjDvWc@jUarrjNMFx0oe?Yq;+F|FiFZGd)s$ ziRsPs+t2Z?@jEhym`&eeLwoEHw~y>>K+gsAd_XS*^kTpsr+tWzs^wn^*9W=CK{vtj zY%gGsSJ%aE`q&Zd;uBu4U@snHSKKksFR0z^WEr?g_s;u|?|ca}oR$2W1I{ZRVSHGl>kWWIDRp=3Iya1s{URQj zp@7^|MkE`K$h;EdzB(e=Fvt=??(_hWcR)Z^lo82=BeJ3dd7zF+E)23kkj)+-@(>Bg zsxl(^a74aTf~=_{k`IGCCP=LZh`fXX@=zI(LO3E#CCIuuB84!BLy&_WAo3Io$frt> zVi@EbCCG*vq!1_?Z$Uitn=ke_;h$e)pbJaX&w G^M3&@nTh!T literal 0 HcmV?d00001 diff --git a/bin/mlserver/Mails.class b/bin/mlserver/Mails.class new file mode 100644 index 0000000000000000000000000000000000000000..d8d8ed800193f35f7d123f77663dbce3123c55ab GIT binary patch literal 4133 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 rhRb*H-%m!pF~QOI+l)KM`-1`@-(~*ACmFU;8X zjIqhu3F|iO<%NbObn4iNT`f?M)UgT8QhPziW;Clf$lDtvq2T~JrQKm2Td_?=uYxT# zyD%9IJ(0;#9c^e=kyg-FGg-?^!?DP!U&nSlr{YAT)mn-g@ew|EO2-a#s5ryoZrDZ* zr*Tf^!-B7pT<>IXHr)9fX@Qi1fPR{ggxvp-;gE^ZG+*=>N zr$~sfQcDp%NT@kFieQq>rX?qiC0PSa$S)z~460aQt~KaiG2Of)d<`CaiB!ILvs$Bu zOZ6BUsH46a@kM>THcx}~t+nA{wOdif9TkfT4n7l(@+lIZjwLKJ(TEROt(}cMd6WQsGgqT-Bp~eU?}wn7glg7G4}{pDwuePsrK9o-jMR`s(hy^XR9(#`BNC} zyZnxl<-us<*urevm{&XYkkh-FQ9oIGhGQqC|F6Z>GJ6SvWYWh8N*|5gh0 zqBB!whdG{tIvd5W%=|}IRo42Hl1crHp%u(aIq?|Y%n>Tx{7Koz-@qzv|AHWf2T%SS zKe~eV9z6MjUSc?cG;!Mm8TD@V131jx6gwqPj=|vf1ml*GB%{}=k;ItEJ$ytj2J^hn z2xIt!Rvol@!kaM_ii%I==kDLMXu;?B;;HVP<&Mm+^)VFo;>#6$RWGB)L*OKX8E7a) QE55fgc5PfSqahp0cX_}Vuofbs;g+;{$QdL5gkSe7`YEbSQvkGnZ{Ixc?9bodz60376Bm|1a}=Ga^jxL>;m05ujb$pc zBz55k)K28N^dlJ${kMY?6=W{T0*fY_XJO>;U*QGHyI~w=djfWQy)WSGC+}4SHs(CI zm=T!ohOs)zM+23YJEOe7VMtzxvdOb-x*@y58)* zjwh0zw!6~@)w!9`Y6Kp6sG%-U=_Pp@s5hZLi2C)Df2O$vW_#fo`d*>hHKv1YnC2NRBaP#6HwjQ{DH<6ze_ySYOenp=VvlH+cMEA I){KAr2MbxBp#T5? literal 0 HcmV?d00001 diff --git a/bin/mlserver/Player.class b/bin/mlserver/Player.class new file mode 100644 index 0000000000000000000000000000000000000000..3ba3de1cb97f202372c2e0851010c59a5cd480ae GIT binary patch literal 3443 zcmZ{mS#uLd5Xb*3+ej7z2E|;)Ap#5$0^2|i115ySn3yPBHdhit*3#N6UQ5nuWpE(j z$oZ0|_Gy zotK>HbG6w?$G2dOSy)vmdv4j`EVo>8?pjDrmBu2e!*k{x&q8|2E;{u&T_bj2bN^*c zd)c1l{La7)Jm*{}C#P$!R~j3!ph9UvhU9bAQMc>{$1Jqv_FS>heyUP((rCjbg_qEs z!WIkYgoUjN9atsO%L+-PM0!PWD3rD3g<8+(u~4Uyp_VNg+%{>6e`>%o5Cj+ z)|Mu3+NF}ub4*q$Gh$p-IEkSYYBbs@iaQD;vf={nCGjceG%|mpQt@bhAD=M~$KAWZ z!o;1*IPVO}H<(V!BR(KQcE6nQk-}pPF;#;~6a*Fq-(d+$k5_7b(HV7Roz+pf8<5yw zJ8{}r6crLuA}A%KK!iQZL)f!8ggr|`*t0N%Ji%A~(nrzrn&bO#9=sI!(6MI8#Mbc%7r5 z{3eEC;z9O8+>!qS+21K7_>zFji*ifTn1UZJc z978L_XukI1o2y)u&kzO67LXf!@AfvHISgZ{o+jNkc5#${+ z$Tl719zpK60Flxq9vL%&9^ngKmDzZyX=eXN66z=gk p6-#(n*t?t;Ys3Euf3y7u5AmYuERW;ostphDMI7BP!{^|u{{h7<{ABY}j6o%jN$2c}q>ZVDWy2VXH5+*ZHHwMB-(i9pfbqOvcX%-+P#>vz;acnfU zBMK5L*subA2Mds>KrHwH{2_LT_uM;;&GdSKkfnRhocl4)Ip>}0KmY#y4**r{=8&>* z=D6JpqmwYIYzLjA95NP)hrvluX$PHVmSuBxnz~DccTD!nTF^a>UF+@BJvi_ZnZk0&Sm#;=H30Ey%$6+d5(jb{->>;to~OK zS&|v|qbDo1yjNh^U&`S{3+IM)tabWfGmIR(j8zL0p9N7bWX!^}YdC{-O*aM)ESxvI zf!mv5KZcufm!I6v6}{6H#uu>ga>%CcsjQA&htZJ^vqxlcI6o51xHaiqJ{l@P4%^d0 zki#CkjBaUJNHlhBM(>J9Y{rz6W2CMGlVd3M7`v}@BeB@iF^VXTiJTatNcCyTDeQCy z(SCTlC0fpl;IBy^aFw!2^P?yrCCZ|g5?v`vRVhnNDN98uOFbz|H7QFiDN7|OOC8b9 z@MLP2<9R;)z;mf#tb4y=%A1^dgjqF~y!0bnmZ2=eoC?mXaY2ns5_Va$@k_YEw=Xj4^9xwvx>c%vjcZ@v4o5TK8Y+AezUwjHU#voku`mAz zpXX<)l9!*QDS5tK{S7OUouAWQ+4CnjwdDE5c+RC8PmZKlS0yX{hx8_Ki+gIA!VU}Z zF^hkI3+Q4NU*MujeMYAjr_Mz23SMRM7GA^aaSpvc z@CD>1-iVVLt;ppcna5~FR*fKUvK3nM!-`y@3X&k}1i3K=WRn^ekhhE=NSh$XV?gBg6_71sYusdOA|uFq=GM4Lkk1M7 za14lC`vOuof_O=guZ$q~%pfC|qP|DICdfBqK;(Z%K;AdDW+~a4Z;c=ym|L@ytjKo+ R`F;$D{2>a+wz@EO{sC{5M?3%k literal 0 HcmV?d00001 diff --git a/bin/mlserver/ServerList.class b/bin/mlserver/ServerList.class new file mode 100644 index 0000000000000000000000000000000000000000..9d06bd4da8079a5cd018b73e5597cd8b56a1c4ef GIT binary patch literal 2209 zcmZ{k-BTN76vm%79|Xbz;kyV_pisycp~WH+O07j&+7PIrIC{4vD{dPSW)pDmx_^aN zdQ~rRM(K>sI9_q#g_q9wzi9P2`z}ksbTY|q-aY3$zvsN?-QVB*{40Rl*oh#Z(7Ru* zSZxgcM@W%_B2YHYocr{!ZkIFn9mhPDw5&o~ z!QQKw^+U%}NHvRD&iQ%|_iIO5GrPjnmSwwQ*H;vRGw~gT(1U8piXw;(18s=5L7~e) z7%dTWle&p~6ftx#DrZ-${Nett-6{_ZCC-FKyR|&vW6QG|@e) zt``_II1_K?g<-SJpS;~=wAN7f+Dy~3Vn5UL(c9`u#=vEl#|P(54YO3rTVH863KaD% zH*7(CNBTEzU;;N3T8q_6-LxyxA&;bC60-5nC3wofO$iQCKq0Vqxt$HQ6*>xav-o1e zJn*{T<+pdusqU|@3f6kODVQjw4a_1#C8h}xL$6L}HiBD?(|jQx#T@1hyoWmq?Y^#P za?;kN{QCwLY zoTD%7O6fd5Tr9n?j%6S(=)E#jbt+UmQ0TsBgI6$uhn#DF*Urmzv+w$TyL!I6+^s8d zB;?jAJTZ_!QrI>Oe!fEA|MO(1dP`PWOUOQHkto*iiGhN2OuDmKDf7h9YN2}Q z6sy&@rEN#> zA4DRUQ$rz!E#t07{RabDD7mEaYAF<42*1LlkoAW(`ch~plpHz5Ndu89?`?3-A^eSAbN(%=EV zG9Zgs#m8g}v!)meu|adLv9N2b6TvrVk6=x_4U4x&Sogd+ZX1ADf(9Oofz~vKAa`}+ zSIMzP_D3Av#|`a``D8JdLdarnqXW!{x;(nQ9KXNOMFc8uVbjyEP+t!0VDgNIk;+er xA+yk$x{M*y4&-Pqj}E4H<0%i{GZ$q{m+(;rJ(La}S-sQVG!9U8n`Huc_8%?^sd)eZ literal 0 HcmV?d00001 diff --git a/bin/mlserver/Tools.class b/bin/mlserver/Tools.class new file mode 100644 index 0000000000000000000000000000000000000000..4d2b163173739f2a016b30f917ee5975f6e7af35 GIT binary patch literal 1985 zcmZ{lTT@e47>3`K>|}>+fRDolOh5%i6Heh6Kp=|20~$bu(5Ag;LlPkx5*h+(ukG}% zKcJn?)aivcURXPWOxx*gXL{>(|3do*Z0WmpGQ(Icu%GPxt+n6pn8ok^{PZh;QQS4* zQfSyN?B>e*xpHK!R4VM6Fcjo|dOsa0q>G!8m5uwkOhv)S=Jki`ZdSIOtQWnP zS6D^{vFcK~vgJn@ecZfLdZ^$DEi8l=w2uKl2GL5j%vQQQU$I!Wh#xKJ z;3j6Y=M?K$sTLn~$~oq)_IYJ^@!n<~-p#~^DFyg&k(-81%qq11SMADPzL3q8wd>X0V{Ub@hKLxvqCy_u~fG18;g~Cs)iW48E`E??hjV zY(`7m@*{yIj$5TvErLR8=sf``SWd{F6iUTSr%oIoYqhjj&g8D;b;B)Zw1;#V*hy|- z+Y|zNR(a=Tu}oeHbu_<(p}VT~CH9La<(A=O%8-#{$|Ix6lvl=*DO1LiDW6OvQ{t5< zY04z&lPR)Jrb$cEP|9Sd?2=tlAy3I3d0O_#GxCt^mPcfdJSNY|=j1t=Cwt`zd0yh= z1z8|Na+M6rHL_2xll^jo9FRqFP;Qb#a*K>ef*h75azvKNQCT6!&dEo~A7TB#(!1a%d)N`M7nAJL7wpk%n5vs6Lt6EgsP+#Lesccd>3fC7V>z#5tiIx}Za@>7xzW;J09x35EYrDuxh3!o z8Ur%-J?dV<3XDIO;pa5FoyZ!T`KjlN4G{k7D5{bzu+he+c4w~=N4uk@y-jTw7lQ8D zXK12qa6IrGJi+HrlnP4h>Cs>AV;^nI8dUR8s{tMKV&fzyR{LtJ$~YEXt#;bm=tO(< z!TkmvWx1G65S=yGf3l9cn)7{${sVN)xnu6A@eG5lINNC(StI-9A$q@xdirhS0R2&~ z?LEX$)a#pMf`WQsM0nIQn-#wA;@kbTyxZ9@ovq duelrank = null; + private final String DUELRANK_DB = "duelrank.db"; + public DuelRank() + { + duelrank = new ArrayList (); + } + + public void RankSort() + { + if(duelrank!=null && duelrank.size()>1) + { + Comparator comp = new Mycomparator(); + Collections.sort(duelrank,comp); + } + } + + public Rank getRank(String cdkey, int rn) + { + Rank ret = null; + if(duelrank!=null && duelrank.size()>0) + { + for(int i=0;i0) + { + for(int i = 0;i" + r.getCdkey() + " , " + rn + " -> " + r.getRegNumber()); + if(r!=null && r.getCdkey().equals(cdkey) && r.getRegNumber()==rn) + { + ret = i; + break; + } + } + } + + return ret; + } + + public String getLimitRankInfo(int start) + { + String ret = ""; + + this.RankSort(); + + if(start >= duelrank.size()) + start = 0; + + if(duelrank!=null && duelrank.size()>0) + { + int count = 0; + for(int i = start;i players = null; + + public GmsvServer() + { + players = new ArrayList(); + } + /** + * @return the players + */ + public ArrayList getPlayers() { + return players; + } + /** + * @param players the players to set + */ + public void setPlayers(ArrayList players) { + this.players = players; + } + /** + * @return the serverName + */ + public String getServerName() { + return ServerName; + } + /** + * @param serverName the serverName to set + */ + public void setServerName(String serverName) { + ServerName = serverName; + } + /** + * @return the serverID + */ + public int getServerID() { + return ServerID; + } + /** + * @param serverID the serverID to set + */ + public void setServerID(int serverID) { + ServerID = serverID; + } + + public Player findPlayer(String cdkey,int RegNumber) + { + Player p = null; + //System.out.println("Server ID "+this.ServerID + " has " + this.players.size() + " players" ); + for (int i=0;i " + p.getCdkey() + " -> " + p.getRegNumber()); + if(p!=null && p.getCdkey().equals(cdkey) && p.getRegNumber()==RegNumber) + return p; + else + p = null; + } + return p; + } + + public void addPlayer(Player p) + { + if(players!=null && !players.contains(p)) + { + players.add(p); + } + } + + public void delPlayer(Player p) + { + if(players!=null && players.contains(p)) + { + players.remove(p); + } + } +} diff --git a/src/mlserver/GoldRank.java b/src/mlserver/GoldRank.java new file mode 100644 index 0000000..5974615 --- /dev/null +++ b/src/mlserver/GoldRank.java @@ -0,0 +1,181 @@ +package mlserver; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; + +public class GoldRank { + private ArrayList goldrank = null; + private final String GOLDRANK_DB = "goldrank.db"; + public GoldRank() + { + goldrank = new ArrayList (); + this.loadFromFile(); + } + + public void RankSort() + { + if(goldrank!=null && goldrank.size()>1) + { + Comparator comp = new Mycomparator(); + Collections.sort(goldrank,comp); + } + } + + public Rank getRank(String cdkey, int rn) + { + Rank ret = null; + if(goldrank!=null && goldrank.size()>0) + { + for(int i=0;i0) + { + for(int i = 0;i" + r.getCdkey() + " , " + rn + " -> " + r.getRegNumber()); + if(r!=null && r.getCdkey().equals(cdkey) && r.getRegNumber()==rn) + { + ret = i; + break; + } + } + } + + return ret; + } + + public String getLimitRankInfo(int start) + { + String ret = ""; + + this.RankSort(); + + if(start >= goldrank.size()) + start = 0; + + if(goldrank!=null && goldrank.size()>0) + { + int count = 0; + for(int i = start;i mails = null; + private final String MAIL_DB = "mails.db"; + public Mails() + { + mails = new ArrayList(); + this.loadFromFile(); + } + + public void addMail(Mail m) + { + if(mails!=null && !mails.contains(m)) + { + mails.add(m); + //System.out.println(mails.size()); + } + } + + public ArrayList findMails(String tc,int tr) + { + ArrayList Ret = new ArrayList(); + + for(int i=0;i " + m.getToRegNumber() + ":" + tr); + if(m!=null && m.getToCdkey().equals(tc) && m.getToRegNumber()==tr) + { + if(!Ret.contains(m)) + Ret.add(m); + } + + } + //System.out.println(Ret.size()); + if(Ret.size()>0) + { + for(int i=0;i m = ml.findMails(packet[1], Tools.SixtyTwoScale(packet[2])); + if(m!=null && m.size()>0) + { + ret = new String[m.size()]; + for(int i=0;i { + public int compare(Rank o1, Rank o2) { + Rank p1 = (Rank) o1; + Rank p2 = (Rank) o2; + if (p1.getValue() < p2.getValue()) + return 1; + else + return 0; + } +} diff --git a/src/mlserver/Player.java b/src/mlserver/Player.java new file mode 100644 index 0000000..f10f843 --- /dev/null +++ b/src/mlserver/Player.java @@ -0,0 +1,193 @@ +package mlserver; + +public class Player { + private String cdkey = ""; + private int RegNumber = 0; + private int online = 0; + private String index =""; + private String fdIndex = ""; + private int level = 0; + private int faceNumber = 0; + private int DataPlaceNumber = 0; + private String name = ""; + private String titleName = ""; + private int guildID = -1; + private int guildTitleID = -1; + public Player() + { + + } + + /** + * @return the index + */ + public String getIndex() { + return index; + } + + + + + /** + * @param index the index to set + */ + public void setIndex(String index) { + this.index = index; + } + + + + + /** + * @return the fdIndex + */ + public String getFdIndex() { + return fdIndex; + } + + + + + /** + * @param fdIndex the fdIndex to set + */ + public void setFdIndex(String fdIndex) { + this.fdIndex = fdIndex; + } + + + + + /** + * @return the faceNumber + */ + public int getFaceNumber() { + return faceNumber; + } + + + /** + * @param faceNumber the faceNumber to set + */ + public void setFaceNumber(int faceNumber) { + this.faceNumber = faceNumber; + } + + + /** + * @return the level + */ + public int getLevel() { + return level; + } + /** + * @param level the level to set + */ + public void setLevel(int level) { + this.level = level; + } + /** + * @return the cdkey + */ + public String getCdkey() { + return cdkey; + } + /** + * @param cdkey the cdkey to set + */ + public void setCdkey(String cdkey) { + this.cdkey = cdkey; + } + /** + * @return the regNumber + */ + public int getRegNumber() { + return RegNumber; + } + /** + * @param regNumber the regNumber to set + */ + public void setRegNumber(int regNumber) { + RegNumber = regNumber; + } + /** + * @return the online + */ + public int getOnline() { + return online; + } + /** + * @param online the online to set + */ + public void setOnline(int online) { + this.online = online; + } + /** + * @return the dataPlaceNumber + */ + public int getDataPlaceNumber() { + return DataPlaceNumber; + } + /** + * @param dataPlaceNumber the dataPlaceNumber to set + */ + public void setDataPlaceNumber(int dataPlaceNumber) { + DataPlaceNumber = dataPlaceNumber; + } + /** + * @return the name + */ + public String getName() { + return name; + } + /** + * @param name the name to set + */ + public void setName(String name) { + this.name = name; + } + /** + * @return the titleName + */ + public String getTitleName() { + return titleName; + } + /** + * @param titleName the titleName to set + */ + public void setTitleName(String titleName) { + this.titleName = titleName; + } + /** + * @return the guildID + */ + public int getGuildID() { + return guildID; + } + /** + * @param guildID the guildID to set + */ + public void setGuildID(int guildID) { + this.guildID = guildID; + } + /** + * @return the guildTitleID + */ + public int getGuildTitleID() { + return guildTitleID; + } + /** + * @param guildTitleID the guildTitleID to set + */ + public void setGuildTitleID(int guildTitleID) { + this.guildTitleID = guildTitleID; + } + + public String makeDBGetEntryString() + { + String ret = ""; + ret = "DBGetEntryString successful " + this.getOnline() + "|" + this.getLevel() + "|" + this.getTitleName() + "|" +this.getFaceNumber() + "|" + "-1" + "|" + " " + "db_addressbook" + " " + this.getCdkey() + "#" + Tools.SixtyTwoScale(this.getRegNumber()) + " "+this.getOnline()+" 0"; + return ret; + } + +} diff --git a/src/mlserver/Rank.java b/src/mlserver/Rank.java new file mode 100644 index 0000000..63fe44e --- /dev/null +++ b/src/mlserver/Rank.java @@ -0,0 +1,149 @@ +package mlserver; + +public class Rank { + private String table = ""; + private String cdkey = ""; + private int RegNumber = 0; + private int value = 0; + private int level = 0; + private String job = ""; + private String name = ""; + private String str = ""; + private int unk1 = 0; + private int unk2 = 0; + public Rank(){} + + public Rank(String[] buf) + { + this.table = buf[1]; + this.cdkey = buf[2]; + this.RegNumber = Integer.parseInt(buf[3]); + this.value = Integer.parseInt(buf[4]); + this.str = buf[5]; + this.unk1 = Integer.parseInt(buf[6]); + this.unk2 = Integer.parseInt(buf[7]); + } + /** + * @return the table + */ + public String getTable() { + return table; + } + /** + * @param table the table to set + */ + public void setTable(String table) { + this.table = table; + } + /** + * @return the cdkey + */ + public String getCdkey() { + return cdkey; + } + /** + * @param cdkey the cdkey to set + */ + public void setCdkey(String cdkey) { + this.cdkey = cdkey; + } + /** + * @return the regNumber + */ + public int getRegNumber() { + return RegNumber; + } + /** + * @param regNumber the regNumber to set + */ + public void setRegNumber(int regNumber) { + RegNumber = regNumber; + } + /** + * @return the value + */ + public int getValue() { + return value; + } + /** + * @param value the value to set + */ + public void setValue(int value) { + this.value = value; + } + /** + * @return the level + */ + public int getLevel() { + return level; + } + /** + * @param level the level to set + */ + public void setLevel(int level) { + this.level = level; + } + /** + * @return the job + */ + public String getJob() { + return job; + } + /** + * @param job the job to set + */ + public void setJob(String job) { + this.job = job; + } + /** + * @return the name + */ + public String getName() { + return name; + } + /** + * @param name the name to set + */ + public void setName(String name) { + this.name = name; + } + /** + * @return the unk1 + */ + public int getUnk1() { + return unk1; + } + /** + * @param unk1 the unk1 to set + */ + public void setUnk1(int unk1) { + this.unk1 = unk1; + } + /** + * @return the unk2 + */ + public int getUnk2() { + return unk2; + } + /** + * @param unk2 the unk2 to set + */ + public void setUnk2(int unk2) { + this.unk2 = unk2; + } + /** + * @return the str + */ + public String getStr() { + return str; + } + /** + * @param str the str to set + */ + public void setStr(String str) { + this.str = str; + } + + + +} diff --git a/src/mlserver/ServerList.java b/src/mlserver/ServerList.java new file mode 100644 index 0000000..9ed299a --- /dev/null +++ b/src/mlserver/ServerList.java @@ -0,0 +1,86 @@ +package mlserver; + +import java.util.ArrayList; + +public class ServerList { + private ArrayList servers = null; + public ServerList() + { + servers = new ArrayList (); + } + /** + * @return the servers + */ + public ArrayList getServers() { + return servers; + } + + /** + * @param servers the servers to set + */ + public void setServers(ArrayList servers) { + this.servers = servers; + } + + public void addNewServer(GmsvServer gs) + { + if(servers!=null) + { + if(!servers.contains(gs)) + servers.add(gs); + } + } + + public GmsvServer getServerFromID(int id) + { + GmsvServer gs = null; + for(int i=0;i=0 && val<=61) + return dict[val]; + else + return '0'; + } + + private static int Convert(char val) + { + for(int i=0;i<62;i++) + { + if(dict[i] == val) + return i; + } + return 0; + } + + public static int SixtyTwoScale(String value) + { + String val = value; + int length = val.length(); + int ret = 0; + for (int i = 0; i < length; i++) + { + int v = (int) Math.pow(62, (length - i - 1)); + char c = val.charAt(i); + int t = Convert (c); + ret += t * v; + } + return ret; + } + + public static String SixtyTwoScale(int value_long) + { + int val = value_long; + String res = ""; + if(val == 0) + return "0"; + int ret = val; + while (ret > 0) + { + int v = ret % 62; + res = Convert(v) + res; + ret = ret / 62; + } + return res; + } + + +}