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); }
public Debugger(ServerSession session) { SetSession(session); _waitSignal = new AutoResetEvent(false); _pauseSignal = new ManualResetEvent(true); _processes = new ServerProcesses(); _sessions = new ServerSessions(); }
public void StopServer(Server server) { ServerProcesses[server].Kill(); ServerProcesses[server].Dispose(); ServerProcesses.Remove(server); _logBuilders.Remove(server); _timers[server].Dispose(); _timers.Remove(server); }
internal ServerSession ( Engine server, int sessionID, SessionInfo sessionInfo, Schema.User user ) : base() { _server = server; _sessionID = sessionID; _sessionInfo = sessionInfo; _sessionObjects = new Schema.Objects(); _sessionOperators = new Schema.Objects(); _user = user; _processes = new ServerProcesses(); }