1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [ADMN/SEC/MECH] MySQL Login Check IP (MLCI) 1.0

Тема в разделе "Неподтвержденные плагины", создана пользователем Linkinkov, 6 янв 2017.

  1. Автор темы
    Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Версия плагина: 1.0
    Под версию сервера: 1.7-1.11.2 (может и на более ранних версиях будет работать)

    В чем суть?
    Цель была в создании простого плагина на проверку входящего игрока по IP. Более того, плагин изначально предназначался для работы в связке с сайтом, поэтому в текущей версии и нет ни одной команды, как и permission. При входе плагин проверяет в бд наличие игрока с его ником, если в бд есть игрок, который входит, то производится сверка IP с тем, что имеется в БД. Проверка производится только на имеющихся записях, а не на всех игроках, так как в первую очередь ориентирована она для защиты администраторов, модерации от взлома. Если имеющийся в базе игрок входит под левым IP, его не пускает на сервер и выполняется указанная в конфиге команда. К примеру по умолчанию там блокировка IP, у меня на своих проектах стоит - команда, которая отправляет сообщение в Telegram :)

    Особенности:
    • Все данные хранятся в MySQL базе данных. Тестировал на удаленной БД, просадки в производительности нет. Я не силен в потоках, буду рад помощи.
    • Сверка происходит по нику, хотя в новой версии будет по UUID.
    • Работает быстро, при проблемах с коннектом к MySql может закрыть сервер или пускать всех.
    Конфиг:
    db:
    url: jdbc:mysql://localhost:3306/dbname
    username: username
    password: password
    #Название таблицы со списком игроков для проверки
    table_list: listip
    #Название таблицы со списком IP не прошедших проверку
    table_error: errorcheckip

    options:
    # Если проблемы с подключением к бд
    # true = когда бд не доступна, то кикает всех игроков и не дает войти
    # false = когда бд не доступна, то пускает всех
    kick-if-db-error: true

    # Команда что будет исполняться, если входит игрок с неверным IP. Где %s - заменяется на ник
    ban-cmd: ban-ip %s


    Пример таблицы listip:
    [​IMG]

    Пример таблицы errorcheckip:
    [​IMG]

    Будущие изменения:

    • Проверка будет производится только по UUID.
    • Добавлю внутриигровые команды для добавления, удаления игроков из БД.
    • Файл переводов сделаю удобнее и наверно разберусь с потоками.


     
  2. Типа админ:D

    Типа админ:D Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Qamulex
    IP бывает динамический и статический. Динамический после перезагрузки роутера меняет IP. Статический - постоянный IP.
    Получается, если у меня динамический IP, то меня будет постоянно банить?
     
  3. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    76
    Возможно, плагин работает не по полному адресу, а только по подсети.
     
  4. Автор темы
    Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Работает по полному адресу. Честно, он и ориентировался на статичные адреса, провайдеров с динамикой благо все меньше и меньше.
    Мне уже написали, что лучше сделать с добавлением нескольких адресов, чем возможно и займусь
     
  5. KlamrFox

    KlamrFox Активный участник Пользователь

    Баллы:
    66
    Хороший плагин. Подойдет для защиты донатеров и защиты сервера от продажи аккаунтов донатеров:)
    Like
     
  6. MrBrikster

    MrBrikster Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    MrBrikster
    Если адрес динамический, то не всегда будут выдаваться адреса с одной подсети.
     
  7. CnoWes

    CnoWes Активный участник Пользователь

    Баллы:
    78
    Имя в Minecraft:
    CnoWes
    СОВЕРШЕННО не точное высказывание, ибо статика стоит денег у провайдеров в 90%, пользуются этой услугой единицы, а динамики осталось столько же
     
    Последнее редактирование: 9 янв 2017
  8. Автор темы
    Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    У нас в СПБ, почти все провайдеры с прошлого года, бесплатно выдают статику.
    В Мск аналогичная ситуация, в других городах не знаю.

    В целом не вижу смысла от этого диалога, я сделаю поддержку масок подсети, как освобожусь.
    Но изначальная цель защита конкретного адреса.
     
  9. amw202020

    amw202020 Активный участник Пользователь

    Баллы:
    66
    Можно ещё проще поступить, получать имя провайдера и город игрока, врятли с одного города и провайдера встретятся игроки, и донатеры будут целы и по айпи напрямую не надо проверять, у меня допустим айпи всегда меняется.
     
  10. Автор темы
    Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    если добавить библиотеку GeoAPI, то запуск плагина и его работа с sql базой значительно затруднит профилирование плагина. Работать будет на порядок медленнее.
     

Поделиться этой страницей