Простой плагин, который организовывает белый список на сервере Minecraft. Проверка производится по IP игрока и его нику.
Иногда возникает необходимость запретить входить на сервер одним игрокам и разрешить входить другим. И иногда стандартный, встроенный Whitelist с этой задачей не справляется, ведь можно узнать ник игрока, который вписан в Whitelist и выполнить вход на сервер из-под его аккаунта.
Чтобы этого избежать я решил написать простой плагин, который проверяет IP игрока и его никнейм, и в случае соответствия пропускает на сервер, а в случае несоответствия отказывает во входе.
На данный момент в этом плагине отсутствует поддержка API, я решил не реализовывать ее на данном этапе. Однако, если этот плагин будет востребован и будут просьбы о добавлении поддержки, я займусь этим вопросом.
Данный плагин корректно работает на версиях, начиная с 1.20.1 и до последней версии Minecraft.
Весь Whitelist работает через файл config.yml. Оттуда он берет сообщения о запрете входа, состояние вайтлиста (включен или выключен), и список игроков в виде IP: nick.
В конфиге IP прописан не через точки, а через _. Сделано это для того, чтобы избежать разделения через стандартные методы Bukkit
# __ __ _ __ ___ _ _ _ _ _
# | \/ | ___ __| | ___ _ __ _ _\ \ / / |__ (_) |_ ___| (_)___| |_
# | |\/| |/ _ \ / _` |/ _ \ '__| '_ \ \ /\ / /| '_ \| | __/ _ \ | / __| __|
# | | | | (_) | (_| | __/ | | | | \ V V / | | | | | || __/ | \__ \ |_
# |_| |_|\___/ \__,_|\___|_| |_| |_|\_/\_/ |_| |_|_|\__\___|_|_|___/\__|
#
# ____ _ _ _ _____ ____ ____
# / ___|_ __ ___ __ _| |_ ___ __| | | |__ _ _ |_ _|__ _ __ / ___|___ _ __ ___ | _ \ _ _
# | | | '__/ _ \/ _` | __/ _ \/ _` | | '_ \| | | | | |/ _ \ '__| | / _ \| '_ ` _ \| |_) | | | |
# | |___| | | __/ (_| | || __/ (_| | | |_) | |_| | | | __/ | | |__| (_) | | | | | | __/| |_| |
# \____|_| \___|\__,_|\__\___|\__,_| |_.__/ \__, | |_|\___|_| \____\___/|_| |_| |_|_| \__, |
# |___/ |___/
denied-message: "&4Вы не можете использовать данную команду!"
denied-ip: "&4Ваш IP не внесен в белый список!"
another-ip: "&4К вашему аккаунту привязан иной IP!"
denied-name: "&4К вашему IP привязан другой ник. Вход запрещен"
enabled: true # писать либо true, либо false
# привязка айпи к нейму
# пример: ip: nickname
# внимание! все айпи в конфигурацию вписываются с _, а не с точками!
# Сделано это во избежание разделения ip на несколько подпунктов
# Поскольку Bukkit во время записи подобных пар ключей
# Воспринимает точки в ключах, как знак разделителя
# В будущем я заменю пары ключ-карт наоборот
players:
'45_12_12_12': 'name'
Доступны следующие команды:
/mw add - добавляет игрока в Whitelist
/mw remove - удаляет игрока из Whitelist
/mw reload - перезагружает конфигурацию WhiteList (ВНИМАНИЕ! Будьте осторожны при изменении конфига. IP необходимо вписывать строго через _, а не через точки)
В будущем проблема с разделителем будет исправлена, через парсинг подпунктов! (Если плагин окажется востребованным и нужным, я займусь устранением проблемы)
/ mw enabled - включает белый список
/mw disable - выключает белый список\