public RPC.DataWriter RegPlanesServer(string ip, UInt16 port, ulong id, Iocp.NetConnection connect) { ServerFrame.NetEndPoint nep = new ServerFrame.NetEndPoint(ip, port); nep.Id = id; nep.Connect = connect; PlanesServerInfo oldnep; if (mPlanesServers.TryGetValue(connect, out oldnep) == true) { mPlanesServers[connect].EndPoint = nep; } else { oldnep = new PlanesServerInfo(); oldnep.EndPoint = nep; mPlanesServers.Add(connect, oldnep); } Log.Log.Server.Print("yzb id = {0}", id); RPC.DataWriter lret = new RPC.DataWriter(); //启动该planesserver对应的世界地图和国战地图 AllMapManager.Instance.StartupWorldMap((int)id); //位面信息 int count = this.PlanesMgr.Planes.Count; lret.Write(count); Log.Log.Server.Print("count = {0}", count); foreach (var i in this.PlanesMgr.Planes) { lret.Write(i.Value.PlanesId); lret.Write(i.Value.PlanesName); } count = 0; //将要启动的地图id返回给PlanesServer if (CSCommon.Data.CDbConfig.m_PlanesConfig.ContainsKey((int)id)) { count = CSCommon.Data.CDbConfig.m_PlanesConfig[(int)id].ListMap.Count; lret.Write(count); Log.Log.Server.Print("map count = {0}", count); foreach (CSCommon.Data.CAreaMap lAreaMap in CSCommon.Data.CDbConfig.m_PlanesConfig[(int)id].ListMap) { lret.Write(lAreaMap.Area); lret.Write(lAreaMap.Map); } } else { lret.Write(count); Log.Log.Server.Print("map count 0 = {0}", count); } return(lret); }
public void RegGateServer(string ip, UInt16 port, ulong id, Iocp.NetConnection connect) { ServerFrame.NetEndPoint nep = new ServerFrame.NetEndPoint(ip, port); nep.Id = id; nep.Connect = connect; ServerFrame.NetEndPoint oldnep; if (mGateServers.TryGetValue(connect, out oldnep) == true) { mGateServers[connect] = nep; } else { mGateServers.Add(connect, nep); } }