Index: binary-improvements/MapRendering/API.cs
===================================================================
--- binary-improvements/MapRendering/API.cs	(revision 322)
+++ binary-improvements/MapRendering/API.cs	(revision 324)
@@ -3,12 +3,12 @@
 namespace MapRendering
 {
-	public class API : ModApiAbstract {
-
-		public override void GameAwake () {
+	public class API : IModApi {
+		private void GameAwake () {
+			// ReSharper disable once ObjectCreationAsStatement
 			new AllocsFixes.NetConnections.Servers.Web.Web ();
 			AllocsFixes.NetConnections.Servers.Web.LogBuffer.Instance.GetType ();
 		}
 
-		public override void GameStartDone () {
+		private void GameStartDone () {
 			if (AllocsFixes.NetConnections.Servers.Web.Handlers.ItemIconHandler.Instance != null) {
 				AllocsFixes.NetConnections.Servers.Web.Handlers.ItemIconHandler.Instance.LoadIcons ();
@@ -16,12 +16,18 @@
 		}
 
-		public override void GameShutdown () {
+		private void GameShutdown () {
 			AllocsFixes.MapRendering.MapRendering.Shutdown ();
 		}
 
-		public override void CalcChunkColorsDone (Chunk _chunk) {
+		private void CalcChunkColorsDone (Chunk _chunk) {
 			AllocsFixes.MapRendering.MapRendering.RenderSingleChunk (_chunk);
 		}
 
+		public void InitMod () {
+			ModEvents.GameAwake.RegisterHandler (GameAwake);
+			ModEvents.GameStartDone.RegisterHandler (GameStartDone);
+			ModEvents.GameShutdown.RegisterHandler (GameShutdown);
+			ModEvents.CalcChunkColorsDone.RegisterHandler (CalcChunkColorsDone);
+		}
 	}
 }
Index: binary-improvements/MapRendering/Web/API/GetPlayerList.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayerList.cs	(revision 322)
+++ binary-improvements/MapRendering/Web/API/GetPlayerList.cs	(revision 324)
@@ -153,5 +153,5 @@
 			Match filterMatch = numberFilterMatcher.Match (_filterVal);
 			if (filterMatch.Success) {
-				double value = Utils.ParseDouble (filterMatch.Groups [2].Value);
+				double value = StringParsers.ParseDouble (filterMatch.Groups [2].Value);
 				NumberMatchType matchType;
 				double epsilon = value / 100000;
Index: binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs	(revision 322)
+++ binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs	(revision 324)
@@ -15,5 +15,5 @@
 			World w = GameManager.Instance.World;
 			foreach (KeyValuePair<int, EntityPlayer> current in w.Players.dict) {
-				ClientInfo ci = ConnectionManager.Instance.GetClientInfoForEntityId (current.Key);
+				ClientInfo ci = ConnectionManager.Instance.Clients.ForEntityId (current.Key);
 				Player player = PersistentContainer.Instance.Players [ci.playerId, false];
 
@@ -32,5 +32,5 @@
 
 				// Deprecated!
-				p.Add ("experience", new JSONNumber (player != null ? player.Experience : 0));
+				p.Add ("experience", new JSONNumber (-1));
 
 				p.Add ("level", new JSONNumber (player != null ? player.Level : -1));
Index: binary-improvements/MapRendering/WebAndMapRendering.csproj
===================================================================
--- binary-improvements/MapRendering/WebAndMapRendering.csproj	(revision 322)
+++ binary-improvements/MapRendering/WebAndMapRendering.csproj	(revision 324)
@@ -44,4 +44,12 @@
     <Reference Include="System">
       <HintPath>..\7dtd-binaries\System.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
+      <HintPath>..\7dtd-binaries\UnityEngine.CoreModule.dll</HintPath>
+      <Private>False</Private>
+    </Reference>
+    <Reference Include="UnityEngine.ImageConversionModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null">
+      <HintPath>..\7dtd-binaries\UnityEngine.ImageConversionModule.dll</HintPath>
       <Private>False</Private>
     </Reference>
