Index: /binary-improvements2/7dtd-server-fixes/7dtd-server-fixes.csproj
===================================================================
--- /binary-improvements2/7dtd-server-fixes/7dtd-server-fixes.csproj	(revision 391)
+++ /binary-improvements2/7dtd-server-fixes/7dtd-server-fixes.csproj	(revision 392)
@@ -47,4 +47,10 @@
     <DebugSymbols>true</DebugSymbols>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
+    <OutputPath>..\bin\Mods\Allocs_CommonFunc\</OutputPath>
+    <DefineConstants>ENABLE_PROFILER</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="Assembly-CSharp">
@@ -83,4 +89,5 @@
   <ItemGroup>
     <Compile Include="src\AssemblyInfo.cs" />
+    <Compile Include="src\FileCache\InvalidateCachesCmd.cs" />
     <Compile Include="src\JSON\JsonManualBuilder.cs" />
     <Compile Include="src\LiveData\Animals.cs" />
Index: /binary-improvements2/7dtd-server-fixes/src/FileCache/AbstractCache.cs
===================================================================
--- /binary-improvements2/7dtd-server-fixes/src/FileCache/AbstractCache.cs	(revision 391)
+++ /binary-improvements2/7dtd-server-fixes/src/FileCache/AbstractCache.cs	(revision 392)
@@ -1,5 +1,26 @@
+using System.Collections.Generic;
+
 namespace AllocsFixes.FileCache {
 	public abstract class AbstractCache {
 		public abstract byte[] GetFileContent (string _filename);
+		public abstract (int, int) Invalidate ();
+
+		protected AbstractCache () {
+			caches.Add (this);
+		}
+
+		private static readonly List<AbstractCache> caches = new List<AbstractCache> ();
+		public static (int, int) InvalidateAllCaches () {
+			int filesDropped = 0;
+			int bytesDropped = 0;
+			
+			foreach (AbstractCache cache in caches) {
+				(int, int) returned = cache.Invalidate ();
+				filesDropped += returned.Item1;
+				bytesDropped += returned.Item2;
+			}
+
+			return (filesDropped, bytesDropped);
+		}
 	}
 }
Index: /binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs
===================================================================
--- /binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs	(revision 391)
+++ /binary-improvements2/7dtd-server-fixes/src/FileCache/DirectAccess.cs	(revision 392)
@@ -14,4 +14,8 @@
 			return null;
 		}
+
+		public override (int, int) Invalidate () {
+			return (0, 0);
+		}
 	}
 }
Index: /binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs
===================================================================
--- /binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs	(revision 391)
+++ /binary-improvements2/7dtd-server-fixes/src/FileCache/MapTileCache.cs	(revision 392)
@@ -114,4 +114,8 @@
 		}
 
+		public override (int, int) Invalidate () {
+			return (0, 0);
+		}
+
 		private static byte[] ReadAllBytes (string _path) {
 			using (FileStream fileStream = new FileStream(_path, FileMode.Open, FileAccess.Read, FileShare.Read, 4096)) {
Index: /binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs
===================================================================
--- /binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs	(revision 391)
+++ /binary-improvements2/7dtd-server-fixes/src/FileCache/SimpleCache.cs	(revision 392)
@@ -29,4 +29,19 @@
 			return null;
 		}
+
+		public override (int, int) Invalidate () {
+			(int, int) result = (0, 0);
+			
+			lock (fileCache) {
+				result.Item1 = fileCache.Count;
+				foreach ((string _, byte[] data) in fileCache) {
+					result.Item2 += data.Length;
+				}
+				
+				fileCache.Clear ();
+			}
+
+			return result;
+		}
 	}
 }
Index: /binary-improvements2/CommandExtensions/CommandExtensions.csproj
===================================================================
--- /binary-improvements2/CommandExtensions/CommandExtensions.csproj	(revision 391)
+++ /binary-improvements2/CommandExtensions/CommandExtensions.csproj	(revision 392)
@@ -32,4 +32,10 @@
     <DebugType>full</DebugType>
     <DebugSymbols>true</DebugSymbols>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
+    <OutputPath>..\bin\Mods\TFP_CommandExtensions\</OutputPath>
+    <DefineConstants>ENABLE_PROFILER</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
   </PropertyGroup>
   <ItemGroup>
Index: /binary-improvements2/MapRendering/MapRendering.csproj
===================================================================
--- /binary-improvements2/MapRendering/MapRendering.csproj	(revision 391)
+++ /binary-improvements2/MapRendering/MapRendering.csproj	(revision 392)
@@ -35,4 +35,10 @@
     <DebugType>full</DebugType>
     <DebugSymbols>true</DebugSymbols>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
+    <OutputPath>..\bin\Mods\TFP_MapRendering\</OutputPath>
+    <DefineConstants>ENABLE_PROFILER</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
   </PropertyGroup>
   <ItemGroup>
Index: /binary-improvements2/MarkersMod/MarkersMod.csproj
===================================================================
--- /binary-improvements2/MarkersMod/MarkersMod.csproj	(revision 391)
+++ /binary-improvements2/MarkersMod/MarkersMod.csproj	(revision 392)
@@ -35,4 +35,10 @@
     <DebugType>full</DebugType>
     <DebugSymbols>true</DebugSymbols>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
+    <OutputPath>..\bin\Mods\Xample_MarkersMod\</OutputPath>
+    <DefineConstants>ENABLE_PROFILER</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
   </PropertyGroup>
   <ItemGroup>
Index: /binary-improvements2/SpaceWizards.HttpListener/SpaceWizards.HttpListener.csproj
===================================================================
--- /binary-improvements2/SpaceWizards.HttpListener/SpaceWizards.HttpListener.csproj	(revision 391)
+++ /binary-improvements2/SpaceWizards.HttpListener/SpaceWizards.HttpListener.csproj	(revision 392)
@@ -27,5 +27,5 @@
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Profiler|AnyCPU' ">
     <OutputPath>..\bin\Mods\TFP_WebServer\</OutputPath>
-    <DefineConstants>ENABLE_PROFILER;UNITY_NETFRAMEWORK</DefineConstants>
+    <DefineConstants>UNITY_NETFRAMEWORK;ENABLE_PROFILER</DefineConstants>
     <Optimize>true</Optimize>
     <WarningLevel>4</WarningLevel>
@@ -39,4 +39,11 @@
     <DefineConstants>UNITY_NETFRAMEWORK</DefineConstants>
     <DebugSymbols>true</DebugSymbols>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
+    <OutputPath>..\bin\Mods\TFP_WebServer\</OutputPath>
+    <DefineConstants>UNITY_NETFRAMEWORK;ENABLE_PROFILER</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
   </PropertyGroup>
   <ItemGroup>
Index: /binary-improvements2/WebServer/WebServer.csproj
===================================================================
--- /binary-improvements2/WebServer/WebServer.csproj	(revision 391)
+++ /binary-improvements2/WebServer/WebServer.csproj	(revision 392)
@@ -35,4 +35,10 @@
     <DebugType>full</DebugType>
     <DebugSymbols>true</DebugSymbols>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Profiler|AnyCPU' ">
+    <OutputPath>..\bin\Mods\TFP_WebServer\</OutputPath>
+    <DefineConstants>ENABLE_PROFILER</DefineConstants>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
   </PropertyGroup>
   <ItemGroup>
