using System; using System.Collections.Generic; using System.Linq; namespace Barotrauma.Networking { partial class BannedPlayer { public string Name; public string IP; public bool IsRangeBan; public UInt64 SteamID; public string Reason; public DateTime? ExpirationTime; public UInt16 UniqueIdentifier; } partial class BanList { const string SavePath = "Data/bannedplayers.txt"; private List bannedPlayers; public IEnumerable BannedNames { get { return bannedPlayers.Select(bp => bp.Name); } } public IEnumerable BannedIPs { get { return bannedPlayers.Select(bp => bp.IP); } } partial void InitProjectSpecific(); public BanList() { bannedPlayers = new List(); InitProjectSpecific(); } public string ToRange(string ip) { for (int i = ip.Length - 1; i > 0; i--) { if (ip[i] == '.') { ip = ip.Substring(0, i) + ".x"; break; } } return ip; } } }