From d86836ae8d8ff046d310ba324baa46d692619465 Mon Sep 17 00:00:00 2001 From: RaidMax Date: Sun, 28 May 2017 20:54:46 -0500 Subject: [PATCH] Moved Alias Database into interface... --- Admin/Manager.cs | 10 +++++--- Admin/Server.cs | 31 ++++++++++------------- Admin/lib/SharedLibrary.dll | Bin 103424 -> 102912 bytes SharedLibrary/Commands/NativeCommands.cs | 5 ++-- SharedLibrary/Interfaces/IManager.cs | 1 + SharedLibrary/Server.cs | 7 ++--- 6 files changed, 28 insertions(+), 26 deletions(-) diff --git a/Admin/Manager.cs b/Admin/Manager.cs index be42ad5a9..56014d90b 100644 --- a/Admin/Manager.cs +++ b/Admin/Manager.cs @@ -19,6 +19,7 @@ namespace IW4MAdmin public List Servers { get; private set; } List TaskStatuses; Database ClientDatabase; + Database AliasesDatabase; SharedLibrary.Interfaces.IPenaltyList ClientPenalties; List Commands; Kayak.IScheduler webServiceTask; @@ -33,15 +34,13 @@ namespace IW4MAdmin private Manager() { - //IFile logFile = new IFile("Logs/IW4MAdminManager.log", true); Logger = new Logger("Logs/IW4MAdmin.log"); - //Logger = new Log(logFile, Log.Level.Production, 0); Servers = new List(); Commands = new List(); TaskStatuses = new List(); - ClientDatabase = new ClientsDB("Database/clients.rm"); + AliasesDatabase = new AliasesDB("Database/aliases.rm"); ClientPenalties = new PenaltyList(); } @@ -149,6 +148,11 @@ namespace IW4MAdmin return ClientDatabase as ClientsDB; } + public AliasesDB GetAliasesDatabase() + { + return AliasesDatabase as AliasesDB; + } + public SharedLibrary.Interfaces.IPenaltyList GetClientPenalties() { return ClientPenalties; diff --git a/Admin/Server.cs b/Admin/Server.cs index 1048be0a6..f4d4b5606 100644 --- a/Admin/Server.cs +++ b/Admin/Server.cs @@ -17,17 +17,17 @@ namespace IW4MAdmin initCommands(); } - private void getAliases(List returnAliases, Aliases currentAlias) + private void GetAliases(List returnAliases, Aliases currentAlias) { foreach(String IP in currentAlias.IPS) { - List Matching = aliasDB.getPlayer(IP); + List Matching = Manager.GetAliasesDatabase().getPlayer(IP); foreach(Aliases I in Matching) { if (!returnAliases.Contains(I) && returnAliases.Find(x => x.Number == I.Number) == null) { returnAliases.Add(I); - getAliases(returnAliases, I); + GetAliases(returnAliases, I); } } } @@ -40,12 +40,12 @@ namespace IW4MAdmin if (Origin == null) return allAliases; - Aliases currentIdentityAliases = aliasDB.getPlayer(Origin.databaseID); + Aliases currentIdentityAliases = Manager.GetAliasesDatabase().getPlayer(Origin.databaseID); if (currentIdentityAliases == null) return allAliases; - getAliases(allAliases, currentIdentityAliases); + GetAliases(allAliases, currentIdentityAliases); return allAliases; } @@ -62,11 +62,8 @@ namespace IW4MAdmin } Logger.WriteDebug($"Client slot #{P.clientID} now reserved"); - - -#if DEBUG == false + try -#endif { Player NewPlayer = Manager.GetClientDatabase().getPlayer(P.npID, P.clientID); @@ -75,7 +72,7 @@ namespace IW4MAdmin Logger.WriteDebug($"Client slot #{P.clientID} first time connecting"); Manager.GetClientDatabase().addPlayer(P); NewPlayer = Manager.GetClientDatabase().getPlayer(P.npID, P.clientID); - aliasDB.addPlayer(new Aliases(NewPlayer.databaseID, NewPlayer.Name, NewPlayer.IP)); + Manager.GetAliasesDatabase().addPlayer(new Aliases(NewPlayer.databaseID, NewPlayer.Name, NewPlayer.IP)); } @@ -88,12 +85,12 @@ namespace IW4MAdmin // below this needs to be optimized ~ 425ms runtime NewPlayer.updateName(P.Name.Trim()); - NewPlayer.Alias = aliasDB.getPlayer(NewPlayer.databaseID); + NewPlayer.Alias = Manager.GetAliasesDatabase().getPlayer(NewPlayer.databaseID); if (NewPlayer.Alias == null) { - aliasDB.addPlayer(new Aliases(NewPlayer.databaseID, NewPlayer.Name, NewPlayer.IP)); - NewPlayer.Alias = aliasDB.getPlayer(NewPlayer.databaseID); + Manager.GetAliasesDatabase().addPlayer(new Aliases(NewPlayer.databaseID, NewPlayer.Name, NewPlayer.IP)); + NewPlayer.Alias = Manager.GetAliasesDatabase().getPlayer(NewPlayer.databaseID); } if (P.lastEvent == null || P.lastEvent.Owner == null) @@ -116,7 +113,7 @@ namespace IW4MAdmin NewPlayer.updateIP(P.IP); - aliasDB.updatePlayer(NewPlayer.Alias); + Manager.GetAliasesDatabase().updatePlayer(NewPlayer.Alias); Manager.GetClientDatabase().updatePlayer(NewPlayer); await ExecuteEvent(new Event(Event.GType.Connect, "", NewPlayer, null, this)); @@ -171,13 +168,13 @@ namespace IW4MAdmin ClientNum++; return true; } -#if DEBUG == false + catch (Exception E) { - Manager.GetLogger().WriteError("Unable to add player " + P.Name + " - " + E.Message); + Manager.GetLogger().WriteError($"Unable to add player {P.Name}::{P.npID}"); + Manager.GetLogger().WriteDebug(E.StackTrace); return false; } -#endif } //Remove player by CLIENT NUMBER diff --git a/Admin/lib/SharedLibrary.dll b/Admin/lib/SharedLibrary.dll index 31b09fd00c731e6e3c4cf727840b3b09fdf1adf2..d6717c60c1e4b3a57f584995bf86970e0b4d5566 100644 GIT binary patch literal 102912 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≧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 z zvIo>B=NT1u81sV<;|-FMU;y~5cv|3QH!s4JSWtI(cfOO5tip(wNY$N(zh=1u29l~Zx2JOgxG z)d~D|1D_RQ*)}QLCS_BS(jh4wRtj~a2cy5*yhVMj@_6+vqNTTp4&Ng5dxUwsP6!+<^JqktEg-v!)bJ^|QgJ_Q(uCI(gB{4c=6Qp?p+ z%c#_Hoz!xJ)N+&5@*%0^7OCYnspTdgW&V(lGT-8(%(waOs0pcm_bC;@J;IOHti*RH z2}AVs&Q0Ot~J@i z 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%0D$ve{7aw}IY4h4yd_$poM{=D7|JCjmYcR#zBb|I z(T;XbSBEWCvAU)!x4Xy)cx&#I_U=a;eYh*?!rJ#*D#8~fnwKBM^{`4y_2P<|NKDN5_5f2+aj5rsXO{L&@W z-l?U^Y&liKbVIGm?5U?J90gbStvqKEso6FMuL`T##gqqj*3b5+fL0Y%?CLleXfYZ8(<-=9t4)|2eX{jrU|u+AxFTLZ>!&Hy3K${g>8Qj9a1BWl`_qg;G z#+W&Jlx?2WEowm@^sNif$>)-Zu`9Euq5`IkimGy(4mGpbK5ITPHb@DBM&r(*1XhED`7%|c!(%@max{fFrmD>{zt&{TGyd&zQl36~?U z7o$Cr9Vka1MVE8@rm2gIm%`4Ez&c_zEi!mchkE7ncB@-Pr`dErY2nx|$8H-HjKNxpU4GqiL6BBS@uu7@TTvHz?nEXe5qn;8mz4m*Q=qDCRcb z;aPzp3INgv=<8~(n>f#c)Yk<}SbX=9CPzUuzZLu+O z*IPtxOe4UVqx&j{_*6ZyOHvzCm z2W9dgafoQFXcXOY(IgF``?4~99ZtoibmuESW2$NxeA!NNQiFeP{aGjzx8wE#WOF)M z{Z3sRJl3ts4xvR^@KB@I+UVqAv(2Nn1T?5z@9at`1iQBQymWZJEmP?`1iiM)Xg#KQ zYJ_uuU9Ihby@J@3wk)=!Q&+vI7Q-&<)G}3V*iDBp=v0%mwScIEgHP@$y|%_hNoZSW z9XJ!|b)0NaY`)xlZWKzbp2H}ws+@@db%{B)%&Ve${fMD|oa4306YFF)&0Pc9>x;rN z>)Ec(i(yURD&=0ii%s9@teC~iHwb0pgioU{XdyK=xd)j_zlzh$>A~WC=kS=UTgtZ= zW9DckZknP#?UQgs^pPArIESWq9ZtUTK@S^-P=YI?wzpoNMB#oO?K%ybH^(-8w6t79 zShL&vDPH#wxJ=barg*t;f|in&{mV6N0F(I+8>MaKf=PRWXM)7;aLxjezT3#VI|6^0H)(9&tyt&|dNE zxm~;|JQk;}a%{+Qa*t9RZw-@mhC-6UJ}X7926PEk?JkLVc)o3@X_2&6k%FD2S9LG_ zTgd{BWt=5B`tI-It{@Ihj#s5Sn;NX|X;26C(Xu^2&Y1*<#i4ZOc0^Js>ttzokE0RV zW7S`+{YKWs9>)QX-B>$mI!BPYW;>qtfHBQIl*I+`Ry$Q=l)oPxpektklOn9T%9d>}0-kwAbuOiY^>_-Rb&73OZ?KXBio>&$YpaHPc=uNm?OWPE< z%~0_kaX4(8!~?2XZ5uzm6skjZd}{0LEuS_$Nl51Hr={qb(@vrmHdkFsk$!+H8iiTB z9OuoKVq3Ze2Vbo?o!|{Yp6*ONZF@u+ft9EU%gjREW8}{*xLzcE@y%E_rx*2rR**}Ymc%&K&7YD` zb8Mf`B~hYtQjQ*3P7}7_tt5M!(lmOdah9J#&-Cs>UADvJrv4w2z!!lN(1)-G;S|{E zci?j?!_eV8&(td3fxc$H0{6WG3(u)MJ@);LQgioUw3k8)^kL0q`0&ae94FwDR(@)S z0^A@F8UcKbz_kL;f(GruK`z6k){)O;_&m%WoVYOxSnWm4C;5@;@XX-&2byYS1+BA-3R2kPSJp3Wngr<~-A*v#d<0j5xc;fy6>R<() zLX@&hksIw5gE)9u1!~GI<`H$`F?Y;I>K2bR^oXcx&BeTigaV&Vl+;Rb=MlMjam-b$Ya?l!a1~~Ib z)pjGs?L3_>T2<{(7p2JS3hI1;SxMx0ha+W1ENE zskroWdY&pZx;d_f(IiI~&pJxWGn_LZNgl(D1B}xSA*~-qkkgV=Zx8Y~nOHCV;OQvY z>9)GND9iSs^fG+WP&K}(^gqWLvG3kl_uU$7iij8vJQ)TV*soMfqmk2>yCoVSDzJ9d zaxla6(lPL>cR}TM;`YVVJiDJcxDF5HrvX;y(g1R|OZgoqiz?!bYy|bNcd0Dy(NqoY zST8tndTFm3%HGPU%0-qE+coHMr0dDHT#4T0i9aVdG2JWrc_H3XEzU#N`nGvgYq!Ye zu1;-}C$e^-J}!0I#kJ+5X6QYxs*6j1WpVGqKId1}T%Mi9*{Jr8qr%j5#!Vg4#%ch4 zqQ{a(&0a)u@_>u2-!#bjREB0;-{;VCYWjN}#pal5b>^6RgtWuT@!?2u9V#WE?DHPDH|ts;DHkF;O`8vvuooiT0(%Ri`|4zzox3G8nRGQT$5Ur? zd)8ro7MF%InTw{gT~epgP3n?9wC~kywpu`Gs9WMrw{$}{xfF4c*(-YLzJI`FlX^>9 zdyFZG^IV@=SX?H1f%&tq7**R)mu^G(p+#7@UQA&C>Ic3!<%^yy|gXE7x_Pc9v7l2KItI>bk9J;D3rMH)PyGY3*u3 zYqgtU)iZamC4H}DM`=yuXlJM1%CS}2!7SDyKK?{bZ=*%g|9yUM(UzHmkbMZ&(~%hC z(^`Dic+W^j#P-mU)z**aF7|y9Yw#|0*S5ta5K&R18I!8ow!KqQ?hOKbp4)m}0P>iFdU0|^@2Z~9o z(`Yf>R*vfpttOwSw%f)uZ5JchhEoS^%fk7kbxGS<_T2!aF$&r}C^m{#NS|iXizF3O z^y;W>RFf6g{UV#v^VmAu`coGACWk=B8nm~f?~rIKWw%1xt+k#usGal#XlK2C0DW9~ zyp+k-AKL>WC8eY`&_{3|o+v;2#F)zwSd0GZ!lvpn=`ZVGYEh4j33J^oSRpoD_qcJ+ z$yQ!^CfpKfubZnc?Y@09l*3w~*6l{zx!%n>YQD!)=qC}ol>k58nC+fte+|! zy+5AQJH8`VQqBc?K5=YmQS9~D>7&V%9x6)$?Z4R;hcn6XcibZe3C`Ctd!NRz{X}}t zHWx}n4YO_cNjZ+bXETa%F?*}xY_MA#8v1^yHK#Z?k34nNE|K>EDqB3Qf)s4(10QHw z=VW7L%cINN?(JlQrQHK`I#q&Gv(A!$QQPhhn6=TWpaQJztnCD|DkLH1 zkC>rQh}oTF2UH=Uer6yT3WX2MtQ|2!^&#tGg6$yUL`y(nmRx6c<(1{d(f&n!&izyi5T_h7ZBDUqKsfYnvRZ-1j=THM{hR5Z6Q>ElDF!@ zqaU-91J)G{356P@+eU9iOMn^R&eESS!)>*l=wzdQ&b%7aoEaW#Hx^*X#yaH!f(2@U zQCco^wfLDm;aQ+4DM$5`4OP~lu^L~XeC5zlWk8=62P#<9;$yd^ zHX0uNSRt{Ejjsw?Vh8;cimFkkf{Rcb-Fu@|zR(#VV0L#@1xhXPu17((IaH5ob&*PD zS=ElsfQCB-E3JO43@T2W+OhL781=wHi|mG1p1g2Fz#ayt21lkqz{h3>g8_6b=L?%? zLO(*40lzJ6xOrh9=xScG)w}|mW~+*3bVCE@VxcFR%_+1{(uPojk5gT=DOeNmH(=V1 ze#!{fglo)jjm517wn~yQy{zoIKqY(h9y4f$mjd}*$TVpQf--&Xp;a(xAR0nuRiwlS z)s97L#}c(;Nj){X$0nY|s z?btOltPu-^f(@Y{Yr-E)3nl`%s0LUPjBF6<4FQ6P27}0Lf|8h}umDu~P{>ks=s3FF ztLi1?$cJ8r${~_u)+xw^5rTzTRXh5qABJ-D(ZDLhFlrVkKPJG~Dp-{8WkS(J3Z^wl zbiEy2FVT&5bfZL@?Pzm(z|!&>Y0G~YBIdh!tSU zvzU%G5uH+pX^ezAH78IaBtboj&EaONgzmPWHM-5S0y-hwW@^edV60JeqYVRLHFCQx z_jYMUhaK&ZXqO%Bl4y?|?UCq3cJ!jMfFIMWHi{uuMpac!pe(!`!--Latv18!tro5i z>5QN$SthI*EMc$`X4NJ){Q+M{?5Ghe4+K~os$o`O3e}D+HyJ8uh3~=827T06pQW+B zQmkfU%Vj02ub&Yp50Cy-tibbF*u;2*$`v&Ary+2ls#BGv zg=9{+U|Bim5ZTa}gh!vDvF1#Q+iDP(=sr8Tua>zfi;Hwjr8^>XD}`mc!H=e)7yK}x zp*j`521*nPm12cjfTg+|^}v#ZbaFj<{c5Jrs-W*t!;oF!kVNx#G%wM^cJ#1BuePIC zOLWwZj!N`8J9?c&Z?K~`Nc1K5*@dr;}X5g zj@~8FyY1-R5m_#48qYq2;5j*;b zL?5%Gk4g0VcJ%uaeaenLCDEtt=+hFNu%i5X z^l=zttRC>KMjtOp}yLo9`#U<7O1atsIPOVZ}3pxP!|Z=Ly7tQ zxF_?bPym*inuxjX66iyPDsFMAxTP*oPEK5~VP7Sil`37!We>5ZzTDsIqw64aW+343nwurZQo9>#%%- zjzZgx(s#o$^CfPKuvfF2aI`>iFKjaAXQ!QWuQOZjm)2Wz_5S(n8VWZC^JIx&3u4u~ z-e&S;XQ*JjTz&H3tU!gu<(Td{VOi+2W6*tgzS!5<`UUgmD*td{G#~M#KjIXC#d8&S zOmu@uW8b&B&KaTaHv}pzX`T{kKv(!Llb0Uc_6qK4(8F}z>=r)d@O^p;->0qq*zQOL zTk4W(Vs@c3f9|T-k?iLjQPf>Ir_f)pw=(!z@d`b5qR=C-z^*D@4F1cNdoGyUG;w3_ zKaX7XuTSoLX+v<;=XU<=pFaKhUzRBRl^6sjfscTRB~TVsQc4gY2ok`ZfXO1LAgCm$ zA_x&w6TFE(?2X&a(kipG9{$K>C8f34x0RZ_E=NL=NIgM>U@?-~%+hjNu=@zUWR{j% z{%#0)OA(q8QV9FFW1xDk7ldB8owD6VB6ikB6wq|si9@C+xpFIqjOC=#ZaZ1Rt+&hX zv8ZTL$L5qXSMSBkY&6ImT`{*TXvFBF1dlVlP55BEh*<79TDhmn_P@k)VmogkxQ*a; zf^mYo2<|30N^md1{RCeoc#z;8f@3!G8nmUx7QKd94--5>@R&{1!Pxf+o+NmR;AuN^ zJ!2CD&)IyM?Yw66g-k+b|D50i!HWbh6TAvACQRS3%WQ{4+nEgQ36E)>RA0tQ>>4UT zBq>2ASHkZ%stDu&Bz&28xfQz(vFcL47YJNCgy8TIZ9e6EUpoX zn6(#$M}LW=m%vSwiJMU?juzs?$usBKi6ILpcL<0WN$hY^W;F z2PN^~rDV*;uN@b@5Fh#1dm@oFt5)N&>(lTn#j&QfP5pbfwtvIAReM*h*^8ekRF$Y>^~zQJr&PP4=B?bZrKj*Q{pHrjt4sY3CDPx@TsGy09*fj!le&I;P)4LUL;KUE*6;ZhX|B!B`ZTl< z;tBhy{ZfPwzo@C240VRLZtJ_+EBPyG%QoVxdi<_-i~ORd^+S$oje$F@o-gZq3*q~X zohEn9WW<{UYYny1Tb=!h-R1(8g|93YEpnEjR-Z&Z>r4AZ zi%laPKigll3=GGrlT@WY=3lhbGy+;b30Sn)Gy^Oj1pc!N@x$sx3!P)Avrg8mt4S)P|E)$)e7Oj*AwbZZO$c`Q~=flG9b}{ZX!> z#itt_{X>mKi%m0!`7%S>MtzgSze*mQG5x<-F$xoFwxW-@|2eaeDSKR%Kl*HEt&Xo+<{&lex zXReO-uaB*XuZza8T3UZk{4E~v!XJ-C>cQpk-G(~+UPJBbZtLFr(fObFz}>-j-uSE9 zg|iNy`2kkadiEav@X{CE@JlzK$In*n@uaUDiuY51 z|AYP>yvOctrG7{}Qe5~)Ty*$|0e)PpEtTrTr{?vKx+W4U`P(}DdvghR)D-99PBnyR z4&JkNr($b`e+uvZOid@8J3LQTX#y4wvaovHJ z%61CnS4)2VC-T>UNyL@HE1dFI0!ZC)|Ft1vfGeLa+lmK}_#7yo8s=k6{9DY2eeix1 z-xlF#VBK$v2!Xn{2Gh@$-O?g&(}+t7PN+s ix$!ko{btNtl|vW(zxOw8C>}un9DB9D{{8>22mT*@x)J>V literal 103424 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 TGZc@+yYYtjU;qB^>w*6VI38Mi diff --git a/SharedLibrary/Commands/NativeCommands.cs b/SharedLibrary/Commands/NativeCommands.cs index cfc45eb1d..edc0f3432 100644 --- a/SharedLibrary/Commands/NativeCommands.cs +++ b/SharedLibrary/Commands/NativeCommands.cs @@ -406,8 +406,7 @@ namespace SharedLibrary.Commands return; } - //var db_players = E.Owner.Manager.GetClientDatabase().findPlayers(E.Data.Trim()); - var db_aliases = E.Owner.aliasDB.findPlayers(E.Data); + var db_aliases = E.Owner.Manager.GetAliasesDatabase().findPlayers(E.Data); if (db_aliases == null) { @@ -625,7 +624,7 @@ namespace SharedLibrary.Commands public override async Task ExecuteAsync(Event E) { - E.Target.Alias = E.Owner.aliasDB.getPlayer(E.Target.databaseID); + E.Target.Alias = E.Owner.Manager.GetAliasesDatabase().getPlayer(E.Target.databaseID); if (E.Target.Alias == null) { diff --git a/SharedLibrary/Interfaces/IManager.cs b/SharedLibrary/Interfaces/IManager.cs index 119b943be..74725bee0 100644 --- a/SharedLibrary/Interfaces/IManager.cs +++ b/SharedLibrary/Interfaces/IManager.cs @@ -16,5 +16,6 @@ namespace SharedLibrary.Interfaces List GetCommands(); IPenaltyList GetClientPenalties(); ClientsDB GetClientDatabase(); + AliasesDB GetAliasesDatabase(); } } diff --git a/SharedLibrary/Server.cs b/SharedLibrary/Server.cs index 10a371681..2804b443c 100644 --- a/SharedLibrary/Server.cs +++ b/SharedLibrary/Server.cs @@ -21,8 +21,7 @@ namespace SharedLibrary Port = port; Manager = mgr; Logger = Manager.GetLogger(); - ClientNum = 0; - aliasDB = new AliasesDB("Database/aliases.rm"); + ClientNum = 0; Players = new List(new Player[18]); events = new Queue(); @@ -221,6 +220,7 @@ namespace SharedLibrary /// Message to be sent to all players public async Task Broadcast(String Message) { + return; await this.ExecuteCommandAsync($"sayraw {Message}"); } @@ -231,6 +231,7 @@ namespace SharedLibrary /// Player to send message to public async Task Tell(String Message, Player Target) { + return; if (Target.clientID > -1 && Message.Length > 0 && Target.Level != Player.Permission.Console && !Target.lastEvent.Remote) await this.ExecuteCommandAsync($"tellraw {Target.clientID} {Message}^7"); @@ -467,7 +468,7 @@ namespace SharedLibrary // Databases //public ClientsDB clientDB; - public AliasesDB aliasDB; + //public AliasesDB aliasDB; //Remote public Queue commandResult = new Queue();