Esempio n. 1
0
        private static void CommandHandler(string comando)
        {
            Console.ResetColor();
            Console.ForegroundColor = ConsoleColor.Gray;
            switch (comando.ToLower())
            {
            case "help":
                Console.WriteLine("restart   -> Reseta o LoginServer");
                Console.WriteLine("kick all  -> Kicka todos os clients conectados");
                Console.WriteLine("quit      -> Sair do Login Server");
                Console.WriteLine("clear     -> Limpa a tela do console");
                Console.WriteLine("\n");
                break;

            case "quit":
                for (int i = 3; i > 0; i--)
                {
                    Console.WriteLine("Fechando LoginServer em: " + i + " segundos ...");
                    Thread.Sleep(1000);
                }
                Environment.Exit(0);
                break;

            case "restart":
                for (int i = 3; i > 0; i--)
                {
                    Console.WriteLine("Reiniciando LoginServer em: " + i + " segundos ...");
                    Thread.Sleep(1000);
                }
                Application.Restart();
                Environment.Exit(0);
                break;

            case "kick all":
                Console.WriteLine("Desconectando: " + Clients.Count + " clients");
                ClientFunctions.DisconnectAll();
                break;

            case "clients":
                Console.WriteLine("Total clients connected: " + Clients.Count);
                for (int i = 0; i < Clients.Count; i++)
                {
                    Console.WriteLine("[*] Client: " + i);
                    Console.WriteLine("     ID: " + Clients[i].id);
                    Console.WriteLine("     Version: " + Clients[i].data.Version);
                    Console.WriteLine("     IP Address: " + Clients[i]._socket.RemoteEndPoint.ToString());
                }
                Console.WriteLine("\n");
                break;

            case "clear":
                Console.Clear();
                break;

            case "cls":
                Console.Clear();
                break;

            default:
                Console.WriteLine("Command invalid");
                break;
            }
        }