Иконка ресурса

FREE LimitRCON : 0.1.0 0.1.0

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System;
using System.Collections.Generic;

namespace Oxide.Plugins
{
    [Info("LimitRCON", "Wulf/lukespragg", "0.1.0", ResourceId = 0)]
    [Description("Limits RCON access to specific IP addresses")]

    class LimitRCON : RustPlugin
    {
        #region Configuration

        List<object> ips;

        protected override void LoadDefaultConfig()
        {
            Config["AllowedIPs"] = ips = GetConfig("AllowedIPs", new List<object> { "127.0.0.1", "8.8.8.8" });
            SaveConfig();
        }

        void Init() => LoadDefaultConfig();

        #endregion

        object OnRconConnection(System.Net.IPEndPoint ipEndPoint)
        {
            return IsLocalIp(ipEndPoint.Address.ToString()) ? null : (!ips.Contains(ipEndPoint.Address.ToString()) ? (object)true : null);
        }

        #region Helpers

        T GetConfig<T>(string name, T defaultValue) => Config[name] == null ? defaultValue : (T)Convert.ChangeType(Config[name], typeof(T));

        static bool IsLocalIp(string ipAddress)
        {
            var split = ipAddress.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries);
            var ip = new[] { int.Parse(split[0]), int.Parse(split[1]), int.Parse(split[2]), int.Parse(split[3]) };
            return ip[0] == 10 || ip[0] == 127 || (ip[0] == 192 && ip[1] == 168) || (ip[0] == 172 && (ip[1] >= 16 && ip[1] <= 31));
        }

        #endregion
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху