Index: binary-improvements2/MapRendering/Commands/EnableOpenIDDebug.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/EnableOpenIDDebug.cs	(revision 383)
+++ 	(revision )
@@ -1,24 +1,0 @@
-using System.Collections.Generic;
-using AllocsFixes.NetConnections.Servers.Web;
-
-namespace AllocsFixes.CustomCommands {
-	public class EnableOpenIDDebug : ConsoleCmdAbstract {
-		public override string GetDescription () {
-			return "enable/disable OpenID debugging";
-		}
-
-		public override string[] GetCommands () {
-			return new[] {"openiddebug"};
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			if (_params.Count != 1) {
-				SdtdConsole.Instance.Output ("Current state: " + OpenID.debugOpenId);
-				return;
-			}
-
-			OpenID.debugOpenId = _params [0].Equals ("1");
-			SdtdConsole.Instance.Output ("Set OpenID debugging to " + _params [0].Equals ("1"));
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/EnableRendering.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/EnableRendering.cs	(revision 383)
+++ 	(revision )
@@ -1,23 +1,0 @@
-using System.Collections.Generic;
-
-namespace AllocsFixes.CustomCommands {
-	public class EnableRendering : ConsoleCmdAbstract {
-		public override string GetDescription () {
-			return "enable/disable live map rendering";
-		}
-
-		public override string[] GetCommands () {
-			return new[] {"enablerendering"};
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			if (_params.Count != 1) {
-				SdtdConsole.Instance.Output ("Current state: " + MapRendering.MapRendering.renderingEnabled);
-				return;
-			}
-
-			MapRendering.MapRendering.renderingEnabled = _params [0].Equals ("1");
-			SdtdConsole.Instance.Output ("Set live map rendering to " + _params [0].Equals ("1"));
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/Exception.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/Exception.cs	(revision 383)
+++ 	(revision )
@@ -1,23 +1,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace AllocsFixes.CustomCommands {
-	public class ConsoleCmdException : ConsoleCmdAbstract {
-		public override string[] GetCommands () {
-			return new[] { "exception" };
-		}
-
-		public override bool AllowedInMainMenu => true;
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			Log.Out ("Test info");
-			Log.Warning ("Test warning");
-			Log.Error ("Test error");
-			throw new Exception ("Test exception");
-		}
-
-		public override string GetDescription () {
-			return "Throw an exception / log messages";
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/ReloadWebPermissions.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/ReloadWebPermissions.cs	(revision 383)
+++ 	(revision )
@@ -1,19 +1,0 @@
-using System.Collections.Generic;
-using AllocsFixes.NetConnections.Servers.Web;
-
-namespace AllocsFixes.CustomCommands {
-	public class ReloadWebPermissions : ConsoleCmdAbstract {
-		public override string GetDescription () {
-			return "force reload of web permissions file";
-		}
-
-		public override string[] GetCommands () {
-			return new[] {"reloadwebpermissions"};
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			WebPermissions.Instance.Load ();
-			SdtdConsole.Instance.Output ("Web permissions file reloaded");
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/RenderMap.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/RenderMap.cs	(revision 383)
+++ 	(revision )
@@ -1,19 +1,0 @@
-using System.Collections.Generic;
-
-namespace AllocsFixes.CustomCommands {
-	public class RenderMap : ConsoleCmdAbstract {
-		public override string GetDescription () {
-			return "render the current map to a file";
-		}
-
-		public override string[] GetCommands () {
-			return new[] {"rendermap"};
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			MapRendering.MapRendering.Instance.RenderFullMap ();
-
-			SdtdConsole.Instance.Output ("Render map done");
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/WebPermissionsCmd.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/WebPermissionsCmd.cs	(revision 383)
+++ 	(revision )
@@ -1,83 +1,0 @@
-using System.Collections.Generic;
-using AllocsFixes.NetConnections.Servers.Web;
-
-namespace AllocsFixes.CustomCommands {
-	public class WebPermissionsCmd : ConsoleCmdAbstract {
-		public override string[] GetCommands () {
-			return new[] {"webpermission"};
-		}
-
-		public override string GetDescription () {
-			return "Manage web permission levels";
-		}
-
-		public override string GetHelp () {
-			return "Set/get permission levels required to access a given web functionality. Default\n" +
-			       "level required for functions that are not explicitly specified is 0.\n" +
-			       "Usage:\n" +
-			       "   webpermission add <webfunction> <level>\n" +
-			       "   webpermission remove <webfunction>\n" +
-			       "   webpermission list";
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			if (_params.Count >= 1) {
-				if (_params [0].EqualsCaseInsensitive ("add")) {
-					ExecuteAdd (_params);
-				} else if (_params [0].EqualsCaseInsensitive ("remove")) {
-					ExecuteRemove (_params);
-				} else if (_params [0].EqualsCaseInsensitive ("list")) {
-					ExecuteList ();
-				} else {
-					SdtdConsole.Instance.Output ($"Invalid sub command \"{_params [0]}\".");
-				}
-			} else {
-				SdtdConsole.Instance.Output ("No sub command given.");
-			}
-		}
-
-		private void ExecuteAdd (List<string> _params) {
-			if (_params.Count != 3) {
-				SdtdConsole.Instance.Output ($"Wrong number of arguments, expected 3, found {_params.Count}.");
-				return;
-			}
-
-			if (!WebPermissions.Instance.IsKnownModule (_params [1])) {
-				SdtdConsole.Instance.Output ($"\"{_params [1]}\" is not a valid web function.");
-				return;
-			}
-
-			int level;
-			if (!int.TryParse (_params [2], out level)) {
-				SdtdConsole.Instance.Output ($"\"{_params [2]}\" is not a valid integer.");
-				return;
-			}
-
-			WebPermissions.Instance.AddModulePermission (_params [1], level);
-			SdtdConsole.Instance.Output ($"{_params [1]} added with permission level of {level}.");
-		}
-
-		private void ExecuteRemove (List<string> _params) {
-			if (_params.Count != 2) {
-				SdtdConsole.Instance.Output ($"Wrong number of arguments, expected 2, found {_params.Count}.");
-				return;
-			}
-
-			if (!WebPermissions.Instance.IsKnownModule (_params [1])) {
-				SdtdConsole.Instance.Output ($"\"{_params [1]}\" is not a valid web function.");
-				return;
-			}
-
-			WebPermissions.Instance.RemoveModulePermission (_params [1]);
-			SdtdConsole.Instance.Output ($"{_params [1]} removed from permissions list.");
-		}
-
-		private void ExecuteList () {
-			SdtdConsole.Instance.Output ("Defined web function permissions:");
-			SdtdConsole.Instance.Output ("  Level: Web function");
-			foreach (WebPermissions.WebModulePermission wmp in WebPermissions.Instance.GetModules ()) {
-				SdtdConsole.Instance.Output ($"  {wmp.permissionLevel,5}: {wmp.module}");
-			}
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/WebTokens.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/WebTokens.cs	(revision 383)
+++ 	(revision )
@@ -1,111 +1,0 @@
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using AllocsFixes.NetConnections.Servers.Web;
-
-namespace AllocsFixes.CustomCommands {
-	public class WebTokens : ConsoleCmdAbstract {
-		private static readonly Regex validNameTokenMatcher = new Regex (@"^\w+$");
-
-		public override string[] GetCommands () {
-			return new[] {"webtokens"};
-		}
-
-		public override string GetDescription () {
-			return "Manage web tokens";
-		}
-
-		public override string GetHelp () {
-			return "Set/get webtoken permission levels. A level of 0 is maximum permission.\n" +
-			       "Usage:\n" +
-			       "   webtokens add <username> <usertoken> <level>\n" +
-			       "   webtokens remove <username>\n" +
-			       "   webtokens list";
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			if (_params.Count >= 1) {
-				if (_params [0].EqualsCaseInsensitive ("add")) {
-					ExecuteAdd (_params);
-				} else if (_params [0].EqualsCaseInsensitive ("remove")) {
-					ExecuteRemove (_params);
-				} else if (_params [0].EqualsCaseInsensitive ("list")) {
-					ExecuteList ();
-				} else {
-					SdtdConsole.Instance.Output ("Invalid sub command \"" + _params [0] + "\".");
-				}
-			} else {
-				SdtdConsole.Instance.Output ("No sub command given.");
-			}
-		}
-
-		private void ExecuteAdd (List<string> _params) {
-			if (_params.Count != 4) {
-				SdtdConsole.Instance.Output ("Wrong number of arguments, expected 4, found " + _params.Count + ".");
-				return;
-			}
-
-			if (string.IsNullOrEmpty (_params [1])) {
-				SdtdConsole.Instance.Output ("Argument 'username' is empty.");
-				return;
-			}
-
-			if (!validNameTokenMatcher.IsMatch (_params [1])) {
-				SdtdConsole.Instance.Output (
-					"Argument 'username' may only contain characters (A-Z, a-z), digits (0-9) and underscores (_).");
-				return;
-			}
-
-			if (string.IsNullOrEmpty (_params [2])) {
-				SdtdConsole.Instance.Output ("Argument 'usertoken' is empty.");
-				return;
-			}
-
-			if (!validNameTokenMatcher.IsMatch (_params [2])) {
-				SdtdConsole.Instance.Output (
-					"Argument 'usertoken' may only contain characters (A-Z, a-z), digits (0-9) and underscores (_).");
-				return;
-			}
-
-			int level;
-			if (!int.TryParse (_params [3], out level)) {
-				SdtdConsole.Instance.Output ("Argument 'level' is not a valid integer.");
-				return;
-			}
-
-			WebPermissions.Instance.AddAdmin (_params [1], _params [2], level);
-			SdtdConsole.Instance.Output (string.Format (
-				"Web user with name={0} and password={1} added with permission level of {2}.", _params [1], _params [2],
-				level));
-		}
-
-		private void ExecuteRemove (List<string> _params) {
-			if (_params.Count != 2) {
-				SdtdConsole.Instance.Output ("Wrong number of arguments, expected 2, found " + _params.Count + ".");
-				return;
-			}
-
-			if (string.IsNullOrEmpty (_params [1])) {
-				SdtdConsole.Instance.Output ("Argument 'username' is empty.");
-				return;
-			}
-
-			if (!validNameTokenMatcher.IsMatch (_params [1])) {
-				SdtdConsole.Instance.Output (
-					"Argument 'username' may only contain characters (A-Z, a-z), digits (0-9) and underscores (_).");
-				return;
-			}
-
-			WebPermissions.Instance.RemoveAdmin (_params [1]);
-			SdtdConsole.Instance.Output (string.Format ("{0} removed from web user permissions list.", _params [1]));
-		}
-
-		private void ExecuteList () {
-			SdtdConsole.Instance.Output ("Defined webuser permissions:");
-			SdtdConsole.Instance.Output ("  Level: Name / Token");
-			foreach (WebPermissions.AdminToken at in WebPermissions.Instance.GetAdmins ()) {
-				SdtdConsole.Instance.Output (
-					string.Format ("  {0,5}: {1} / {2}", at.permissionLevel, at.name, at.token));
-			}
-		}
-	}
-}
Index: binary-improvements2/MapRendering/Commands/webstat.cs
===================================================================
--- binary-improvements2/MapRendering/Commands/webstat.cs	(revision 383)
+++ 	(revision )
@@ -1,33 +1,0 @@
-using System.Collections.Generic;
-using AllocsFixes.NetConnections.Servers.Web;
-
-namespace AllocsFixes.CustomCommands {
-	public class webstat : ConsoleCmdAbstract {
-		public override string GetDescription () {
-			return "DEBUG PURPOSES ONLY";
-		}
-
-		public override string[] GetCommands () {
-			return new[] {"webstat"};
-		}
-
-		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
-			int curHandlers = Web.currentHandlers;
-			int totalHandlers = Web.handlingCount;
-			long totalTime = Web.totalHandlingTime;
-			SdtdConsole.Instance.Output ("Current Web handlers: " + curHandlers + " - total: " + totalHandlers);
-			SdtdConsole.Instance.Output (" - Total time: " + totalTime + " µs - average time: " +
-			                             totalTime / totalHandlers + " µs");
-
-			curHandlers = WebCommandResult.currentHandlers;
-			totalHandlers = WebCommandResult.handlingCount;
-			totalTime = WebCommandResult.totalHandlingTime;
-			SdtdConsole.Instance.Output ("Current Web command handlers: " + curHandlers + " - total: " +
-			                             totalHandlers);
-			SdtdConsole.Instance.Output (" - Total time: " + totalTime + " µs" +
-			                             (totalHandlers > 0
-				                             ? " - average time: " + totalTime / totalHandlers + " µs"
-				                             : ""));
-		}
-	}
-}
