private void Setup()
{
if (Tools.RunningPlatform() == Tools.Platform.Windows)
{
try
{
HideWindow();
}
catch
{
//Failed to hide window, probably in service mode.
}
}
Console.WriteLine("Creating settings");
var settings = Config.Load();
Console.WriteLine("Configuring up server");
Tools.ConfigureServer();
Console.WriteLine(Assembly.GetExecutingAssembly().GetName().Version);
var useTerminal = settings.Terminal.AllowTerminal;
var useWebServer = settings.WebServer.ToggleWebServer;
var useWebCams = settings.Webcams.UseWebcams;
if (useWebCams)
{
Console.WriteLine("Loading Webcams");
WebCamManager.LoadWebcams();
}
if (useWebServer)
{
Console.WriteLine("Setting up HTTP Server");
HttpServer.Setup();
}
systemService = new SystemService();
Console.WriteLine("Creating system service");
systemService.Start();
UlteriusApiServer.RunningAsService = Tools.RunningAsService();
UlteriusApiServer.Start();
if (useTerminal)
{
Console.WriteLine("Starting Terminal API");
TerminalManagerServer.Start();
}
try
{
var useUpnp = settings.Network.UpnpEnabled;
if (useUpnp)
{
Console.WriteLine("Trying to forward ports");
Tools.ForwardPorts();
}
}
catch (Exception)
{
Console.WriteLine("Failed to forward ports");
}
}