public void Run()
{
if (_running)
throw new Exception("Server is already running.");
CliUtil.WriteHeader("Login Server", ConsoleColor.Magenta);
CliUtil.LoadingTitle();
this.NavigateToRoot();
// Conf
this.LoadConf(this.Conf = new LoginConf());
// Database
this.InitDatabase(this.Database = new LoginDb(), this.Conf);
// Check if there are any updates
this.CheckDatabaseUpdates();
// Data
this.LoadData(DataLoad.LoginServer, false);
// Localization
this.LoadLocalization(this.Conf);
// Web API
this.LoadWebApi();
// Scripts
this.LoadScripts();
// Start
this.Server.Start(this.Conf.Login.Port);
CliUtil.RunningTitle();
_running = true;
// Commands
var commands = new LoginConsoleCommands();
commands.Wait();
}