Index: binary-improvements/MapRendering/Web/API/GetPlayerList.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayerList.cs	(revision 306)
+++ binary-improvements/MapRendering/Web/API/GetPlayerList.cs	(revision 309)
@@ -67,5 +67,5 @@
 
 					pJson.Add ("totalplaytime", new JSONNumber (p.TotalPlayTime));
-					pJson.Add ("lastonline", new JSONString (p.LastOnline.ToUniversalTime ().ToString ("s")));
+					pJson.Add ("lastonline", new JSONString (p.LastOnline.ToUniversalTime ().ToString ("yyyy-MM-ddTHH:mm:ssZ")));
 					pJson.Add ("ping", new JSONNumber (p.IsOnline ? p.ClientInfo.ping : -1));
 
Index: binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs	(revision 306)
+++ binary-improvements/MapRendering/Web/API/GetPlayersOnline.cs	(revision 309)
@@ -26,5 +26,5 @@
 				p.Add ("steamid", new JSONString (ci.playerId));
 				p.Add ("entityid", new JSONNumber (ci.entityId));
-				p.Add ("ip", new JSONString (ci != null ? ci.ip : string.Empty));
+				p.Add ("ip", new JSONString (ci.ip));
 				p.Add ("name", new JSONString (current.Value.EntityName));
 				p.Add ("online", new JSONBoolean (true));
Index: binary-improvements/MapRendering/Web/API/WebAPI.cs
===================================================================
--- binary-improvements/MapRendering/Web/API/WebAPI.cs	(revision 306)
+++ binary-improvements/MapRendering/Web/API/WebAPI.cs	(revision 309)
@@ -9,5 +9,7 @@
 		public static void WriteJSON (HttpListenerResponse resp, JSON.JSONNode root)
 		{
-			byte[] buf = Encoding.UTF8.GetBytes (root.ToString());
+			StringBuilder sb = new StringBuilder ();
+			root.ToString (sb);
+			byte[] buf = Encoding.UTF8.GetBytes (sb.ToString ());
 			resp.ContentLength64 = buf.Length;
 			resp.ContentType = "application/json";
