Index: TFP-WebServer/WebServer/ModInfo.xml
===================================================================
--- TFP-WebServer/WebServer/ModInfo.xml	(revision 504)
+++ TFP-WebServer/WebServer/ModInfo.xml	(revision 505)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="2.0.0.1" />
+	<Version value="2.0.0.3" />
 	<Website value="" />
 </xml>
Index: TFP-WebServer/WebServer/src/ModApi.cs
===================================================================
--- TFP-WebServer/WebServer/src/ModApi.cs	(revision 504)
+++ TFP-WebServer/WebServer/src/ModApi.cs	(revision 505)
@@ -27,5 +27,5 @@
 
 			if (ItemIconHandler.Instance != null) {
-				ItemIconHandler.Instance.LoadIcons ();
+				ThreadManager.StartCoroutine (ItemIconHandler.Instance.LoadIcons ());
 			}
 		}
Index: TFP-WebServer/WebServer/src/UrlHandlers/ItemIconHandler.cs
===================================================================
--- TFP-WebServer/WebServer/src/UrlHandlers/ItemIconHandler.cs	(revision 504)
+++ TFP-WebServer/WebServer/src/UrlHandlers/ItemIconHandler.cs	(revision 505)
@@ -1,3 +1,4 @@
 using System;
+using System.Collections;
 using System.Collections.Generic;
 using System.IO;
@@ -68,10 +69,16 @@
 		}
 
-		public bool LoadIcons () {
+		private const int LoadingMaxMsPerFrame = 100;
+		private bool loading;
+		public IEnumerator LoadIcons () {
 			
 			lock (icons) {
-				if (loaded) {
-					return true;
-				}
+				if (loading || loaded) {
+					yield break;
+				}
+
+				loading = true;
+
+				MicroStopwatch mswPerFrame = new MicroStopwatch (true);
 
 				LoadingStats stats = new LoadingStats ();
@@ -99,20 +106,10 @@
 				}
 
-				try {
-					loadIconsFromFolder (GameIO.GetGameDir ("Data/ItemIcons"), tintedIcons, stats);
-				} catch (Exception e) {
-					Log.Error ("[Web] Failed loading icons from base game");
-					Log.Exception (e);
-				}
+				yield return loadIconsFromFolder (GameIO.GetGameDir ("Data/ItemIcons"), tintedIcons, stats, mswPerFrame);
 
 				// Load icons from mods
 				foreach (Mod mod in ModManager.GetLoadedMods ()) {
-					try {
-						string modIconsPath = $"{mod.Path}/ItemIcons";
-						loadIconsFromFolder (modIconsPath, tintedIcons, stats);
-					} catch (Exception e) {
-						Log.Error ($"[Web] Failed loading icons from mod {mod.Name}");
-						Log.Exception (e);
-					}
+					string modIconsPath = $"{mod.Path}/ItemIcons";
+					yield return loadIconsFromFolder (modIconsPath, tintedIcons, stats, mswPerFrame);
 				}
 				
@@ -133,13 +130,14 @@
 					Log.Out ($"[Web] IconHandler: Cached {totalSize / 1024} KiB");
 				}
-
-				return true;
-			}
-		}
-
-		private void loadIconsFromFolder (string _path, Dictionary<string, List<Color>> _tintedIcons, LoadingStats _stats) {
+			}
+		}
+
+		private IEnumerator loadIconsFromFolder (string _path, Dictionary<string, List<Color>> _tintedIcons, LoadingStats _stats,
+			MicroStopwatch _mswPerFrame) {
 			if (!Directory.Exists (_path)) {
-				return;
-			}
+				yield break;
+			}
+
+			_mswPerFrame.ResetAndRestart ();
 
 			foreach (string file in Directory.GetFiles (_path)) {
@@ -164,5 +162,11 @@
 					Object.Destroy (tex);
 				} catch (Exception e) {
+					Log.Error ($"[Web] Failed loading icon from {_path}");
 					Log.Exception (e);
+				}
+
+				if (_mswPerFrame.ElapsedMilliseconds >= LoadingMaxMsPerFrame) {
+					yield return null;
+					_mswPerFrame.ResetAndRestart ();
 				}
 			}
Index: TFP-WebServer/WebServer/src/WebAPI/APIs/WorldState/Player.cs
===================================================================
--- TFP-WebServer/WebServer/src/WebAPI/APIs/WorldState/Player.cs	(revision 504)
+++ TFP-WebServer/WebServer/src/WebAPI/APIs/WorldState/Player.cs	(revision 505)
@@ -158,5 +158,5 @@
 
 			_writer.WriteRaw (jsonLevelKey);
-			_writer.WriteNull (); // TODO
+			_writer.WriteInt32 (entity.Progression.Level);
 
 			_writer.WriteRaw (jsonHealthKey);
Index: TFP-WebServer/bin/Mods/TFP_WebServer/ModInfo.xml
===================================================================
--- TFP-WebServer/bin/Mods/TFP_WebServer/ModInfo.xml	(revision 504)
+++ TFP-WebServer/bin/Mods/TFP_WebServer/ModInfo.xml	(revision 505)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="2.0.0.1" />
+	<Version value="2.0.0.3" />
 	<Website value="" />
 </xml>
