Index: binary-improvements/assembly-patcher/Main.cs
===================================================================
--- binary-improvements/assembly-patcher/Main.cs	(revision 104)
+++ binary-improvements/assembly-patcher/Main.cs	(revision 107)
@@ -1,3 +1,4 @@
 using System;
+using System.Collections.Generic;
 using System.Reflection;
 using Mono.Cecil;
@@ -14,16 +15,27 @@
 			TypeDefinition type = module.GetType ("GameManager");
 			if (isPatched (type)) {
-				Console.WriteLine("Assembly already patched");
+				Console.WriteLine ("Assembly already patched");
 				return;
 			}
 			markTypePatched (module, type);
 
+			consoleOutputPatch (module);
 			telnetPatch (module);
 			connectLogPatch (module);
-			executionLogPatch (module);
 			publicCommandPermissionsPatch (module);
 			playerDataPatch (module);
+
 			module.Write ("Assembly-CSharp.dll");
 			Console.WriteLine ("Done");
+
+		}
+
+		private static void consoleOutputPatch (ModuleDefinition module)
+		{
+			TypeDefinition type = module.GetType ("ConsoleSdtd");
+			replaceMethod (type, "ExecuteCmdFromClient", true, 3, typeof(ConsoleOutputSeparator).GetMethod ("C_ExecuteCmdFromClient"));
+			addHook (type, "Run", true, 0, true, typeof(ConsoleOutputSeparator).GetMethod ("C_Run"));
+			replaceMethod (type, "SendResult", true, 1, typeof(ConsoleOutputSeparator).GetMethod ("C_SendResult"));
+
 		}
 
@@ -31,7 +43,6 @@
 		{
 			TypeDefinition type = module.GetType ("GameManager");
-
 			addHook (type, "SavePlayerData", true, 2, true, typeof(PlayerDataStuff).GetMethod ("GM_SavePlayerData"));
-			addHook (type, "Awake", true, 0, true, typeof(CommandExtensions).GetMethod("InitCommandExtensions"));
+			addHook (type, "Awake", true, 0, true, typeof(CommandExtensions).GetMethod ("InitCommandExtensions"));
 		}
 
@@ -39,5 +50,4 @@
 		{
 			TypeDefinition type = module.GetType ("AdminTools");
-
 			replaceMethod (type, "GetAllowedCommandsList", true, 1, typeof(AdminToolsStuff).GetMethod ("GetAllowedCommandsList"));
 		}
@@ -46,13 +56,5 @@
 		{
 			TypeDefinition type = module.GetType ("GameManager");
-
 			addHook (type, "RequestToSpawnPlayer", true, 5, true, typeof(AllocsLogFunctions).GetMethod ("RequestToSpawnPlayer"));
-		}
-
-		private static void executionLogPatch (ModuleDefinition module)
-		{
-			TypeDefinition type = module.GetType ("ConsoleSdtd");
-
-			addHook (type, "ExecuteCmdFromClient", true, 3, false, typeof(AllocsLogFunctions).GetMethod ("ExecuteCmdFromClient"));
 		}
 
@@ -60,5 +62,4 @@
 		{
 			TypeDefinition type = module.GetType ("NetTelnetServer");
-
 			replaceMethod (type, ".ctor", false, 1, typeof(AllocsNetTelnetServer).GetMethod ("init"));
 			replaceMethod (type, "Disconnect", false, 0, typeof(AllocsNetTelnetServer).GetMethod ("Disconnect"));
@@ -76,5 +77,4 @@
 			foreach (MethodDefinition method in type.Methods) {
 				if (method.Name.Equals (methodName)) {
-					Console.WriteLine ("Patching " + methodName);
 					var il = method.Body.GetILProcessor ();
 					var call = il.Create (OpCodes.Call, method.Module.Import (targetMethod));
@@ -98,6 +98,8 @@
 						il.InsertBefore (method.Body.Instructions [i++], call);
 					}
+					return;
 				}
 			}
+			Console.WriteLine ("ERROR: Did not find " + type.Name + "." + methodName + "()");
 		}
 
@@ -106,5 +108,4 @@
 			foreach (MethodDefinition method in type.Methods) {
 				if (method.Name.Equals (methodName)) {
-					Console.WriteLine ("Patching " + methodName);
 					var il = method.Body.GetILProcessor ();
 					var call = il.Create (OpCodes.Call, method.Module.Import (targetMethod));
@@ -117,6 +118,8 @@
 					il.InsertBefore (method.Body.Instructions [i++], call);
 					il.InsertBefore (method.Body.Instructions [i++], il.Create (OpCodes.Ret));
+					return;
 				}
 			}
+			Console.WriteLine ("ERROR: Did not find " + type.Name + "." + methodName + "()");
 		}
 
@@ -125,9 +128,7 @@
 			foreach (FieldDefinition fd in type.Fields) {
 				if (fd.Name.Equals ("AllocsPatch")) {
-					Console.WriteLine ("\"" + type.Name + "\" is already patched, skipping");
 					return true;
 				}
 			}
-			Console.WriteLine ("Patching \"" + type.Name + "\"");
 			return false;
 		}
