Skip to content

STASynBOSS/UPnP-Firewall-For-PC-Router-Server-Minecraft-1.21

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UPnP Firewall (ALPHA) - Полное описание плагина

📖 Описание плагина

UPnP Firewall - это мощный и многофункциональный плагин для Minecraft серверов, предоставляющий комплексную систему управления сетевыми портами и фаерволом через протокол UPnP. Плагин позволяет автоматически управлять пробросом портов, настраивать правила доступа по IP-адресам и обеспечивать безопасность вашего сервера.

🚀 Основные возможности

🔒 Управление фаерволом

  • Whitelist/Blacklist система - гибкие правила доступа по IP-адресам
  • Автоматическая блокировка - предотвращение неавторизованных подключений
  • Режим белого списка - разрешение доступа только указанным IP

🌐 Управление портами через UPnP

  • Автоматический проброс портов - для основного порта сервера
  • Ручное управление портами - открытие/закрытие конкретных портов
  • Поддержка TCP и UDP - работа с различными протоколами
  • Автоматическое восстановление - проверка и восстановление портов

🎯 Продвинутые функции

  • IP-специфичные правила - управление портами для конкретных IP-адресов
  • Многоязычный интерфейс - поддержка русского и английского языков
  • Автоматическое управление - фоновый мониторинг состояния портов
  • Безопасное отключение - автоматическое закрытие портов при выключении

📋 Системные требования

  • Minecraft Server: Spigot 1.21+
  • Java: версия 21 или выше
  • Сеть: Маршрутизатор с поддержкой UPnP
  • Права: Доступ к настройкам сети

🛠 Установка

  1. Скачайте последнюю версию плагина
  2. Поместите файл Upnpfirewall.jar в папку .../plugins
  3. Перезапустите сервер
  4. Настройте конфигурацию в файле .../plugins/Upnpfirewall/config.yml

⚙️ Конфигурация

Базовые настройки

language: "ru"  # Язык интерфейса (ru/en)
close-ports-on-disable: true  # Закрывать порты при выключении

Настройки фаервола

firewall:
  enabled: true
  whitelist-mode: false
  rules:
    example_rule:
      ip: "0.0.0.0"
      type: "whitelist"
      action: "allow"

Управление портами

ports:
  open:
    minecraft_main:
      port: 25565
      protocol: "TCP"
      description: "Основной порт сервера"

Автоматическое управление

auto-port-management:
  enabled: true
  open-server-port: true
  check-interval: 300

🎮 Команды

Основные команды

/firewall status - Статус системы
/firewall reload - Перезагрузить конфигурацию
/firewall setlang <язык> - Сменить язык

Управление фаерволом

/firewall addrule <IP> <тип> <действие> - Добавить правило
/firewall removerule <IP> - Удалить правило
/firewall listrules - Список правил

Управление портами

/firewall openport <порт> <протокол> <описание> - Открыть порт
/firewall closeport <порт> - Закрыть порт
/firewall listports - Список портов

Продвинутое управление

/firewall openportip <IP> <порт> <протокол> - Открыть порт для IP
/firewall closeportip <IP> <порт> - Закрыть порт для IP
/firewall blockportip <IP> <порт> - Блокировать порт для IP
/firewall listportsip - Список IP-правил

🔧 Разрешения

  • upnpfirewall.admin - Полный доступ ко всем командам
  • upnpfirewall.user - Базовый доступ к командам
  • upnpfirewall.view - Просмотр статуса и правил

🐛 Отчеты об ошибках и исправления

Сообщение об ошибках

Если вы обнаружили ошибку в работе плагина, пожалуйста:

  1. Создайте Issue на GitHub с подробным описанием:

    • Версия плагина
    • Версия сервера Minecraft
    • Текст ошибки из консоли
    • Шаги для воспроизведения
    • Конфигурация плагина
  2. Укажите следующую информацию:

    ## Описание ошибки
    [Подробное описание что произошло]
    
    ## Шаги воспроизведения
    1. ...
    2. ...
    
    ## Ожидаемое поведение
    [Что должно было произойти]
    
    ## Логи
    [Соответствующие логи ошибок]
    
    ## Конфигурация
    [Соответствующие части config.yml]

Внесение исправлений

Если вы исправили ошибку или добавили новую функцию:

  1. Создайте Pull Request с:

    • Подробным описанием изменений
    • Обоснованием необходимости изменений
    • Информацией о тестировании
  2. Требования к коду:

    • Соответствие стилю исходного кода
    • Комментарии к сложным участкам кода
    • Тестирование на разных конфигурациях
    • Обновление документации при необходимости

Процесс разработки

# Клонирование репозитория
git clone https://github.com/your-repo/upnpfirewall.git

# Сборка проекта
mvn clean package

# Тестирование
# Убедитесь, что все функции работают корректно

📝 Примеры использования

Базовая настройка безопасности

firewall:
  enabled: true
  whitelist-mode: true
  rules:
    admin_ip:
      ip: "0.0.0.0"
      type: "whitelist"
      action: "allow"

Настройка дополнительных портов

ports:
  open:
    main_port:
      port: 25565
      protocol: "TCP"
      description: "Minecraft Server"
    rcon_port:
      port: 25565
      protocol: "TCP"
      description: "RCON Access"

Специфичные правила для плагинов

ports-ip:
  rules:
    voice_chat:
      ip: "0.0.0.0"
      port: 25565
      protocol: "UDP"
      action: "OPEN"
      description: "Plasmo Voice Chat"

🔄 Автоматическое управление

Плагин автоматически:

  • Открывает основной порт сервера при запуске
  • Проверяет состояние портов каждые 5 минут
  • Восстанавливает закрытые порты
  • Закрывает все порты при корректном выключении

📊 Мониторинг

Используйте /firewall status для получения информации:

  • Статус фаервола
  • Количество активных правил
  • Открытые порты
  • Статус автоматического управления

⚠️ Важные примечания

  1. Требуется UPnP - Маршрутизатор должен поддерживать UPnP
  2. Безопасность - Не используйте в производственной среде без тестирования
  3. Резервные копии - Регулярно сохраняйте конфигурацию
  4. Обновления - Следите за обновлениями для исправления уязвимостей

🤝 Поддержка

Если у вас возникли вопросы или проблемы:

  1. Проверьте документацию
  2. Посмотрите существующие Issues на GitHub
  3. Создайте новый Issue с подробным описанием проблемы

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages