From 2dc8f55e7cf51a304a1fa1e687756518d8de30af Mon Sep 17 00:00:00 2001 From: RaidMax Date: Tue, 13 Jun 2017 18:33:47 -0400 Subject: [PATCH] Reverted some of plugin method signatures as I realized it didn't really make sense. --- Admin/Manager.cs | 24 +++-- Admin/Server.cs | 3 +- Admin/lib/SharedLibrary.dll | Bin 106496 -> 106496 bytes Plugins/EventAPI/Plugin.cs | 4 +- Plugins/FastRestart/Plugin.cs | 14 +-- Plugins/MessageBoard/Forum.cs | 68 +++++++------- Plugins/MessageBoard/Plugin.cs | 14 +-- Plugins/MessageBoard/User.cs | 2 +- Plugins/SimpleStats/Plugin.cs | 4 +- Plugins/VoteMap/Plugin.cs | 87 +++++++++--------- Plugins/Welcome/Plugin.cs | 4 +- SharedLibrary/Helpers/ConfigurationManager.cs | 3 +- SharedLibrary/Interfaces/IPlugin.cs | 4 +- 13 files changed, 122 insertions(+), 109 deletions(-) diff --git a/Admin/Manager.cs b/Admin/Manager.cs index 296fd8028..f74847ad7 100644 --- a/Admin/Manager.cs +++ b/Admin/Manager.cs @@ -58,14 +58,29 @@ namespace IW4MAdmin public void Init() { + SharedLibrary.WebService.Init(); + SharedLibrary.Plugins.PluginImporter.Load(this); + + foreach (var Plugin in SharedLibrary.Plugins.PluginImporter.ActivePlugins) + { + try + { + Plugin.OnLoadAsync(); + } + + catch (Exception e) + { + Logger.WriteError($"An error occured loading plugin {Plugin.Name}"); + Logger.WriteDebug($"Exception: {e.Message}"); + Logger.WriteDebug($"Stack Trace: {e.StackTrace}"); + } + } + var Configs = Directory.EnumerateFiles("config/servers").Where(x => x.Contains(".cfg")); if (Configs.Count() == 0) ServerConfig.Generate(); - SharedLibrary.WebService.Init(); - SharedLibrary.Plugins.PluginImporter.Load(this); - foreach (var file in Configs) { var Conf = ServerConfig.Read(file); @@ -75,9 +90,6 @@ namespace IW4MAdmin { try { - foreach (var Plugin in SharedLibrary.Plugins.PluginImporter.ActivePlugins) - await Plugin.OnLoadAsync(ServerInstance); - await ServerInstance.Initialize(); Servers.Add(ServerInstance); diff --git a/Admin/Server.cs b/Admin/Server.cs index a93c31386..d8e1433b0 100644 --- a/Admin/Server.cs +++ b/Admin/Server.cs @@ -529,8 +529,9 @@ namespace IW4MAdmin throw new SharedLibrary.Exceptions.ServerException($"Invalid gamelog file {logPath}"); #endif } + else + logFile = new IFile(logPath); - logFile = new IFile(logPath); Logger.WriteInfo("Log file is " + logPath); await ExecuteEvent(new Event(Event.GType.Start, "Server started", null, null, this)); #if !DEBUG diff --git a/Admin/lib/SharedLibrary.dll b/Admin/lib/SharedLibrary.dll index 1e1e4970300d18c1507f1c2644eac646480fc394..8b60eb33ddba0a49aefc57a55dc07d1c9cc5935e 100644 GIT binary patch delta 2843 zcmZ9O3s6*57{||dTwqm%6XL?o$vn7@Bcl{y?5{K z_GZuR&7OOT$IN>%zN~Z#M3o(W53UdZyGK2}}g=B#%F@AOx;g zTrj)#9ek+arA5gIS+^l{n#Q(pdY+J%laZaCi|A48M5t*dT}w(pj_(jM(KYLWq&FNi zCX$H8Scs@iYn*141`UIZ!o-%A6MGi%^qU&BhW&^Oy1M(O)o@3t7!Z1IM zNt3{Ttvsn(^f?YrhE#@GI2Hv z;P_B)xR7IS!ajyA;n-4;x*52PgUccMBfaPc99sp23|qsobhym0ERJP^EmNAp ze>XxN1GjLATcL$vJ2>V9|17;|3CDIqD#P}0tPJY1Bt6l^!2@8()>#F|zJNrAeZ{eA zsAAX=jva*ohSkbU?k|5yu(=K#>-2_=T;lhzk6~vxb{4uBc8+7`A$q-D^CHLEppY`! zUw!g_=inc3nMwQ`!Zyfdii{?oWB4k(pr``l^FB+2t1v@j+pV>54PrI6+xo6>4ICPC zngV`~Jq5Qxsp$9rNbt*hp=!MsncVQ7aLscJ~&{RpFB;0^Yijs1KzVY*R@CX=j&4JkqU4*lU$_l(Rb~7#!0qb>hoTCM-vqS#yJ4}$`Yko+ zE+lE}fyINWRf;0<$Ywq$+=FsOmI)cbI|J`S_4`kD2#6|$IZ-026z;<@O&vvtg#oB1 z6T5<>v)bA?6pJ2k*@JLFVVy92Dxg8A*(g`;gf%8RRcxP!a71IW^C9Pa$T=Uuu8-9! zvhxwtkWagUaONg*q)U_*4L;n`NeM@-bKPF~lg$iAvFNfoH?;vc|mNxG>D+ zjXrhBBb;>xam(VLQXUV zP6-&Zmu?I;Nn~D+80jdGE$T1^%wB5)m*9bIJ4kU4E$t*Hd&D`WLbdcTY7)FSrxA-9 z>qmf$&oDuzHDN5pw$ zWDX68kW?D-_mSN+EOU|5G#oleuG0{6h9zQagNC`x-wv-0S1Vn=xHB3-I5>%YjCoM7< zbuwdW6yry=X<{A?7p|V zZ+ol9_EwMG#ct_g^U6x5L1fwCWEh|Tfx2UjfXvhnhtg#b2r;w(WH3{}&**wDAq184 zD`9rSB3#w{%Fz2SP0`vtvmKXwi=d8QC%Gf}~hG ztIKK7i6{tZSasqBs~k;66+e5l>ss~Ex zc?(Q7fp@yHsWWt{0L_rbF@J$sp^;-j0t*KB3@tNEU@t-<$7ag{jDUk2oGY+-Fv79d z1@;Em*JuOd1QrkF97_;bBFMcQd{=-e5WZFmT_LcQP{^@#fn~r2j;#||4%jla%#AQp z=FaaX$m8Hvp>Z3uajZ~aJHR_j3oQ{?DWq|1kH9E2X31LPmjc`i?%5iv64(JqJU|**VY!MnyLOI8N5?CAba_o%2&O&&OmifED{(wTp z*nH=e|F-}y!UeAJGWdU_#1t8fUUj$&f>l*uc+Tq`(giQM*mi3JbVHPj?XoT*-C%by zhiTNk2jX1pb5jcGfh0xA>bqY-u0W~NiZ1%BCVg^HU50&X z7Ss=!PKEM)v&dEGa;f71xnuwqs=tLr=oC{!aLlE4`pV=woL7}xWKe#~{((+a78qhC z8JX&JTG@yaasyDFGO!(Wdv~H?@K=>`(kjR>%yBBi0iWSXx4^Ed0>crXPVZX~?_z_N zTJ#?zx!7%sj;ZCUq6TC$?I$C!m&RV1x}-)u=s=06n%ssum--eRCZo`#sxp#c{?zvl z)V%-bGXQi4PP?3*D2geb-Gz=k`qvc+f3smvuY^lC(%{}_W!`ZgGB+t%-4Hed(0!=g z;8Y(P1DWETV-T0GImZO&7=&(Cm~+2zp>G@_ROUb>sGcwu!Y%&*=DMIB>d6D4@gbyb zrZ?Ey*EdtrC*fls(^vbX(3q{-78vvUV$ARBhP}7Z;y!8mF#D54$bqK8apEpmbl51< zODx)6Kt1}UP}?V3v|fnT3w;Lc?V#!XQlzoa89jzt$OOUSi6s{sM1VY>VD>`V(l23K z5$$KiP)vw(v61t0(ExYIstmKu^9)(f*^nir(%jqmumR8c`15#+! zer;=$u(e4T>w_bzXw85${am$k>p^xtd<6@^!`1X2iyo<=wn4VUA^H|8#=|t9mHeZ$ znw7D7+QCZI_jHt%t|n?3l5pAy`sR=nDz#|4_zAoC34{D`)k(U0NRqF&KHB9pu?iL& zww=<#Y(kh#aL&NB?V6J*?i!vUI0JCUFPbv|*Dm0!0XXNZ0-YCepwJkIx2Vj4{Ls%t zWD+huOG~dw^6+n3c95_|kPsG(!_RBZV8IzII74vbpPDm7aE4%ZKZq*WtsO>1W`x`t zE?;ZV>67)!;pB$T{&f@>qcW_E)7PwAcyz(n+2y-aMw>0U5KX*1EHLH0DKQ2MW<_dV zTLRHfEn@eg%amCx7MTH|4t6KnQ2}Uif<56#=Je{gU%!jpXFRj7A#7s@!|1ih)TG>1 z>vPrTRQsyjwR!7uQe%_D(); flaggedMessagesText = new List(); @@ -103,7 +103,7 @@ namespace EventAPI WebService.PageList.Add(new EventsJSON()); } - public async Task OnUnloadAsync(Server S) + public async Task OnUnloadAsync() { APIEvents.Clear(); ActiveServers.Clear(); diff --git a/Plugins/FastRestart/Plugin.cs b/Plugins/FastRestart/Plugin.cs index 6f3b5ffaa..175f27aee 100644 --- a/Plugins/FastRestart/Plugin.cs +++ b/Plugins/FastRestart/Plugin.cs @@ -53,6 +53,10 @@ namespace Plugin { if (E.Type == Event.GType.Start) { + ConfigManager.AddConfiguration(S); + if (ConfigManager.GetConfiguration(S).Keys.Count == 0) + ConfigManager.AddProperty(S, new KeyValuePair("Enabled", false)); + try { await S.GetDvarAsync("scr_intermission_time"); @@ -65,13 +69,9 @@ namespace Plugin } } - public async Task OnLoadAsync(Server S) + public async Task OnLoadAsync() { - ConfigManager = new ConfigurationManager(typeof(FastRestartPlugin)); - ConfigManager.AddConfiguration(S); - - if (ConfigManager.GetConfiguration(S).Keys.Count == 0) - ConfigManager.AddProperty(S, new KeyValuePair("Enabled", false)); + ConfigManager = new ConfigurationManager(typeof(FastRestartPlugin)); } public async Task OnTickAsync(Server S) @@ -92,7 +92,7 @@ namespace Plugin } } - public Task OnUnloadAsync(Server S) + public Task OnUnloadAsync() { return null; } diff --git a/Plugins/MessageBoard/Forum.cs b/Plugins/MessageBoard/Forum.cs index fd49b6aad..2510e8209 100644 --- a/Plugins/MessageBoard/Forum.cs +++ b/Plugins/MessageBoard/Forum.cs @@ -411,8 +411,8 @@ namespace MessageBoard.Forum { //Console.WriteLine("JSON request contains session header - " + requestHeaders["Cookie"]); string cookie = requestHeaders["Cookie"].Split('=')[1]; - Plugin.Main.forum.startSession(cookie); - currentSession = Plugin.Main.forum.getSession(cookie); + Plugin.Main.ManagerInstance.startSession(cookie); + currentSession = Plugin.Main.ManagerInstance.getSession(cookie); } else @@ -420,8 +420,8 @@ namespace MessageBoard.Forum string sessionID = Convert.ToBase64String(Encryption.PasswordHasher.GenerateSalt()); resp.additionalHeaders.Add("Set-Cookie", "IW4MAdmin_ForumSession=" + sessionID + "; path=/; expires=Sat, 01 May 2025 12:00:00 GMT"); currentSession = new Session(new User(), sessionID); - Plugin.Main.forum.startSession(sessionID); - currentSession = Plugin.Main.forum.getSession(sessionID); + Plugin.Main.ManagerInstance.startSession(sessionID); + currentSession = Plugin.Main.ManagerInstance.getSession(sessionID); } return resp; @@ -662,7 +662,7 @@ namespace MessageBoard.Forum public override Dictionary GetHeaders(IDictionary requestHeaders) { - Plugin.Main.forum.removeSession(requestHeaders["Cookie"].Split('=')[1]); + Plugin.Main.ManagerInstance.removeSession(requestHeaders["Cookie"].Split('=')[1]); return new Dictionary() { { "Set-Cookie", "IW4MAdmin_ForumSession=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT" } }; } @@ -711,10 +711,10 @@ namespace MessageBoard.Forum byte[] passwordSalt = Encryption.PasswordHasher.GenerateSalt(); string b64PasswordHash = Convert.ToBase64String(Encryption.PasswordHasher.ComputeHash(password, passwordSalt)); - User registeringUser = new User(username, querySet["hiddenUsername"], email, b64PasswordHash, Convert.ToBase64String(passwordSalt), Plugin.Main.forum.UserRank); + User registeringUser = new User(username, querySet["hiddenUsername"], email, b64PasswordHash, Convert.ToBase64String(passwordSalt), Plugin.Main.ManagerInstance.UserRank); currentSession = new Session(registeringUser, currentSession.sessionID); - var addUserResult = Plugin.Main.forum.addUser(registeringUser, currentSession); + var addUserResult = Plugin.Main.ManagerInstance.addUser(registeringUser, currentSession); if (addUserResult != Manager.ErrorCode.NO_ERROR) { @@ -757,8 +757,8 @@ namespace MessageBoard.Forum try { int userid = Convert.ToInt32(querySet["id"]); - info.user = Plugin.Main.forum.getUser(userid); - info.profile = Plugin.Main.forum.getProfileSettings(userid); + info.user = Plugin.Main.ManagerInstance.getUser(userid); + info.profile = Plugin.Main.ManagerInstance.getProfileSettings(userid); } catch (FormatException) @@ -778,7 +778,7 @@ namespace MessageBoard.Forum info.user = currentSession.sessionUser; try { - info.profile = Plugin.Main.forum.getProfileSettings(info.user.id); + info.profile = Plugin.Main.ManagerInstance.getProfileSettings(info.user.id); } catch (Exceptions.UserException) @@ -846,7 +846,7 @@ namespace MessageBoard.Forum User existingUser = null; try { - existingUser = Plugin.Main.forum.getUser(username); + existingUser = Plugin.Main.ManagerInstance.getUser(username); } catch (Exceptions.UserException) @@ -859,7 +859,7 @@ namespace MessageBoard.Forum aResp.errorCode = Manager.ErrorCode.USER_DUPLICATE; else { - var profile = Plugin.Main.forum.getProfileSettings(currentSession.sessionUser.id); + var profile = Plugin.Main.ManagerInstance.getProfileSettings(currentSession.sessionUser.id); if (username.Length <= Manager.USERNAME_MAXLENGTH) currentSession.sessionUser.updateUsername(username); else @@ -873,10 +873,10 @@ namespace MessageBoard.Forum currentSession.sessionUser.updatePassword(Convert.ToBase64String(passwordSalt), b64PasswordHash); } - Plugin.Main.forum.updateUser(currentSession.sessionUser); + Plugin.Main.ManagerInstance.updateUser(currentSession.sessionUser); if (bannercolor.Length == 7) profile.bannerColor = bannercolor; - Plugin.Main.forum.updateUserProfile(profile); + Plugin.Main.ManagerInstance.updateUserProfile(profile); } } @@ -908,7 +908,7 @@ namespace MessageBoard.Forum string username = DNA.Text.TextEngine.Text(querySet["username"]); string password = DNA.Text.TextEngine.Text(querySet["password"]); - var result = Plugin.Main.forum.authorizeUser(username, password, currentSession.sessionID); + var result = Plugin.Main.ManagerInstance.authorizeUser(username, password, currentSession.sessionID); aResp.success = result == Manager.ErrorCode.NO_ERROR; aResp.errorCode = result; aResp.destination = "home"; @@ -934,7 +934,7 @@ namespace MessageBoard.Forum public override HttpResponse GetPage(NameValueCollection querySet, IDictionary requestHeaders) { var resp = base.GetPage(querySet, requestHeaders); - var categories = Plugin.Main.forum.getAllCategories(); + var categories = Plugin.Main.ManagerInstance.getAllCategories(); resp.content = Newtonsoft.Json.JsonConvert.SerializeObject(categories); @@ -956,7 +956,7 @@ namespace MessageBoard.Forum try { List threads = new List(); - var categories = Plugin.Main.forum.getAllCategories(); + var categories = Plugin.Main.ManagerInstance.getAllCategories(); foreach (var t in categories) { @@ -967,7 +967,7 @@ namespace MessageBoard.Forum thread.categoryTitle = t.title; thread.categoryDescription = t.description; thread.categoryID = t.id; - thread.recentThreads = Plugin.Main.forum.getRecentThreads(t.id); + thread.recentThreads = Plugin.Main.ManagerInstance.getRecentThreads(t.id); threads.Add(thread); } @@ -998,12 +998,12 @@ namespace MessageBoard.Forum try { - var category = Plugin.Main.forum.getCategory(Convert.ToInt32(querySet["id"])); + var category = Plugin.Main.ManagerInstance.getCategory(Convert.ToInt32(querySet["id"])); if ((category.permissions.Find(x => x.rankID == currentSession.sessionUser.ranking.id).actionable & Permission.Action.READ) != Permission.Action.READ) throw new Exceptions.PermissionException("User cannot view this category"); - var categoryThreads = Plugin.Main.forum.getCategoryThreads(category.id); + var categoryThreads = Plugin.Main.ManagerInstance.getCategoryThreads(category.id); resp.content = Newtonsoft.Json.JsonConvert.SerializeObject(categoryThreads); return resp; @@ -1049,12 +1049,12 @@ namespace MessageBoard.Forum { if (querySet.Get("id") != null) { - var thread = Plugin.Main.forum.getThread(Convert.ToInt32(querySet["id"])); + var thread = Plugin.Main.ManagerInstance.getThread(Convert.ToInt32(querySet["id"])); if ((thread.threadCategory.permissions.Find(x => x.rankID == currentSession.sessionUser.ranking.id).actionable & Permission.Action.READ) != Permission.Action.READ) throw new Exceptions.PermissionException("User cannot view this post"); - var replies = Plugin.Main.forum.getReplies(thread.id); + var replies = Plugin.Main.ManagerInstance.getReplies(thread.id); resp.content = Newtonsoft.Json.JsonConvert.SerializeObject(new ThreadView(thread, replies)); aResp.success = true; @@ -1062,7 +1062,7 @@ namespace MessageBoard.Forum else if (querySet.Get("replyid") != null) { - var thread = Plugin.Main.forum.getReply(Convert.ToInt32(querySet["replyid"])); + var thread = Plugin.Main.ManagerInstance.getReply(Convert.ToInt32(querySet["replyid"])); //if ((thread.threadCategory.permissions.Find(x => x.rankID == currentSession.sessionUser.ranking.id).actionable & Permission.Action.READ) != Permission.Action.READ) // throw new Exceptions.PermissionException("User cannot view this post"); @@ -1112,7 +1112,7 @@ namespace MessageBoard.Forum { if (querySet.Get("id") != null) { - var thread = Plugin.Main.forum.getThread(Convert.ToInt32(querySet["id"])); + var thread = Plugin.Main.ManagerInstance.getThread(Convert.ToInt32(querySet["id"])); if (thread.author.id != currentSession.sessionUser.id && (thread.threadCategory.permissions.Find(x => x.rankID == currentSession.sessionUser.ranking.id).actionable & Permission.Action.MODIFY) != Permission.Action.MODIFY) throw new Exceptions.PermissionException("User cannot modify this post"); @@ -1120,7 +1120,7 @@ namespace MessageBoard.Forum if (querySet.Get("delete") != null) { thread.visible = false; - aResp.errorCode = Plugin.Main.forum.updateThread(thread); + aResp.errorCode = Plugin.Main.ManagerInstance.updateThread(thread); aResp.success = aResp.errorCode == Manager.ErrorCode.NO_ERROR; aResp.destination = "category?id=" + thread.threadCategory.id; } @@ -1149,7 +1149,7 @@ namespace MessageBoard.Forum if (thread.updateTitle(title) && thread.updateContent(content)) { - aResp.errorCode = Plugin.Main.forum.updateThread(thread); + aResp.errorCode = Plugin.Main.ManagerInstance.updateThread(thread); aResp.success = aResp.errorCode == Manager.ErrorCode.NO_ERROR; aResp.destination = "thread?id=" + thread.id; } @@ -1161,7 +1161,7 @@ namespace MessageBoard.Forum else if (querySet.Get("replyid") != null) { - var reply = Plugin.Main.forum.getReply(Convert.ToInt32(querySet["replyid"])); + var reply = Plugin.Main.ManagerInstance.getReply(Convert.ToInt32(querySet["replyid"])); if (currentSession.sessionUser.id == 0 || reply.author.id != currentSession.sessionUser.id && (reply.threadCategory.permissions.Find(x => x.rankID == currentSession.sessionUser.ranking.id).actionable & Permission.Action.MODIFY) != Permission.Action.MODIFY) throw new Exceptions.PermissionException("User cannot modify this reply"); @@ -1169,7 +1169,7 @@ namespace MessageBoard.Forum if (querySet.Get("delete") != null) { reply.visible = false; - aResp.errorCode = Plugin.Main.forum.updateReply(reply); + aResp.errorCode = Plugin.Main.ManagerInstance.updateReply(reply); aResp.success = aResp.errorCode == Manager.ErrorCode.NO_ERROR; aResp.destination = "thread?id=" + reply.threadid; } @@ -1199,7 +1199,7 @@ namespace MessageBoard.Forum if (reply.updateTitle(title) && reply.updateContent(content)) { - aResp.errorCode = Plugin.Main.forum.updateReply(reply); + aResp.errorCode = Plugin.Main.ManagerInstance.updateReply(reply); aResp.success = aResp.errorCode == Manager.ErrorCode.NO_ERROR; aResp.destination = "thread?id=" + threadID; } @@ -1265,23 +1265,23 @@ namespace MessageBoard.Forum if (querySet.Get("threadid") != null) { - var replyThread = Plugin.Main.forum.getThread(Convert.ToInt32(querySet.Get("threadid"))); + var replyThread = Plugin.Main.ManagerInstance.getThread(Convert.ToInt32(querySet.Get("threadid"))); var reply = new Post(title, replyThread.getID(), content, currentSession.sessionUser); - aResp.errorCode = Plugin.Main.forum.addPost(replyThread, reply); + aResp.errorCode = Plugin.Main.ManagerInstance.addPost(replyThread, reply); aResp.destination = String.Format("thread?id={0}", replyThread.id); aResp.success = aResp.errorCode == Manager.ErrorCode.NO_ERROR; } else { - Category threadCategory = Plugin.Main.forum.getCategory(Convert.ToInt32(querySet["category"])); + Category threadCategory = Plugin.Main.ManagerInstance.getCategory(Convert.ToInt32(querySet["category"])); if ((threadCategory.permissions.Find(x => x.rankID == currentSession.sessionUser.ranking.id).actionable & Permission.Action.WRITE) == Permission.Action.WRITE) { ForumThread newThread = new ForumThread(title, content, currentSession.sessionUser, threadCategory); - aResp.errorCode = Plugin.Main.forum.addThread(newThread); + aResp.errorCode = Plugin.Main.ManagerInstance.addThread(newThread); aResp.destination = String.Format("category?id={0}", threadCategory.id); aResp.success = aResp.errorCode == Manager.ErrorCode.NO_ERROR; } @@ -1328,7 +1328,7 @@ namespace MessageBoard.Forum stats.onlineUsers = new List(); - foreach (Session s in Plugin.Main.forum.getSessions()) + foreach (Session s in Plugin.Main.ManagerInstance.getSessions()) { if (s.sessionUser.ranking.id > 0 && (DateTime.Now - s.sessionStartTime).TotalMinutes < 5 && s.sessionUser.username != "Guest") stats.onlineUsers.Add(s.sessionUser); diff --git a/Plugins/MessageBoard/Plugin.cs b/Plugins/MessageBoard/Plugin.cs index 79abe9949..a66098d53 100644 --- a/Plugins/MessageBoard/Plugin.cs +++ b/Plugins/MessageBoard/Plugin.cs @@ -7,8 +7,7 @@ namespace MessageBoard.Plugin { public class Main : IPlugin { - public static Forum.Manager forum { get; private set; } - public static Server stupidServer { get; private set; } + public static Forum.Manager ManagerInstance { get; private set; } public string Author { @@ -36,13 +35,13 @@ namespace MessageBoard.Plugin public async Task OnLoadAsync() { - forum = new Forum.Manager(); - forum.Start(); + ManagerInstance = new Forum.Manager(); + ManagerInstance.Start(); } public async Task OnUnloadAsync() { - forum.Stop(); + ManagerInstance.Stop(); } public async Task OnTickAsync(Server S) @@ -52,11 +51,6 @@ namespace MessageBoard.Plugin public async Task OnEventAsync(Event E, Server S) { - if (E.Type == Event.GType.Start) - { - if (stupidServer == null) - stupidServer = S; - } } } } diff --git a/Plugins/MessageBoard/User.cs b/Plugins/MessageBoard/User.cs index 51d3f5b19..5a21741f7 100644 --- a/Plugins/MessageBoard/User.cs +++ b/Plugins/MessageBoard/User.cs @@ -27,7 +27,7 @@ namespace MessageBoard public User() { username = "Guest"; - ranking = Plugin.Main.forum.guestRank; + ranking = Plugin.Main.ManagerInstance.guestRank; } /// diff --git a/Plugins/SimpleStats/Plugin.cs b/Plugins/SimpleStats/Plugin.cs index 1dc94c0f6..3199ea135 100644 --- a/Plugins/SimpleStats/Plugin.cs +++ b/Plugins/SimpleStats/Plugin.cs @@ -133,12 +133,12 @@ namespace StatsPlugin get { return "RaidMax"; } } - public async Task OnLoadAsync(Server S) + public async Task OnLoadAsync() { statLists = new List(); } - public async Task OnUnloadAsync(Server S) + public async Task OnUnloadAsync() { statLists.Clear(); } diff --git a/Plugins/VoteMap/Plugin.cs b/Plugins/VoteMap/Plugin.cs index fad69f6bf..7e6f71a99 100644 --- a/Plugins/VoteMap/Plugin.cs +++ b/Plugins/VoteMap/Plugin.cs @@ -27,12 +27,12 @@ namespace Votemap_Plugin /// This is the `say` event that comes from the server public override async Task ExecuteAsync(Event E) { - var voting = Vote.getServerVotes(E.Owner.GetPort()); + var voting = Vote.GetServerVotes(E.Owner.GetPort()); // we only want to allow a vote during a vote session if (voting.voteInSession) { - if (voting.hasVoted(E.Origin.NetworkID)) + if (voting.ClientHasVoted(E.Origin.NetworkID)) await E.Origin.Tell("You have already voted. Use ^5!vc ^7to ^5cancel ^7your vote"); else { @@ -43,7 +43,7 @@ namespace Votemap_Plugin await E.Origin.Tell("^1" + E.Data + " is not a recognized map"); else { - voting.castVote(E.Origin.NetworkID, votedMap); + voting.CastClientVote(E.Origin.NetworkID, votedMap); await E.Origin.Tell("You voted for ^5" + votedMap.Alias); } } @@ -60,13 +60,13 @@ namespace Votemap_Plugin public override async Task ExecuteAsync(Event E) { - var voting = Vote.getServerVotes(E.Owner.GetPort()); + var voting = Vote.GetServerVotes(E.Owner.GetPort()); if (voting.voteInSession) { - if (voting.hasVoted(E.Origin.NetworkID)) + if (voting.ClientHasVoted(E.Origin.NetworkID)) { - voting.cancelVote(E.Origin.NetworkID); + voting.CancelClientVote(E.Origin.NetworkID); await E.Origin.Tell("Vote cancelled"); } @@ -97,7 +97,7 @@ namespace Votemap_Plugin public class ServerVoting { - public int serverID + public int ServerId { get; private set; } @@ -107,58 +107,63 @@ namespace Votemap_Plugin public bool waitForLoad; public DateTime voteTimeStart; public DateTime loadStartTime; - public List voteList + public List VoteList { get; private set; } public ServerVoting(int id) { - serverID = id; + ServerId = id; voteInSession = false; votePassed = false; matchEnded = false; waitForLoad = true; - voteList = new List(); + VoteList = new List(); } - public int getTotalVotes() + public int GetTotalVotes() { - return voteList.Count; + return VoteList.Count; } - public bool hasVoted(string guid) + public bool ClientHasVoted(string guid) { - return voteList.Exists(x => (x.guid == guid)); + return VoteList.Exists(x => (x.guid == guid)); } - public void castVote(string guid, Map map) + public void CastClientVote(string guid, Map map) { - var vote = new VoteData(); - vote.guid = guid; - vote.map = map; - voteList.Add(vote); + var vote = new VoteData() + { + guid = guid, + map = map + }; + VoteList.Add(vote); } - public void cancelVote(string guid) + public void CancelClientVote(string guid) { - voteList.RemoveAll(x => (x.guid == guid)); + VoteList.RemoveAll(x => (x.guid == guid)); } - public MapResult getTopMap() + public MapResult GetTopVotedMap() { List results = new List(); - MapResult result = new MapResult(); - result.map = new Map("Remain", "Remain"); - result.voteNum = 0; - - foreach (var vote in voteList) + MapResult result = new MapResult() + { + map = new Map("Remain", "Remain"), + voteNum = 0 + }; + foreach (var vote in VoteList) { if (!results.Exists(x => (x.map.Name == vote.map.Name))) { - MapResult newResult = new MapResult(); - newResult.map = vote.map; - newResult.voteNum = 1; + MapResult newResult = new MapResult() + { + map = vote.map, + voteNum = 1 + }; results.Add(newResult); } @@ -205,12 +210,12 @@ namespace Votemap_Plugin } } - public async Task OnLoadAsync(Server S) + public async Task OnLoadAsync() { serverVotingList = new List(); } - public async Task OnUnloadAsync(Server S) + public async Task OnUnloadAsync() { serverVotingList.Clear(); } @@ -223,7 +228,7 @@ namespace Votemap_Plugin public async Task OnTickAsync(Server S) { return; - var serverVotes = getServerVotes(S.GetPort()); + var serverVotes = GetServerVotes(S.GetPort()); if (serverVotes != null) { @@ -253,7 +258,7 @@ namespace Votemap_Plugin if (!serverVotes.voteInSession && serverVotes.votePassed && (DateTime.Now - serverVotes.voteTimeStart).TotalSeconds > 30) { - await S.ExecuteCommandAsync("map " + serverVotes.getTopMap().map.Name); + await S.ExecuteCommandAsync("map " + serverVotes.GetTopVotedMap().map.Name); serverVotes.votePassed = false; return; } @@ -264,14 +269,14 @@ namespace Votemap_Plugin { serverVotes.voteInSession = false; - MapResult m = serverVotes.getTopMap(); + MapResult m = serverVotes.GetTopVotedMap(); await S.Broadcast("Voting has ended!"); if (m.voteNum < minVotes && S.GetPlayersAsList().Count > 4) await S.Broadcast("Vote map failed. At least ^5" + minVotes + " ^7people must choose the same map"); else { - await S.Broadcast(String.Format("Next map is ^5{0} ^7- [^2{1}/{2}^7] votes", m.map.Alias, m.voteNum, serverVotes.getTotalVotes())); + await S.Broadcast(String.Format("Next map is ^5{0} ^7- [^2{1}/{2}^7] votes", m.map.Alias, m.voteNum, serverVotes.GetTotalVotes())); serverVotes.votePassed = true; } } @@ -289,22 +294,22 @@ namespace Votemap_Plugin if (E.Type == Event.GType.Stop) { - serverVotingList.RemoveAll(x => x.serverID == S.GetPort()); + serverVotingList.RemoveAll(x => x.ServerId == S.GetPort()); } if (E.Type == Event.GType.MapEnd || E.Type == Event.GType.MapChange) { - var serverVotes = getServerVotes(S.GetPort()); - serverVotes.voteList.Clear(); + var serverVotes = GetServerVotes(S.GetPort()); + serverVotes.VoteList.Clear(); serverVotes.voteTimeStart = DateTime.MinValue; serverVotes.loadStartTime = DateTime.Now; serverVotes.waitForLoad = true; } } - public static ServerVoting getServerVotes(int serverID) + public static ServerVoting GetServerVotes(int serverID) { - return serverVotingList.Find(x => (x.serverID == serverID)); + return serverVotingList.Find(x => (x.ServerId == serverID)); } } } diff --git a/Plugins/Welcome/Plugin.cs b/Plugins/Welcome/Plugin.cs index 099766df1..14a499a1c 100644 --- a/Plugins/Welcome/Plugin.cs +++ b/Plugins/Welcome/Plugin.cs @@ -84,13 +84,13 @@ namespace Welcome_Plugin } } - public async Task OnLoadAsync(Server S) + public async Task OnLoadAsync() { PlayerPings = new Dictionary(); PingAverageCount = 1; } - public async Task OnUnloadAsync(Server S) + public async Task OnUnloadAsync() { PlayerPings.Clear(); PlayerPings = null; diff --git a/SharedLibrary/Helpers/ConfigurationManager.cs b/SharedLibrary/Helpers/ConfigurationManager.cs index b5777bef8..ae8b9eb02 100644 --- a/SharedLibrary/Helpers/ConfigurationManager.cs +++ b/SharedLibrary/Helpers/ConfigurationManager.cs @@ -22,10 +22,11 @@ namespace SharedLibrary.Helpers ConfigurationSet.Add(S.ToString(), Config); } - catch(Exceptions.SerializeException) + catch (Exceptions.SerializeException) { ConfigurationSet.Add(S.ToString(), new Dictionary()); } + } public void AddProperty(Server S, KeyValuePair Property) diff --git a/SharedLibrary/Interfaces/IPlugin.cs b/SharedLibrary/Interfaces/IPlugin.cs index 32e37d506..f6e5d7521 100644 --- a/SharedLibrary/Interfaces/IPlugin.cs +++ b/SharedLibrary/Interfaces/IPlugin.cs @@ -5,8 +5,8 @@ namespace SharedLibrary.Interfaces { public interface IPlugin { - Task OnLoadAsync(Server S); - Task OnUnloadAsync(Server S); + Task OnLoadAsync(); + Task OnUnloadAsync(); Task OnEventAsync(Event E, Server S); Task OnTickAsync(Server S);