Index: binary-improvements/7dtd-server-fixes/src/AllocsNetTelnetServer.cs
===================================================================
--- binary-improvements/7dtd-server-fixes/src/AllocsNetTelnetServer.cs	(revision 115)
+++ binary-improvements/7dtd-server-fixes/src/AllocsNetTelnetServer.cs	(revision 130)
@@ -7,175 +7,175 @@
 using System.Threading;
 
-public class AllocsNetTelnetServer
+namespace AllocsFixes
 {
-	private static ConsoleSdtd console = null;
-	private static Thread telnetThread = null;
-	private static TcpListener listener = null;
-	private static bool closed = false;
-	private static bool authEnabled = false;
-	private static List<AllocsTelnetConnection> connections = new List<AllocsTelnetConnection> ();
+	public class AllocsNetTelnetServer
+	{
+		private static Thread telnetThread = null;
+		private static TcpListener listener = null;
+		private static bool closed = false;
+		private static bool authEnabled = false;
+		private static List<AllocsTelnetConnection> connections = new List<AllocsTelnetConnection> ();
 
-	public static void init (int port)
-	{
-		try {
-			Log.Out ("[7dtd-server-fixes by Alloc] Version: " + Assembly.GetExecutingAssembly ().GetName ().Version);
-			authEnabled = GamePrefs.GetString (EnumGamePrefs.TelnetPassword).Length != 0;
-			if (authEnabled)
-				listener = new TcpListener (IPAddress.Any, port);
-			else
-				listener = new TcpListener (IPAddress.Loopback, port);
-			telnetThread = ThreadMaster.Create ("thread Allocs TelnetListenThread", new ThreadStart (telnetListenThread));
-			telnetThread.Start ();
-			Log.Out ("Started Allocs NetTelnetServer thread on " + port);
-		} catch (Exception e) {
-			Log.Out ("Error in AllocsTelnetServer.init: " + e);
+		public static void init (int port)
+		{
+			try {
+				Log.Out ("[7dtd-server-fixes by Alloc] Version: " + Assembly.GetExecutingAssembly ().GetName ().Version);
+				authEnabled = GamePrefs.GetString (EnumGamePrefs.TelnetPassword).Length != 0;
+				if (authEnabled)
+					listener = new TcpListener (IPAddress.Any, port);
+				else
+					listener = new TcpListener (IPAddress.Loopback, port);
+				telnetThread = ThreadMaster.Create ("thread Allocs TelnetListenThread", new ThreadStart (telnetListenThread));
+				telnetThread.Start ();
+				Log.Out ("Started Allocs NetTelnetServer thread on " + port);
+			} catch (Exception e) {
+				Log.Out ("Error in AllocsTelnetServer.init: " + e);
+			}
 		}
-	}
 
-	private static void telnetListenThread ()
-	{
-		try {
-			Log.Out ("Started thread_Allocs_TelnetListenThread()");
-			listener.Start ();
-			while (!closed) {
-				Thread.Sleep (10);
-				if (listener.Pending ()) {
-					AllocsTelnetConnection c = new AllocsTelnetConnection (listener.AcceptTcpClient (), authEnabled);
-					connections.Add (c);
-					Log.Out ("Telnet connection from: " + c.GetEndPoint ());
-					if (authEnabled) {
-						c.WriteLine ("Please enter password:");
-					} else {
-						LoginMessage (c);
+		private static void telnetListenThread ()
+		{
+			try {
+				Log.Out ("Started thread_Allocs_TelnetListenThread()");
+				listener.Start ();
+				while (!closed) {
+					Thread.Sleep (10);
+					if (listener.Pending ()) {
+						AllocsTelnetConnection c = new AllocsTelnetConnection (listener.AcceptTcpClient (), authEnabled);
+						connections.Add (c);
+						Log.Out ("Telnet connection from: " + c.GetEndPoint ());
+						if (authEnabled) {
+							c.WriteLine ("Please enter password:");
+						} else {
+							LoginMessage (c);
+						}
+					}
+
+					foreach (AllocsTelnetConnection c in connections) {
+						if (c.IsClosed ()) {
+							c.Close ();
+							connections.Remove (c);
+							break;
+						}
+						if (c.Read ()) {
+							string line = lineCorrecter (c.GetLine ());
+							if (!c.IsAuthenticated ()) {
+								if (line.Equals (GamePrefs.GetString (EnumGamePrefs.TelnetPassword))) {
+									c.SetAuthenticated ();
+									c.WriteLine ("Logon successful.");
+									c.WriteLine (string.Empty);
+									c.WriteLine (string.Empty);
+									c.WriteLine (string.Empty);
+									LoginMessage (c);
+								} else {
+									c.WriteLine ("Password incorrect, please enter password:");
+								}
+							} else {
+								if (line.ToLower ().Equals ("exit")) {
+									Log.Out ("Telnet connection closed by client: " + c.GetEndPoint ());
+									c.Close ();
+									connections.Remove (c);
+									break;
+								}
+								Log.Out ("Telnet executed \"" + line + "\" from: " + c.GetEndPoint ());
+								ConsoleOutputSeparator.QueueTelnetCommand (line, c);
+							}
+						}
 					}
 				}
+				Log.Out ("Exited thread_Allocs_TelnetListenThread()");
+				ThreadMaster.Remove (Thread.CurrentThread.Name);
+			} catch (Exception ex) {
+				Log.Out ("Error in Allocs telnetListenThread: " + ex.Message);
+				Log.Out ("Stack Trace: " + ex.StackTrace);
+			}
+		}
 
+		private static void LoginMessage (AllocsTelnetConnection c)
+		{
+			c.WriteLine ("*** Connected with 7DTD server.");
+			c.WriteLine ("*** Dedicated server only build");
+			c.WriteLine ("*** Allocs server fixes loaded");
+			c.WriteLine (string.Empty);
+			c.WriteLine ("Server IP:   " + 
+				((GamePrefs.GetString (EnumGamePrefs.ServerIP) != null && GamePrefs.GetString (EnumGamePrefs.ServerIP).Length != 0) ? GamePrefs.GetString (EnumGamePrefs.ServerIP) : "Any")
+			);
+			c.WriteLine ("Server port: " + GamePrefs.GetInt (EnumGamePrefs.ServerPort));
+			c.WriteLine ("Max players: " + GamePrefs.GetInt (EnumGamePrefs.ServerMaxPlayerCount));
+			c.WriteLine ("Game mode:   " + GamePrefs.GetString (EnumGamePrefs.GameMode));
+			c.WriteLine ("World:       " + GamePrefs.GetString (EnumGamePrefs.GameWorld));
+			c.WriteLine ("Game name:   " + GamePrefs.GetString (EnumGamePrefs.GameName));
+			c.WriteLine ("Difficulty:  " + GamePrefs.GetInt (EnumGamePrefs.GameDifficulty));
+			c.WriteLine (string.Empty);
+			c.WriteLine ("Press 'help' to get a list of all commands. Press 'exit' to end session.");
+			c.WriteLine (string.Empty);
+		}
+
+		private static string lineCorrecter (string line)
+		{
+			string res = "";
+			for (int i = 0; i < line.Length; i++) {
+				if (line [i] >= ' ' && line [i] != '\'' && line [i] <= '~') {
+					res += line [i];
+				}
+			}
+			return res.Trim ();
+		}
+
+		public static void Disconnect ()
+		{
+			try {
+				closed = true;
+				if (listener != null) {
+					listener.Stop ();
+				}
+				foreach (AllocsTelnetConnection c in connections) {
+					c.Close ();
+				}
+				Thread.Sleep (100);
+			} catch (Exception e) {
+				Log.Out ("Error in AllocsTelnetServer.Disconnect: " + e);
+			}
+		}
+
+		public static void SetConsole (ConsoleSdtd console)
+		{
+		}
+
+		private static void RemoveClosedConnections ()
+		{
+			try {
 				foreach (AllocsTelnetConnection c in connections) {
 					if (c.IsClosed ()) {
 						c.Close ();
-						connections.Remove (c);
-						break;
-					}
-					if (c.Read ()) {
-						string line = lineCorrecter (c.GetLine ());
-						if (!c.IsAuthenticated ()) {
-							if (line.Equals (GamePrefs.GetString (EnumGamePrefs.TelnetPassword))) {
-								c.SetAuthenticated ();
-								c.WriteLine ("Logon successful.");
-								c.WriteLine (string.Empty);
-								c.WriteLine (string.Empty);
-								c.WriteLine (string.Empty);
-								LoginMessage (c);
-							} else {
-								c.WriteLine ("Password incorrect, please enter password:");
-							}
-						} else {
-							if (line.ToLower ().Equals ("exit")) {
-								Log.Out ("Telnet connection closed by client: " + c.GetEndPoint ());
-								c.Close ();
-								connections.Remove (c);
-								break;
-							}
-							Log.Out ("Telnet executed \"" + line + "\" from: " + c.GetEndPoint ());
-							ConsoleOutputSeparator.QueueTelnetCommand (line, c);
-						}
 					}
 				}
-			}
-			Log.Out ("Exited thread_Allocs_TelnetListenThread()");
-			ThreadMaster.Remove (Thread.CurrentThread.Name);
-		} catch (Exception ex) {
-			Log.Out ("Error in Allocs telnetListenThread: " + ex.Message);
-			Log.Out ("Stack Trace: " + ex.StackTrace);
-		}
-	}
-
-	private static void LoginMessage (AllocsTelnetConnection c)
-	{
-		c.WriteLine ("*** Connected with 7DTD server.");
-		c.WriteLine ("*** Dedicated server only build");
-		c.WriteLine ("*** Allocs server fixes loaded");
-		c.WriteLine (string.Empty);
-		c.WriteLine ("Server IP:   " + 
-			((GamePrefs.GetString (EnumGamePrefs.ServerIP) != null && GamePrefs.GetString (EnumGamePrefs.ServerIP).Length != 0) ? GamePrefs.GetString (EnumGamePrefs.ServerIP) : "Any")
-		);
-		c.WriteLine ("Server port: " + GamePrefs.GetInt (EnumGamePrefs.ServerPort));
-		c.WriteLine ("Max players: " + GamePrefs.GetInt (EnumGamePrefs.ServerMaxPlayerCount));
-		c.WriteLine ("Game mode:   " + GamePrefs.GetString (EnumGamePrefs.GameMode));
-		c.WriteLine ("World:       " + GamePrefs.GetString (EnumGamePrefs.GameWorld));
-		c.WriteLine ("Game name:   " + GamePrefs.GetString (EnumGamePrefs.GameName));
-		c.WriteLine ("Difficulty:  " + GamePrefs.GetInt (EnumGamePrefs.GameDifficulty));
-		c.WriteLine (string.Empty);
-		c.WriteLine ("Press 'help' to get a list of all commands. Press 'exit' to end session.");
-		c.WriteLine (string.Empty);
-	}
-
-	private static string lineCorrecter (string line)
-	{
-		string res = "";
-		for (int i = 0; i < line.Length; i++) {
-			if (line [i] >= ' ' && line [i] != '\'' && line [i] <= '~') {
-				res += line [i];
+			} catch (Exception e) {
+				Log.Out ("Error in AllocsTelnetServer.RemoveClosedConnections: " + e);
 			}
 		}
-		return res.Trim ();
-	}
 
-	public static void Disconnect ()
-	{
-		try {
-			closed = true;
-			if (listener != null) {
-				listener.Stop ();
+		public static void WriteToClient (string line)
+		{
+			if (line == null) {
+				return;
 			}
+			RemoveClosedConnections ();
 			foreach (AllocsTelnetConnection c in connections) {
-				c.Close ();
+				if (c.IsAuthenticated ())
+					c.WriteLine (line);
 			}
-			Thread.Sleep (100);
-		} catch (Exception e) {
-			Log.Out ("Error in AllocsTelnetServer.Disconnect: " + e);
 		}
-	}
 
-	public static void SetConsole (ConsoleSdtd console)
-	{
-		Log.Out ("Telnet SetConsole called");
-		AllocsNetTelnetServer.console = console;
-	}
-
-	private static void RemoveClosedConnections ()
-	{
-		try {
+		public static void WriteToClient_Single (string line, AllocsTelnetConnection client)
+		{
+			if (line == null) {
+				return;
+			}
+			RemoveClosedConnections ();
 			foreach (AllocsTelnetConnection c in connections) {
-				if (c.IsClosed ()) {
-					c.Close ();
-				}
+				if (c.IsAuthenticated () && (c == client))
+					c.WriteLine (line);
 			}
-		} catch (Exception e) {
-			Log.Out ("Error in AllocsTelnetServer.RemoveClosedConnections: " + e);
-		}
-	}
-
-	public static void WriteToClient (string line)
-	{
-		if (line == null) {
-			return;
-		}
-		RemoveClosedConnections ();
-		foreach (AllocsTelnetConnection c in connections) {
-			if (c.IsAuthenticated ())
-				c.WriteLine (line);
-		}
-	}
-
-	public static void WriteToClient_Single (string line, AllocsTelnetConnection client)
-	{
-		if (line == null) {
-			return;
-		}
-		RemoveClosedConnections ();
-		foreach (AllocsTelnetConnection c in connections) {
-			if (c.IsAuthenticated () && (c == client))
-				c.WriteLine (line);
 		}
 	}
