public void RemoveSession(INetworkClient client) { ClientSession session; _sessions.TryRemove(client.ClientId, out session); // check if session hasnt been already removed if (session != null) { session.IsDisposing = true; if (IsWorldServer) { if (session.HasSelectedCharacter) { if (ServerManager.Instance.Groups.Any(s => s.IsMemberOfGroup(session.Character.CharacterId))) { ServerManager.Instance.GroupLeave(session); } session.Character.Save(); // only remove the character from map if the character has been set session.CurrentMap?.Broadcast(session, session.Character.GenerateOut(), ReceiverType.AllExceptMe); } } session.Destroy(); client.Disconnect(); Logger.Log.Info(Language.Instance.GetMessageFromKey("DISCONNECT") + client.ClientId); session = null; } }
public void Connect() { if (!IsConnect) { hostName = Properties.Settings.Default.HostIP; //string hostname = tbHostname.Text; //string port = tbPort.Text; //tbHostname.Enabled = false; //tbPort.Enabled = false; //tbSend.Enabled = true; //btnSend.Enabled = true; //btnConnect.Text = "Disconnect"; string port; port = string.Format("{0:D3}", Properties.Settings.Default.PortServer); ClientOps ops = new ClientOps(this, hostName, port); m_client.Connect(ops); IsConnect = true; } else { //tbHostname.Enabled = true; //tbPort.Enabled = true; //btnConnect.Text = "Connect"; //tbSend.Enabled = false; //btnSend.Enabled = false; if (m_client.IsConnectionAlive) { m_client.Disconnect(); IsConnect = false; } } }
private void btnConnect_Click(object sender, EventArgs e) { if (btnConnect.Text.Equals("Connect")) { string hostname = tbHostname.Text; string port = tbPort.Text; tbHostname.Enabled = false; tbPort.Enabled = false; tbSend.Enabled = true; btnSend.Enabled = true; btnConnect.Text = "Disconnect"; ClientOps ops = new ClientOps(this, hostname, port); m_client.Connect(ops); } else { tbHostname.Enabled = true; tbPort.Enabled = true; btnConnect.Text = "Connect"; tbSend.Enabled = false; btnSend.Enabled = false; if (m_client.IsConnectionAlive) { m_client.Disconnect(); } } }
protected void RemoveSession(INetworkClient client) { _sessions.TryRemove(client.ClientId, out ClientSession session); // check if session hasnt been already removed if (session != null) { session.IsDisposing = true; session.Destroy(); if (IsWorldServer && session.HasSelectedCharacter) { session.Character.Save(); session.Character.Mates.Where(s => s.IsTeamMember && !s.Owner.IsVehicled).ToList().ForEach(s => session.CurrentMapInstance?.Broadcast(session, s.GenerateOut(), ReceiverType.AllExceptMe)); session.CurrentMapInstance?.Broadcast(session, StaticPacketHelper.Out(UserType.Player, session.Character.CharacterId), ReceiverType.AllExceptMe); if (ServerManager.Instance.Groups.Any(s => s.IsMemberOfGroup(session.Character.CharacterId))) { ServerManager.Instance.GroupLeave(session); } } client.Disconnect(); Logger.Info(Language.Instance.GetMessageFromKey("DISCONNECT") + client.ClientId); session.Destroy(); // session = null; } }
public void Disconnect() { StopKeepAlivePackets(); if (_network.IsConnected) { _network.Disconnect(); } }
protected override void UnloadContent() { _networkClient.Disconnect(); _logger.Information("Content: Unloading..."); base.UnloadContent(); _logger.Information("Content: Unloading...Done"); }
/// <summary> /// Disconnects from the server. /// </summary> public void Disconnect() { if (m_Network.IsConnected) { m_Network.Disconnect(); } Status = LoginClientStatus.Unconnected; }
/// <summary> /// Disconnects from the server. /// </summary> public void Disconnect() { if (m_Network.IsConnected) { StopKeepAlivePackets(); m_Network.Disconnect(); } Status = LoginClientStatus.Unconnected; }
public static void OnIdentificationMessage(INetworkClient client, IdentificationMessage im) { client.Send(new IdentificationSuccessMessage()); client.Send(new SelectedServerDataExtendedMessage()); Task.Run(async() => { await Task.Delay(TimeSpan.FromSeconds(1)); client.Disconnect(); }); }
protected override ClientSession IntializeNewSession(INetworkClient client) { if (!CheckGeneralLog(client)) { Logger.Warn(string.Format(Language.Instance.GetMessageFromKey("FORCED_DISCONNECT"), client.ClientId)); client.Initialize(_fallbackEncryptor); client.SendPacket($"fail {Language.Instance.GetMessageFromKey("CONNECTION_LOST")}"); client.Disconnect(); return(null); } ClientSession session = new ClientSession(client); session.Initialize(_encryptor, IsWorldServer); return(session); }
public void AddSession(INetworkClient customClient) { Logger.Info(Language.Instance.GetMessageFromKey("NEW_CONNECT") + customClient.ClientId); ClientSession session = IntializeNewSession(customClient); customClient.SetClientSession(session); if (session != null && IsWorldServer && !_sessions.TryAdd(customClient.ClientId, session)) { Logger.Warn(string.Format(Language.Instance.GetMessageFromKey("FORCED_DISCONNECT"), customClient.ClientId)); customClient.Disconnect(); _sessions.TryRemove(customClient.ClientId, out session); } }
public void AddSession(INetworkClient customClient) { Logger.Log.Info(Language.Instance.GetMessageFromKey("NEW_CONNECT") + customClient.ClientId); ClientSession session = IntializeNewSession(customClient); customClient.SetClientSession(session); if (session != null && IsWorldServer) { if (!_sessions.TryAdd(customClient.ClientId, session)) { Logger.Log.WarnFormat(Language.Instance.GetMessageFromKey("FORCED_DISCONNECT"), customClient.ClientId); customClient.Disconnect(); _sessions.TryRemove(customClient.ClientId, out session); return; } } }
public void AddSession(INetworkClient customClient) { Logger.Log.Info(Language.Instance.GetMessageFromKey("NEW_CONNECT") + customClient.ClientId); ClientSession session = IntializeNewSession(customClient); customClient.SetClientSession(session); if (session == null || !IsWorldServer) { return; } if (Sessions.TryAdd(customClient.ClientId, session)) { return; } Logger.Log.WarnFormat(Language.Instance.GetMessageFromKey("FORCED_DISCONNECT"), customClient.ClientId); customClient.Disconnect(); Sessions.TryRemove(customClient.ClientId, out session); }
public void AddSession(INetworkClient customClient) { Logger.Log.Info(Language.Instance.GetMessageFromKey("NEW_CONNECT") + customClient.ClientId); ClientSession session = IntializeNewSession(customClient); if (session != null && IsWorldServer) { ServerManager.Instance.RegisterSession(session); if (!_sessions.TryAdd(customClient.ClientId, session)) { Logger.Log.WarnFormat(Language.Instance.GetMessageFromKey("FORCED_DISCONNECT"), customClient.ClientId); customClient.Disconnect(); _sessions.TryRemove(customClient.ClientId, out session); ServerManager.Instance.UnregisterSession(session); return; } ; } }
protected void RemoveSession(INetworkClient client) { _sessions.TryRemove(client.ClientId, out ClientSession session); // check if session hasnt been already removed if (session != null) { session.IsDisposing = true; session.Destroy(); if (IsWorldServer && session.HasSelectedCharacter) { session.Character.Save(); } client.Disconnect(); Logger.Info(Language.Instance.GetMessageFromKey("DISCONNECT") + client.ClientId); // session = null; } }
public void Disconnect() { m_Network.Disconnect(); // stops keep alive packets. IsInWorld = false; m_Engine.ActiveModel = new LoginModel(); }
public void RemoveSession(INetworkClient client) { ClientSession session; _sessions.TryRemove(client.ClientId, out session); // check if session hasnt been already removed if (session != null) { session.IsDisposing = true; if (IsWorldServer) { if (session.HasSelectedCharacter) { if (session.Character.Hp < 1) { session.Character.Hp = 1; } if (ServerManager.Instance.Groups.Any(s => s.IsMemberOfGroup(session.Character.CharacterId))) { ServerManager.Instance.GroupLeave(session); } session.Character.Save(); // only remove the character from map if the character has been set session.CurrentMap?.Broadcast(session, session.Character.GenerateOut(), ReceiverType.AllExceptMe); } } session.Destroy(); client.Disconnect(); Logger.Log.Info(Language.Instance.GetMessageFromKey("DISCONNECT") + client.ClientId); session = null; } }
public void Disconnect() { _client?.Disconnect(); }
public void Disconnect() { m_Network.Disconnect(); EngineVars.InWorld = false; m_Engine.ActiveModel = new LoginModel(); }
public void Disconnect() { _network.Disconnect(); // stops keep alive packets. IsInWorld = false; _engine.Models.Current = new LoginModel(); }