Index: TFP-WebServer/WebServer/ModInfo.xml
===================================================================
--- TFP-WebServer/WebServer/ModInfo.xml	(revision 490)
+++ TFP-WebServer/WebServer/ModInfo.xml	(revision 499)
@@ -5,5 +5,5 @@
 	<Description value="Integrated Webserver for the Web Dashboard and server APIs" />
 	<Author value="The Fun Pimps LLC" />
-	<Version value="1.1.0.2" />
+	<Version value="1.1.0.3" />
 	<Website value="" />
 </xml>
Index: TFP-WebServer/WebServer/src/SSE/AbsEvent.cs
===================================================================
--- TFP-WebServer/WebServer/src/SSE/AbsEvent.cs	(revision 490)
+++ TFP-WebServer/WebServer/src/SSE/AbsEvent.cs	(revision 499)
@@ -36,4 +36,6 @@
 
 			openClients.Add (_client);
+			
+			logConnectionState ("Connection opened", _client);
 		}
 
@@ -64,5 +66,5 @@
 						bytesToSend = Encoding.UTF8.GetBytes (output, 0, output.Length, buf, 0);
 					} catch (ArgumentException e) {
-						logError ("Exception while encoding data for output, most likely exceeding buffer size:", false);
+						Log.Error ($"[Web] [SSE] '{Name}': Exception while encoding data for output, most likely exceeding buffer size:");
 						Log.Exception (e);
 						return;
@@ -79,28 +81,21 @@
 		private void sendBufToListeners (byte[] _bytes, int _bytesToSend) {
 			for (int i = openClients.Count - 1; i >= 0; i--) {
-				ESseClientWriteResult writeResult = openClients [i].Write (_bytes, _bytesToSend);
-				if (writeResult == ESseClientWriteResult.Ok) {
-					continue;
-				}
-
-				currentlyOpen--;
-				totalClosed++;
-
-				if (writeResult == ESseClientWriteResult.Error) {
-					logError ("Can not write to endpoint, closing", true);
-				}
+				openClients [i].Write (_bytes, _bytesToSend);
 			}
-		}
-
-		protected void logError (string _message, bool _printConnections) {
-			Log.Error (_printConnections
-				? $"[Web] [SSE] '{Name}': {_message} (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed})"
-				: $"[Web] [SSE] '{Name}': {_message}");
 		}
 
 		public virtual int DefaultPermissionLevel () => 0;
 
+		private void logConnectionState (string _message, SseClient _client) {
+			Log.Out ($"[Web] [SSE] '{Name}': {_message} from {_client.RemoteEndpoint} (Left open: {currentlyOpen}, total opened: {totalOpened}, closed: {totalClosed})");
+		}
+
 		public void ClientClosed (SseClient _client) {
-			openClients.Remove (_client);
+			if (openClients.Remove (_client)) {
+				currentlyOpen--;
+				totalClosed++;
+
+				logConnectionState ("Closed connection", _client);
+			}
 		}
 	}
Index: TFP-WebServer/WebServer/src/SSE/SseClient.cs
===================================================================
--- TFP-WebServer/WebServer/src/SSE/SseClient.cs	(revision 490)
+++ TFP-WebServer/WebServer/src/SSE/SseClient.cs	(revision 499)
@@ -1,8 +1,9 @@
 using System;
 using System.IO;
+using System.Net;
 using System.Net.Sockets;
 using System.Text;
-using SpaceWizards.HttpListener;
 using Webserver.UrlHandlers;
+using HttpListenerResponse = SpaceWizards.HttpListener.HttpListenerResponse;
 
 namespace Webserver.SSE {
@@ -17,17 +18,19 @@
         private static readonly byte[] keepAliveData = Encoding.UTF8.GetBytes (": KeepAlive\n\n");
 
+        public readonly IPEndPoint RemoteEndpoint;
         private readonly SseHandler parent;
         private readonly HttpListenerResponse response;
         private DateTime lastMessageSent = DateTime.Now;
 
-        public SseClient (SseHandler _parent, HttpListenerResponse _response) {
+        public SseClient (SseHandler _parent, RequestContext _context) {
             parent = _parent;
-            response = _response;
+            response = _context.Response;
+            RemoteEndpoint = _context.Request.RemoteEndPoint;
             
             // Keep the request open
-            _response.SendChunked = true;
+            response.SendChunked = true;
 
-            _response.AddHeader ("Content-Type", "text/event-stream");
-            _response.OutputStream.Flush ();
+            response.AddHeader ("Content-Type", "text/event-stream");
+            response.OutputStream.Flush ();
         }
 
Index: TFP-WebServer/WebServer/src/UrlHandlers/SseHandler.cs
===================================================================
--- TFP-WebServer/WebServer/src/UrlHandlers/SseHandler.cs	(revision 490)
+++ TFP-WebServer/WebServer/src/UrlHandlers/SseHandler.cs	(revision 499)
@@ -68,5 +68,5 @@
 			SseClient client;
 			try {
-				client = new SseClient(this, _context.Response);
+				client = new SseClient(this, _context);
 			} catch (Exception e) {
 				Log.Error ($"[Web] [SSE] In {nameof (SseHandler)}.HandleRequest(): Could not create client:");
