public static void UnBanPlayer(ulong steamId) { CoopKick.KickedPlayer kickedPlayer = CoopKick.Instance.kickedSteamIds.FirstOrDefault((CoopKick.KickedPlayer k) => k.SteamId == steamId); if (kickedPlayer != null) { CoopKick.Instance.kickedSteamIds.Remove(kickedPlayer); CoopKick.SaveList(); } }
/// <summary> /// Bans the player for the specified reason and duration /// </summary> /// <param name="id"></param> /// <param name="reason"></param> /// <param name="duration"></param> public void Ban(string id, string reason, TimeSpan duration = default(TimeSpan)) { if (IsBanned(id)) { return; } Scene.HudGui.MpPlayerList.Ban(Convert.ToUInt64(id)); CoopKick.SaveList(); }
public static bool UnBanPlayer(string name) { CoopKick.KickedPlayer kickedPlayer = CoopKick.Instance.kickedSteamIds.FirstOrDefault((CoopKick.KickedPlayer k) => k.Name == name); if (kickedPlayer != null) { CoopKick.Instance.kickedSteamIds.Remove(kickedPlayer); CoopKick.SaveList(); return(true); } return(false); }
public void Ban(string reason, TimeSpan duration) { Scene.HudGui.MpPlayerList.Ban(steamId); CoopKick.SaveList(); var entity = Scene.SceneTracker.allPlayerEntities.FirstOrDefault(e => e.source.RemoteEndPoint.SteamId.Id == steamId); if (entity != null) { CoopKick.KickPlayer(entity, (int)duration.TotalMinutes, reason); } }
/// <summary> /// Bans the user for the specified reason and duration /// </summary> /// <param name="id"></param> /// <param name="reason"></param> /// <param name="duration"></param> public void Ban(string id, string reason, TimeSpan duration = default(TimeSpan)) { // Check if already banned if (IsBanned(id)) { return; } // Ban and kick user Scene.HudGui.MpPlayerList.Ban(ulong.Parse(id)); CoopKick.SaveList(); //if (IsConnected) CoopKick.KickPlayer(entity, (int)duration.TotalMinutes, reason); // TODO: Implement if possible }
public bool IsSleeping => Scene.Atmosphere.Sleeping; // TODO: Fix #endregion #region Administration /// <summary> /// Bans the user for the specified reason and duration /// </summary> /// <param name="reason"></param> /// <param name="duration"></param> public void Ban(string reason, TimeSpan duration = default(TimeSpan)) { if (IsBanned) { return; } Scene.HudGui.MpPlayerList.Ban(steamId); CoopKick.SaveList(); if (IsConnected) { CoopKick.KickPlayer(entity, (int)duration.TotalMinutes, reason); } }
/// <summary> /// Unbans the player /// </summary> public void Unban() { if (!IsBanned) { return; } var kickedPlayer = CoopKick.Instance.kickedSteamIds.First(k => k.SteamId == steamId); if (kickedPlayer != null) { CoopKick.Instance.kickedSteamIds.Remove(kickedPlayer); CoopKick.SaveList(); } }
/// <summary> /// Bans the user for the specified reason and duration /// </summary> /// <param name="reason"></param> /// <param name="duration"></param> public void Ban(string reason, TimeSpan duration = default(TimeSpan)) { // Check already banned if (IsBanned) { return; } // Set to banned Scene.HudGui.MpPlayerList.Ban(steamId); CoopKick.SaveList(); if (entity != null) { CoopKick.KickPlayer(entity, (int)duration.TotalMinutes, reason); } }
public static void KickPlayer(BoltEntity playerEntity, int duration, string message = "HOST_KICKED_YOU") { if (BoltNetwork.isServer) { try { ulong num; if (SteamDSConfig.isDedicatedServer) { if (SteamDSConfig.clientConnectionInfo.ContainsKey(playerEntity.source.ConnectionId)) { num = SteamDSConfig.clientConnectionInfo[playerEntity.source.ConnectionId].m_SteamID; } else { num = 0UL; } } else { num = playerEntity.source.RemoteEndPoint.SteamId.Id; } if (duration >= 0 && num > 0UL && !CoopKick.IsBanned(num)) { CoopKick.Instance.kickedSteamIds.Add(new CoopKick.KickedPlayer { Name = playerEntity.GetState <IPlayerState>().name, SteamId = num, BanEndTime = ((duration <= 0) ? 0L : (DateTime.UtcNow.ToUnixTimestamp() + (long)duration)) }); CoopKick.SaveList(); } } catch (Exception exception) { Debug.LogException(exception); } playerEntity.source.Disconnect(new CoopKickToken { KickMessage = message, Banned = (duration == 0) }); } }
/// <summary> /// Bans the player for the specified reason and duration /// </summary> /// <param name="reason"></param> /// <param name="duration"></param> public void Ban(string reason, TimeSpan duration = default(TimeSpan)) { // Check already banned if (IsBanned) { return; } // Set to banned Scene.HudGui.MpPlayerList.Ban(steamId); CoopKick.SaveList(); var entity = Scene.SceneTracker.allPlayerEntities.FirstOrDefault(e => e.source.RemoteEndPoint.SteamId.Id == steamId); if (entity != null) { CoopKick.KickPlayer(entity, (int)duration.TotalMinutes, reason); } }
public static void KickPlayer(BoltConnection connection, BoltEntity playerEntity, int duration, string message = "HOST_KICKED_YOU") { if (!BoltNetwork.isServer) { return; } if (connection == null && playerEntity == null) { return; } if (connection == null) { connection = playerEntity.source; } try { ulong steamId = CoopKick.GetSteamId(connection); if (steamId == 0UL) { steamId = CoopKick.GetSteamId(playerEntity); } string name = (!(playerEntity == null)) ? playerEntity.GetState <IPlayerState>().name : steamId.ToString(); if (duration >= 0 && steamId > 0UL && !CoopKick.IsBanned(steamId)) { CoopKick.Instance.kickedSteamIds.Add(new CoopKick.KickedPlayer { Name = name, SteamId = steamId, BanEndTime = ((duration <= 0) ? 0L : (DateTime.UtcNow.ToUnixTimestamp() + (long)duration)) }); CoopKick.SaveList(); } } catch (Exception exception) { Debug.LogException(exception); } connection.Disconnect(new CoopKickToken { KickMessage = message, Banned = (duration == 0) }); }
public static void CheckBanEndTimes() { bool flag = false; long num = DateTime.UtcNow.ToUnixTimestamp(); for (int i = CoopKick.Instance.kickedSteamIds.Count - 1; i >= 0; i--) { long banEndTime = CoopKick.Instance.kickedSteamIds[i].BanEndTime; if (banEndTime > 0L && banEndTime < num) { CoopKick.Instance.kickedSteamIds.RemoveAt(i); flag = true; } } if (flag) { CoopKick.SaveList(); } }
/// <summary> /// Bans the player for the specified reason and duration /// </summary> /// <param name="reason"></param> /// <param name="duration"></param> public void Ban(string reason, TimeSpan duration = default) { if (!IsBanned) { CoopKick.KickedPlayer kickedPlayer = new CoopKick.KickedPlayer { Name = Name, SteamId = steamId, BanEndTime = duration.TotalMinutes <= 0 ? 0 : DateTime.UtcNow.ToUnixTimestamp() + (long)duration.TotalMinutes }; CoopKick.Instance.kickedSteamIds.Add(kickedPlayer); CoopKick.SaveList(); if (IsConnected) { Kick(reason); } } }
public static void KickPlayer(BoltEntity playerEntity, int duration, string message = "Host kicked you from the game") { if (BoltNetwork.isServer) { if (duration >= 0 && !CoopKick.IsBanned(playerEntity.source.RemoteEndPoint.SteamId)) { CoopKick.Instance.kickedSteamIds.Add(new CoopKick.KickedPlayer { Name = playerEntity.GetState <IPlayerState>().name, SteamId = playerEntity.source.RemoteEndPoint.SteamId.Id, BanEndTime = (duration <= 0) ? 0L : (DateTime.UtcNow.ToUnixTimestamp() + (long)duration) }); CoopKick.SaveList(); } playerEntity.source.Disconnect(new CoopKickToken { KickMessage = message, Banned = duration == 0 }); } }