Index: binary-improvements/MapRendering/MapRendering/MapRenderBlockBuffer.cs
===================================================================
--- binary-improvements/MapRendering/MapRendering/MapRenderBlockBuffer.cs	(revision 232)
+++ binary-improvements/MapRendering/MapRendering/MapRenderBlockBuffer.cs	(revision 233)
@@ -74,5 +74,9 @@
 		{
 			byte[] array = cache.LoadTile (zoomLevel, _fileName);
-			if (array == null || !blockMap.LoadImage (array)) {
+			if (array == null || !blockMap.LoadImage (array) || blockMap.height != Constants.MAP_BLOCK_SIZE || blockMap.width != Constants.MAP_BLOCK_SIZE) {
+				if (array != null) {
+					Log.Error ("Map image tile " + _fileName + " has been corrupted, recreating tile");
+				}
+
 				if (blockMap.height != Constants.MAP_BLOCK_SIZE || blockMap.width != Constants.MAP_BLOCK_SIZE) {
 					blockMap.Resize (Constants.MAP_BLOCK_SIZE, Constants.MAP_BLOCK_SIZE);
Index: binary-improvements/MapRendering/Web/API/GetPlayerInventory.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayerInventory.cs	(revision 232)
+++ binary-improvements/MapRendering/Web/API/GetPlayerInventory.cs	(revision 233)
@@ -17,5 +17,5 @@
 			}
 
-			Player p = PersistentContainer.Instance.Players [req.QueryString ["steamid"]];
+			Player p = PersistentContainer.Instance.Players [req.QueryString ["steamid"], false];
 			if (p == null) {
 				resp.StatusCode = (int)HttpStatusCode.InternalServerError;
Index: binary-improvements/MapRendering/Web/API/GetPlayersLocation.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayersLocation.cs	(revision 232)
+++ binary-improvements/MapRendering/Web/API/GetPlayersLocation.cs	(revision 233)
@@ -16,5 +16,5 @@
 
 			foreach (string sid in playersList.SteamIDs) {
-				Player p = playersList[sid];
+				Player p = playersList[sid, false];
 
 				JSONObject pos = new JSONObject();
Index: binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs	(revision 232)
+++ binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs	(revision 233)
@@ -1,3 +1,4 @@
 using AllocsFixes.JSON;
+using AllocsFixes.PersistentData;
 using System;
 using System.Collections.Generic;
@@ -15,20 +16,26 @@
 			foreach (KeyValuePair<int, EntityPlayer> current in w.Players.dict) {
 				ClientInfo ci = ConnectionManager.Instance.GetClientInfoForEntityId (current.Key);
-				string ip = string.Empty;
-				if (ci != null) {
-					ip = ci.ip;
-				}
+				Player player = PersistentContainer.Instance.Players [ci.playerId, false];
 
 				JSONObject pos = new JSONObject();
-				pos.Add("x", new JSONNumber((int)current.Value.GetPosition().x));
-				pos.Add("y", new JSONNumber((int)current.Value.GetPosition().y));
-				pos.Add("z", new JSONNumber((int)current.Value.GetPosition().z));
+				pos.Add ("x", new JSONNumber ((int)current.Value.GetPosition ().x));
+				pos.Add ("y", new JSONNumber ((int)current.Value.GetPosition ().y));
+				pos.Add ("z", new JSONNumber ((int)current.Value.GetPosition ().z));
 
 				JSONObject p = new JSONObject();
-				p.Add("steamid", new JSONString(ci.playerId));
-				p.Add("ip", new JSONString(ip));
-				p.Add("name", new JSONString(current.Value.EntityName));
-				p.Add("online", new JSONBoolean(true));
-				p.Add("position", pos);
+				p.Add ("steamid", new JSONString (ci.playerId));
+				p.Add ("ip", new JSONString (ci != null ? ci.ip : string.Empty));
+				p.Add ("name", new JSONString (current.Value.EntityName));
+				p.Add ("online", new JSONBoolean (true));
+				p.Add ("position", pos);
+
+				p.Add ("experience", new JSONNumber (player != null ? player.Experience : 0));
+				p.Add ("level", new JSONNumber (player != null ? player.Level : -1));
+				p.Add ("health", new JSONNumber (current.Value.Health));
+				p.Add ("stamina", new JSONNumber (current.Value.Stamina));
+				p.Add ("zombiekills", new JSONNumber (current.Value.KilledZombies));
+				p.Add ("playerkills", new JSONNumber (current.Value.KilledPlayers));
+				p.Add ("playerdeaths", new JSONNumber (current.Value.Died));
+				p.Add ("score", new JSONNumber (current.Value.Score));
 
 				players.Add(p);
