Example #1
0
 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();
     }
 }
Example #2
0
        /// <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();
        }
Example #3
0
 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);
 }
Example #4
0
        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);
            }
        }
Example #5
0
        /// <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
        }
Example #6
0
        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);
            }
        }
Example #7
0
        /// <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();
            }
        }
Example #8
0
        /// <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);
            }
        }
Example #9
0
 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)
         });
     }
 }
Example #10
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);
            }
        }
Example #11
0
 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)
     });
 }
Example #12
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();
        }
    }
Example #13
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)
        {
            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);
                }
            }
        }
Example #14
0
 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
         });
     }
 }