Esempio n. 1
0
        private void StartServerOnLinux(Server server)
        {
            if (ServerProcesses.ContainsKey(server))
            {
                return;
            }

            var serverProcess = new Process
            {
                StartInfo =
                {
                    FileName  = "DreamDaemon",
                    Arguments = $"{server.ExecutablePath + server.ExecutableName} {server.Port} -safe -invisible",
                    RedirectStandardOutput = true,
                    RedirectStandardError  = true,
                    UseShellExecute        = false
                }
            };

            ServerProcesses[server] = serverProcess;
            serverProcess.Start();

            if (!_logBuilders.ContainsKey(server))
            {
                _logBuilders[server] = new StringBuilder(0, 2000);
            }
            serverProcess.BeginErrorReadLine();
            serverProcess.ErrorDataReceived += async(sender, args) => await OnStdErr(args, server);

            StartLogSendingTimer(server);
        }