public FightServerConnector(BattleServer server, string ip, int port, string key) : base(ip, port, true, new byte[2048], new byte[2048]) { m_server = server; m_key = key; Strict = true; }
public static void AddBattleServer(BattleServer server) { if (server != null) { BattleMgr.m_list.Add(server); server.Disconnected += new EventHandler(BattleMgr.battle_Disconnected); } }
public static void RemoveServer(BattleServer server) { if (server != null) { BattleMgr.m_list.Remove(server); server.Disconnected -= new EventHandler(BattleMgr.battle_Disconnected); server.Stop(); } }
public static BattleServer AddRoom(BaseRoom room) { BattleServer server = FindActiveServer(); if (server != null && server.AddRoom(room)) { return(server); } return(null); }
public static BattleServer AddRoom(BaseRoom room) { BattleServer battleServer = BattleMgr.FindActiveServer(); if (battleServer != null && battleServer.AddRoom(room)) { return(battleServer); } return(null); }
public static void Disconnet(int id) { BattleServer server = BattleMgr.GetServer(id); if (server != null && server.IsActive) { server.LastRetryTime = DateTime.Now; server.RetryCount = BattleMgr.MAX_RECONNECT_TIME; server.Stop(); } }
public static BattleServer AddRoom(BaseRoom room) { BattleServer server = BattleMgr.FindActiveServer(room); BattleServer result; if (server != null && server.AddRoom(room)) { result = server; } else { result = null; } return(result); }
public static BattleServer FindFightServerByType(int type, bool isArea) { List <BattleServer> list; Monitor.Enter(list = BattleMgr.m_list); BattleServer result; try { BattleServer m_server = null; foreach (BattleServer server in BattleMgr.m_list) { if (server.IsActive && server.ServerType == type && server.IsOpen && server.IsArea == isArea) { if (m_server == null) { m_server = server; } else { if (server.RoomCount < m_server.RoomCount) { m_server = server; } } } } if (m_server != null) { m_server.RoomCount++; m_server.WaitingRoomCount++; } result = m_server; } finally { Monitor.Exit(list); } return(result); }
private static void battle_Disconnected(object sender, EventArgs e) { BattleServer server = sender as BattleServer; BattleMgr.log.ErrorFormat("Disconnect from battle server {0}:{1}", server.Ip, server.Port); if (server != null && BattleMgr.AutoReconnect && BattleMgr.m_list.Contains(server)) { BattleMgr.RemoveServer(server); if ((DateTime.Now - server.LastRetryTime).TotalMinutes > (double)BattleMgr.MAX_RECOUNT_MINS) { server.RetryCount = 0; } if (server.RetryCount < BattleMgr.MAX_RECONNECT_TIME) { BattleServer newserver = server.Clone(); BattleMgr.AddBattleServer(newserver); newserver.RetryCount = server.RetryCount + 1; newserver.LastRetryTime = DateTime.Now; newserver.Start(); } } }
public static void CancelPickup(BattleServer server, BaseRoom room) { AddAction(new CancelPickupAction(server, room)); }
public FightServerConnector(BattleServer server, string ip, int port, string key) : base(ip, port, false, new byte[20480], new byte[20480]) { this.m_server = server; this.m_key = key; base.Strict = false; }
public FightServerConnector(BattleServer server, string ip, int port, string key) : base(ip, port, true, new byte[30720], new byte[30720]) { this.m_server = server; this.m_key = key; base.Strict = true; }
public CancelPickupAction(BattleServer server,BaseRoom room) { m_room = room; m_server = server; }