public virtual bool StartServer(string strServerName) { ServerInfo refServerInfo = m_refServerInfoMgr.Find(strServerName); if (null == refServerInfo) { return(false); } if (0 == refServerInfo.WorldID || 0 == refServerInfo.ServerID) { m_refMonitoringLoggerMgr.Write(strServerName, refServerInfo.WorldID, refServerInfo.ServerID, LogID.FAILED_START_SERVER_ERROR); return(false); } if (PROCESS_STATE.RUNNING == refServerInfo.ProcessState || PROCESS_STATE.STARTING == refServerInfo.ProcessState) { m_refMonitoringLoggerMgr.Write(strServerName, refServerInfo.WorldID, refServerInfo.ServerID, LogID.FAILED_START_SERVER_ALREADY_START); return(false); } int nProcessID; if (m_refProcessSystem.StartProcess(refServerInfo.ExePath, out nProcessID) == false) { FileLog.Instance.Write("실패! ServerController.StartServer(), 서버 프로세스를 시작하지 못했습니다. (ServerName={0}, ExePath={1})", strServerName, refServerInfo.ExePath); m_refMonitoringLoggerMgr.Write(strServerName, refServerInfo.WorldID, refServerInfo.ServerID, LogID.FAILED_START_SERVER_PROCESS); return(false); } refServerInfo.SetProcessStarting(nProcessID); m_refMonitoringLoggerMgr.Write(strServerName, refServerInfo.WorldID, refServerInfo.ServerID, LogID.STARTING_SERVER); return(true); }
public void Init(string strServerName, ServerInfoMgr refServerInfoMgr) { ServerInfo refServerInfo = refServerInfoMgr.Find(strServerName); if (null == refServerInfo) { return; } listboxDetailInfo.Items.Add("Name : " + refServerInfo.ServerName); listboxDetailInfo.Items.Add("Process State : " + refServerInfo.ProcessState.ToString()); listboxDetailInfo.Items.Add("Exe Path : " + refServerInfo.ExePath); listboxDetailInfo.Items.Add("Process Name : " + refServerInfo.ProcessName); listboxDetailInfo.Items.Add("Process ID : " + refServerInfo.ProcessID.ToString()); listboxDetailInfo.Items.Add("World ID : " + refServerInfo.WorldID.ToString()); listboxDetailInfo.Items.Add("Server ID : " + refServerInfo.ServerID.ToString()); listboxDetailInfo.Items.Add("Latest Start Time : " + refServerInfo.LatestStartTime.ToString("yyyy/MM/dd-HH:mm:ss")); }
public bool SetServerRevivable(string strServerName, bool bCheckedRevive) { bool bCurRevivable = m_serverInfoMgr.IsServerRevivable(strServerName); if (bCheckedRevive == bCurRevivable) { return(true); } ServerInfo refServerInfo = m_serverInfoMgr.Find(strServerName); if (null == refServerInfo) { return(false); } refServerInfo.SetProcessRevivable(bCheckedRevive); m_updaterServerListView.UpdateServerListInfo(strServerName); return(true); }
private void OutPutServerDescription(string strServerName) { if (strServerName.Length == 0) { return; } ServerInfo refServerInfo = m_refServerInfoMgr.Find(strServerName); if (null == refServerInfo) { return; } string strServerProcessName; strServerProcessName = System.IO.Path.GetFileNameWithoutExtension(refServerInfo.ExePath); textboxDesc.Text = "Server Name = " + strServerName + "\r\n"; textboxDesc.Text += "Execute File Path = " + refServerInfo.ExePath + "\r\n"; textboxDesc.Text += "Process Name = " + strServerProcessName + "\r\n"; }