void ManageClosing() { string stringToCompare = ""; string theEntry = ""; string entry = ""; string entryData = ""; while (stringToCompare != closeString) { entry = Output.ReadLine(); if (entry.IndexOf(" ") > 0) { theEntry = entry.Substring(0, entry.IndexOf(" ")).ToUpper(); if (entry.IndexOf(" ") + 1 < entry.Length) { entryData = entry.Substring(entry.IndexOf(" ") + 1).ToUpper(); } else { entryData = ""; } } else { theEntry = entry.ToUpper(); entryData = ""; } switch (theEntry) { case send: break; case clear: Output.Clear(); break; case debug: switch (entryData) { case "": if (Program.DEBUG_Decrypt || Program.DEBUG_Encrypt || Program.DEBUG_Game_Send || Program.DEBUG_Game_Recv || Program.DEBUG_send || Program.DEBUG_recv) { Program.DEBUG_recv = false; Program.DEBUG_send = false; Program.DEBUG_Game_Recv = false; Program.DEBUG_Game_Send = false; Program.DEBUG_Decrypt = false; Program.DEBUG_Encrypt = false; Output.WriteLine("DEBUG MOD OFF"); } else { Output.WriteLine("DEBUG MOD ON"); Program.DEBUG_recv = true; Program.DEBUG_send = true; Program.DEBUG_Game_Recv = true; Program.DEBUG_Game_Send = true; Program.DEBUG_Decrypt = true; Program.DEBUG_Encrypt = true; } break; case "USER": if (Program.DEBUG_recv || Program.DEBUG_send) { Program.DEBUG_recv = false; Program.DEBUG_send = false; Output.WriteLine("USER DEBUG MOD OFF"); } else { Output.WriteLine("USER DEBUG MOD ON"); Program.DEBUG_recv = true; Program.DEBUG_send = true; } break; case "USER_RECV": if (Program.DEBUG_recv) { Program.DEBUG_recv = false; Output.WriteLine("USER RECV DEBUG MOD OFF"); } else { Output.WriteLine("USER RECV DEBUG MOD ON"); Program.DEBUG_recv = true; } break; case "USER_SEND": if (Program.DEBUG_send) { Program.DEBUG_send = false; Output.WriteLine("USER SEND DEBUG MOD OFF"); } else { Output.WriteLine("USER SEND DEBUG MOD ON"); Program.DEBUG_send = true; } break; case "RECV": if (Program.DEBUG_recv_stage1) { Program.DEBUG_recv_stage1 = false; Output.WriteLine("USER RECV STAGE 1 DEBUG MOD OFF"); } else { Output.WriteLine("USER RECV STAGE 1 DEBUG MOD ON"); Program.DEBUG_recv_stage1 = true; } break; case "SEND": if (Program.DEBUG_send_stage1) { Program.DEBUG_send_stage1 = false; Output.WriteLine("USER SEND STAGE 1 DEBUG MOD OFF"); } else { Output.WriteLine("USER SEND STAGE 1 DEBUG MOD ON"); Program.DEBUG_send_stage1 = true; } break; case "GAMESERVER": if (Program.DEBUG_Game_Recv || Program.DEBUG_Game_Send) { Program.DEBUG_Game_Recv = false; Program.DEBUG_Game_Send = false; Output.WriteLine("GAME SERVER DEBUG MOD OFF"); } else { Output.WriteLine("GAME SERVER DEBUG MOD ON"); Program.DEBUG_Game_Recv = true; Program.DEBUG_Game_Send = true; } break; case "GAMESERVER_RECV": if (Program.DEBUG_Game_Recv) { Program.DEBUG_Game_Recv = false; Output.WriteLine("GAME SERVER RECV DEBUG MOD OFF"); } else { Output.WriteLine("GAME SERVER RECV DEBUG MOD ON"); Program.DEBUG_Game_Recv = true; } break; case "GAMESERVER_SEND": if (Program.DEBUG_Game_Send) { Program.DEBUG_Game_Send = false; Output.WriteLine("GAME SERVER SEND DEBUG MOD OFF"); } else { Output.WriteLine("GAME SERVER SEND DEBUG MOD ON"); Program.DEBUG_Game_Send = true; } break; case "DECRYPT": if (Program.DEBUG_Decrypt) { Program.DEBUG_Decrypt = false; Output.WriteLine("DECRYPT DEBUG MOD OFF"); } else { Output.WriteLine("DECRYPT DEBUG MOD ON"); Program.DEBUG_Decrypt = true; } break; case "ENCRYPT": if (Program.DEBUG_Encrypt) { Program.DEBUG_Encrypt = false; Output.WriteLine("ENCRYPT DEBUG MOD OFF"); } else { Output.WriteLine("ENCRYPT DEBUG MOD ON"); Program.DEBUG_Encrypt = true; } break; default: Output.WriteLine("WRONG IN COMMAND DATA"); break; } break; case reconnectGServers: worldListener.StartListening(); Output.WriteLine("Reconnect done"); break; case info: switch (entryData) { case "": Output.WriteLine("Number of active connections = " + userListener.ConnectionCount.ToString() + " Active in pool: " + userListener.ActiveConnInPool.ToString() + " and Inactive: " + userListener.InactiveConnInPool.ToString()); break; case "PLAYER": Output.WriteLine("Number of in game users = " + InGameUsers.UsersCount().ToString()); Output.WriteLine("Number of waiting users = " + Users.Count.ToString()); break; default: Output.WriteLine("Unrecognized command"); break; } break; case closeString: stringToCompare = closeString; break; case testString: Output.SetOut(Output.OutType.Console); //set default output to window console break; case helpString: Output.WriteLine("Commands:"); Output.WriteLine("/help - show commands"); Output.WriteLine("/close - close server"); Output.WriteLine("info - some info about server"); Output.WriteLine("/cls - clear output window"); Output.WriteLine("/debug - show debug info"); break; default: Output.WriteLine("Unrecognized command"); break; } } }