public bool OnSetRevivableAttReq(NetCommand command) { string strServerName; bool bRevivable; if (command.ReadString(out strServerName) == false) { return(false); } if (command.ReadBoolean(out bRevivable) == false) { return(false); } m_refServerMonitor.SetServerRevivable(strServerName, bRevivable); TRANS_SERVERINFONODE[] serverInfo = new TRANS_SERVERINFONODE[1]; if (m_refServerMonitor.refServerInfoMgr.GetTRANS_SERVERINFONODE(strServerName, ref serverInfo[0]) == false) { return(false); } if (m_refCommandSender.SendGetServerInfoRes(command.SessionID, ref serverInfo) == false) { return(false); } return(true); }
public bool OnTerminateServerReq(NetCommand command) { string strServerName; if (command.ReadString(out strServerName) == false) { return(false); } if (null == m_refServerMonitor.refServerInfoMgr.Find(strServerName)) { return(true); } m_refServerMonitor.TerminateServer(strServerName); TRANS_SERVERINFONODE[] serverInfo = new TRANS_SERVERINFONODE[1]; if (m_refServerMonitor.refServerInfoMgr.GetTRANS_SERVERINFONODE(strServerName, ref serverInfo[0]) == false) { return(false); } if (m_refCommandSender.SendGetServerInfoRes(command.SessionID, ref serverInfo) == false) { return(false); } return(true); }
private bool OnGetServerInfoRes(NetCommand command) { byte nServerCount; if (command.ReadByte(out nServerCount) == false) { return(false); } TRANS_SERVERINFONODE[] arrServerInfo = new TRANS_SERVERINFONODE[nServerCount]; for (int i = 0; i < nServerCount; ++i) { if (command.ReadString(out arrServerInfo[i].strServerName) == false) { return(false); } if (command.ReadByte(out arrServerInfo[i].nProcessState) == false) { return(false); } if (command.ReadByte(out arrServerInfo[i].nServableState) == false) { return(false); } if (command.ReadBoolean(out arrServerInfo[i].bRevivable) == false) { return(false); } if (command.ReadInt32(out arrServerInfo[i].nCurServerPlayerCount) == false) { return(false); } } UInt64 nSessionID = command.SessionID; MachineInfo refMachineInfo = m_refServerMonitorClient.refMachineInfoMgr.Find(nSessionID); if (null == refMachineInfo) { return(false); } for (int i = 0; i < nServerCount; ++i) { string strServerName = arrServerInfo[i].strServerName; PROCESS_STATE eProcessState = (PROCESS_STATE)arrServerInfo[i].nProcessState; SERVABLE_STATE eServableState = (SERVABLE_STATE)arrServerInfo[i].nServableState; bool bRevivable = arrServerInfo[i].bRevivable; int nCurServerPlayerCount = arrServerInfo[i].nCurServerPlayerCount; m_refServerMonitorClient.UpdateServerInfo(refMachineInfo.GetName(), strServerName, eProcessState, eServableState, bRevivable, nCurServerPlayerCount); } m_refServerMonitorClient.UpdateMachinePlayerCount(refMachineInfo.GetName()); return(true); }
public void TestGetTRANS_SERVERINFO() { m_serverInfoMgr.AddServerInfo(TEST_SERVER_TYPE, TEST_SERVER_NAME1, TEST_SERVER_EXE_PATH1, WORLD_ID1, SERVER_ID1); TRANS_SERVERINFONODE serverInfo = new TRANS_SERVERINFONODE(); m_serverInfoMgr.GetTRANS_SERVERINFONODE(TEST_SERVER_NAME1, ref serverInfo); Assert.AreEqual(false, serverInfo.bRevivable); Assert.AreEqual(PROCESS_STATE.TERMINATED, (PROCESS_STATE)serverInfo.nProcessState); Assert.AreEqual(TEST_SERVER_NAME1, serverInfo.strServerName); }
private bool OnTerminatetAllServerReq(NetCommand command) { m_refServerMonitor.TerminateAllServer(); TRANS_SERVERINFONODE[] serverInfo = new TRANS_SERVERINFONODE[m_refServerMonitor.refServerInfoMgr.ServerInfoCount]; m_refServerMonitor.refServerInfoMgr.GetTRANS_SERVERINFONODE(ref serverInfo); if (m_refCommandSender.SendGetServerInfoRes(command.SessionID, ref serverInfo) == false) { return(false); } return(true); }
public bool GetTRANS_SERVERINFONODE(string strServerName, ref TRANS_SERVERINFONODE refTransServerInfo) { ServerInfo serverInfo = Find(strServerName); if (null == serverInfo) { return(false); } refTransServerInfo.strServerName = serverInfo.ServerName; refTransServerInfo.nProcessState = (byte)serverInfo.ProcessState; refTransServerInfo.nServableState = (byte)serverInfo.ServableState; refTransServerInfo.bRevivable = serverInfo.IsRevivable; refTransServerInfo.nCurServerPlayerCount = serverInfo.CurPlayerCount; return(true); }
public bool OnGetServerInfoReq(NetCommand command) { byte nServerNameCount; string[] arrServerNames; if (command.ReadByte(out nServerNameCount) == false) { return(false); } arrServerNames = new string[nServerNameCount]; for (int i = 0; i < nServerNameCount; ++i) { if (command.ReadString(out arrServerNames[i]) == false) { return(false); } } TRANS_SERVERINFONODE serverInfo = new TRANS_SERVERINFONODE(); List <TRANS_SERVERINFONODE> listServerInfo = new List <TRANS_SERVERINFONODE>(); for (int i = 0; i < nServerNameCount; ++i) { if (m_refServerMonitor.refServerInfoMgr.GetTRANS_SERVERINFONODE(arrServerNames[i], ref serverInfo) == false) { continue; } listServerInfo.Add(serverInfo); } TRANS_SERVERINFONODE[] arrServerInfo = new TRANS_SERVERINFONODE[listServerInfo.Count]; listServerInfo.CopyTo(arrServerInfo); if (m_refCommandSender.SendGetServerInfoRes(command.SessionID, ref arrServerInfo) == false) { return(false); } return(true); }