static void Main(string[] args) { string serverName = ""; string database = ""; string username = ""; string password = ""; Console.Write("Preset: "); string preset = Console.ReadLine(); if (preset == "vuvm") { serverName = "localhost,54001"; database = "lh"; username = "******"; password = "******"; } else if (preset == "local") { serverName = "193.219.91.103,14119"; database = "lh"; username = "******"; password = "******"; } else { Console.Write("Server name:"); serverName = Console.ReadLine(); Console.Write("Database name:"); database = Console.ReadLine(); Console.Write("Username:"******"Password:"******"Enter the port: "); string portStr = Console.ReadLine(); try { port = ushort.Parse(portStr); } catch { Console.WriteLine("Invalid port"); continue; } break; } TCPServer server = new TCPServer(port); RequestHandler requestHandler = new RequestHandler(db, server); requestHandler.Start(); //Thread serverThread = new Thread(new ThreadStart(RunServer)); //serverThread.Start(); Console.WriteLine("Server started."); while (true) { string input = Console.ReadLine(); if (input == "quit" || input == "exit") { Environment.Exit(0); } else if (input == "restart" || input == "rs") { context.Dispose(); context = new MainDbContext(serverName, database, username, password); db = new Database(context); } else if (input == "clients") { Console.WriteLine($"{server.ClientCount()} clients | {server.ThreadCount()} threads"); continue; } object result; lock (mData) { result = db.Execute(input); } if (result != null) { Console.WriteLine(result); } else { Console.WriteLine("Command returned null"); } } } }