Index: /binary-improvements2/CommandExtensions/ModInfo.xml
===================================================================
--- /binary-improvements2/CommandExtensions/ModInfo.xml	(revision 422)
+++ /binary-improvements2/CommandExtensions/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Additional commands for server operation" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/MapRendering/ModInfo.xml
===================================================================
--- /binary-improvements2/MapRendering/ModInfo.xml	(revision 422)
+++ /binary-improvements2/MapRendering/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Render the game map to image map tiles as it is uncovered" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/MapRendering/src/Commands/RenderMap.cs
===================================================================
--- /binary-improvements2/MapRendering/src/Commands/RenderMap.cs	(revision 422)
+++ /binary-improvements2/MapRendering/src/Commands/RenderMap.cs	(revision 423)
@@ -14,4 +14,9 @@
 
 		public override void Execute (List<string> _params, CommandSenderInfo _senderInfo) {
+			if (!MapRenderer.HasInstance) {
+				SdtdConsole.Instance.Output ("Renderer not enabled");
+				return;
+			}
+			
 			MapRenderer.Instance.RenderFullMap ();
 
Index: /binary-improvements2/MapRendering/src/MapRenderer.cs
===================================================================
--- /binary-improvements2/MapRendering/src/MapRenderer.cs	(revision 422)
+++ /binary-improvements2/MapRendering/src/MapRenderer.cs	(revision 423)
@@ -43,4 +43,6 @@
 		}
 
+		public static bool HasInstance => instance != null;
+
 		public static MapRenderer Instance => instance ??= new MapRenderer ();
 
@@ -50,51 +52,55 @@
 
 		public static void Shutdown () {
-			if (Instance == null) {
+			if (instance == null) {
 				return;
 			}
 
-			Instance.shutdown = true;
+			instance.shutdown = true;
 			
-			if (Instance.renderCoroutineRef != null) {
-				ThreadManager.StopCoroutine (Instance.renderCoroutineRef);
-				Instance.renderCoroutineRef = null;
-			}
+			if (instance.renderCoroutineRef != null) {
+				ThreadManager.StopCoroutine (instance.renderCoroutineRef);
+				instance.renderCoroutineRef = null;
+			}
+
+			instance = null;
 		}
 
 		public static void RenderSingleChunk (Chunk _chunk) {
-			if (renderingEnabled && Instance != null) {
-				// TODO: Replace with regular thread and a blocking queue / set
-				ThreadPool.UnsafeQueueUserWorkItem (_o => {
-					try {
-						if (Instance.renderingFullMap) {
+			if (!renderingEnabled || instance == null) {
+				return;
+			}
+
+			// TODO: Replace with regular thread and a blocking queue / set
+			ThreadPool.UnsafeQueueUserWorkItem (_o => {
+				try {
+					if (instance.renderingFullMap) {
+						return;
+					}
+
+					lock (lockObject) {
+						Chunk c = (Chunk) _o;
+						Vector3i cPos = c.GetWorldPos ();
+						Vector2i cPos2 = new Vector2i (cPos.x / Constants.MapChunkSize,
+							cPos.z / Constants.MapChunkSize);
+
+						ushort[] mapColors = c.GetMapColors ();
+						if (mapColors == null) {
 							return;
 						}
 
-						lock (lockObject) {
-							Chunk c = (Chunk) _o;
-							Vector3i cPos = c.GetWorldPos ();
-							Vector2i cPos2 = new Vector2i (cPos.x / Constants.MapChunkSize,
-								cPos.z / Constants.MapChunkSize);
-
-							ushort[] mapColors = c.GetMapColors ();
-							if (mapColors == null) {
-								return;
-							}
-
-							Color32[] realColors =
-								new Color32[Constants.MapChunkSize * Constants.MapChunkSize];
-							for (int iColors = 0; iColors < mapColors.Length; iColors++) {
-								realColors [iColors] = shortColorToColor32 (mapColors [iColors]);
-							}
-
-							Instance.dirtyChunks [cPos2] = realColors;
-
-							//Log.Out ("Add Dirty: " + cPos2);
+						Color32[] realColors =
+							new Color32[Constants.MapChunkSize * Constants.MapChunkSize];
+						for (int iColors = 0; iColors < mapColors.Length; iColors++) {
+							realColors [iColors] = shortColorToColor32 (mapColors [iColors]);
 						}
-					} catch (Exception e) {
-						Log.Out ($"Exception in MapRendering.RenderSingleChunk(): {e}");
-					}
-				}, _chunk);
-			}
+
+						instance.dirtyChunks [cPos2] = realColors;
+
+						//Log.Out ("Add Dirty: " + cPos2);
+					}
+				} catch (Exception e) {
+					Log.Out ($"Exception in MapRendering.RenderSingleChunk(): {e}");
+				}
+			}, _chunk);
 		}
 
Index: /binary-improvements2/MapRendering/src/ModApi.cs
===================================================================
--- /binary-improvements2/MapRendering/src/ModApi.cs	(revision 422)
+++ /binary-improvements2/MapRendering/src/ModApi.cs	(revision 423)
@@ -7,10 +7,11 @@
 	public class ModApi : IModApi {
 		public void InitMod (Mod _modInstance) {
-			if (ConnectionManager.Instance.IsServer) {
-				ModEvents.GameShutdown.RegisterHandler (GameShutdown);
-				ModEvents.CalcChunkColorsDone.RegisterHandler (CalcChunkColorsDone);
-			}
-			
+			ModEvents.GameStartDone.RegisterHandler (GameStartDone);
+
 			Web.ServerInitialized += _web => {
+				if (!GamePrefs.GetBool (EnumUtils.Parse<EnumGamePrefs> (nameof (EnumGamePrefs.EnableMapRendering)))) {
+					return;
+				}
+
 				_web.RegisterPathHandler ("/map/", new StaticHandler (
 					$"{GameIO.GetSaveGameDir ()}/map",
@@ -20,4 +21,17 @@
 				);
 			};
+		}
+
+		private void GameStartDone () {
+			if (!ConnectionManager.Instance.IsServer) {
+				return;
+			}
+
+			if (!GamePrefs.GetBool (EnumUtils.Parse<EnumGamePrefs> (nameof (EnumGamePrefs.EnableMapRendering)))) {
+				return;
+			}
+
+			ModEvents.GameShutdown.RegisterHandler (GameShutdown);
+			ModEvents.CalcChunkColorsDone.RegisterHandler (CalcChunkColorsDone);
 		}
 
Index: /binary-improvements2/MarkersMod/ModInfo.xml
===================================================================
--- /binary-improvements2/MarkersMod/ModInfo.xml	(revision 422)
+++ /binary-improvements2/MarkersMod/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Allows placing custom markers on the web map" />
 	<Author value="Catalysm and Alloc" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/WebServer/ModInfo.xml
===================================================================
--- /binary-improvements2/WebServer/ModInfo.xml	(revision 422)
+++ /binary-improvements2/WebServer/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/bin/Mods/TFP_CommandExtensions/ModInfo.xml
===================================================================
--- /binary-improvements2/bin/Mods/TFP_CommandExtensions/ModInfo.xml	(revision 422)
+++ /binary-improvements2/bin/Mods/TFP_CommandExtensions/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Additional commands for server operation" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/bin/Mods/TFP_MapRendering/ModInfo.xml
===================================================================
--- /binary-improvements2/bin/Mods/TFP_MapRendering/ModInfo.xml	(revision 422)
+++ /binary-improvements2/bin/Mods/TFP_MapRendering/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Render the game map to image map tiles as it is uncovered" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/bin/Mods/TFP_WebServer/ModInfo.xml
===================================================================
--- /binary-improvements2/bin/Mods/TFP_WebServer/ModInfo.xml	(revision 422)
+++ /binary-improvements2/bin/Mods/TFP_WebServer/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
Index: /binary-improvements2/bin/Mods/Xample_MarkersMod/ModInfo.xml
===================================================================
--- /binary-improvements2/bin/Mods/Xample_MarkersMod/ModInfo.xml	(revision 422)
+++ /binary-improvements2/bin/Mods/Xample_MarkersMod/ModInfo.xml	(revision 423)
@@ -5,5 +5,5 @@
 	<Description value="Allows placing custom markers on the web map" />
 	<Author value="Catalysm and Alloc" />
-	<Version value="21.0.246.0" />
+	<Version value="21.0.250.0" />
 	<Website value="" />
 </xml>
