Перейти к содержимому
Mineforgian

AntiGrifer

Anti-grief system with trusted player feature for Minecraft Paper servers

Загрузки
396
Подписчики
2
Обновлён
12 мая 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 31 мая 2025 г.

AntiGriefSystem: Trusted Player Anti-Grief Plugin

AntiGriefSystem is a powerful and flexible anti-grief plugin for Minecraft Paper servers (1.21.4+). It introduces a trusted player system to help you protect your server from griefing while allowing trusted members more freedom.

Key Features:

  • Playtime-Based Trust: Automatically grant trusted status to players who reach a configurable amount of playtime.
  • Item Restrictions: Prevent non-trusted players from using or crafting specific dangerous items (configurable).
  • Persistent Data: Player playtime and trusted status are saved securely, so data is never lost across server restarts.
  • Admin Commands: Easily manage trusted players and reload plugin configurations in-game.
  • Localization: Full support for multiple languages via external YAML files.
  • Discord Integration: Send detailed notifications about restricted actions and trusted player changes directly to your Discord server via webhook.

Protect your server and empower your dedicated players with AntiGriefSystem!


AntiGriefSystem: Плагин для защиты от грифа с системой доверенных игроков

AntiGriefSystem — это мощный и гибкий плагин для защиты от грифа для серверов Minecraft Paper (1.21.4+). Он добавляет систему доверенных игроков, чтобы помочь вам защитить ваш сервер от грифа, предоставляя при этом доверенным участникам больше свободы.

Ключевые особенности:

  • Доверие по времени игры: Автоматически выдавайте статус доверенного игрока тем, кто достигнет настраиваемого количества времени игры на сервере.
  • Ограничения на предметы: Запретите недоверенным игрокам использовать или создавать определенные опасные предметы (настраивается в конфиге).
  • Сохранение данных: Время игры игроков и их статус доверия надежно сохраняются, поэтому данные не теряются при перезагрузках сервера.
  • Админ-команды: Легко управляйте доверенными игроками и перезагружайте конфигурацию плагина прямо в игре.
  • Локализация: Полная поддержка нескольких языков через внешние YAML-файлы.
  • Интеграция с Discord: Отправляйте подробные уведомления об ограниченных действиях и изменениях статуса доверенных игроков прямо на ваш Discord-сервер через вебхук.

Защитите свой сервер и дайте больше возможностей своим преданным игрокам с AntiGriefSystem!

Ченджлог

3.0.0-SNAPSHOTРелиз1.21.9, 1.21.10, 1.21.11 · 12 мая 2026 г.

🛡️ AntiGriefSystem v3.0 — Changelog

Полная переработка с нуля. Новая архитектура, движки ядра, система доверия и глубокая интеграция с Discord.


🏗️ Новая модульная архитектура

Плагин переписан как многомодульный Gradle-проект:

  • api — публичные интерфейсы (AGModule, Check, PlayerContext, …)
  • common — общие типы (ActionInfo, ActionType, …)
  • core — все движки, пайплайн, trust-система, хранилище, алерты
  • modules/detection — модуль детекции (Lava, Fire, Explosive, Redstone)
  • modules/trust — поведенческая аналитика
  • platform-paper — Paper-платформа: плагин, команды, Discord

Ядро полностью изолировано от платформы — основа для будущей поддержки Folia/Velocity.


🔐 Система доверия — Trust Tiers

Автоматическое повышение уровня по наигранному времени:

Tier Название Условие
0 Недоверенный < 60 мин
1 Огнеопасно 60 – 120 мин
2 Взрывоопасно 120 – 240 мин
3 Редстоун 240+ мин

Администратор может вручную выставить или сбросить уровень:

2.5.0Релиз1.21.9, 1.21.10, 1.21.11 · 14 марта 2026 г.

bug-fix

2.4.1Релиз1.21.9, 1.21.10, 1.21.11 · 13 февраля 2026 г.

Changelog

[2.4.1] - 2026-02-13

🚀 Improvements & Fixes (Улучшения и Исправления)

  • Critical Locations (Критические Локации):

    • FIX: Исправлена логика выделения регионов. Теперь команды /critical pos1 и /critical pos2 используют блок, на который смотрит игрок (RayTrace), что предотвращает ошибки с "незащищенным полом".
    • FIX: Исправлено отображение пинга роли в Discord (<@&ID>).
    • FIX: Улучшена проверка нарушений внутри региона (теперь корректно учитывается только использование запрещенных предметов).
  • Merge & Compatibility (Слияние и Совместимость):

    • Успешно объединены изменения версии 2.3.0 (Alerts, Feedback) и 2.4.0 (Critical Locations).
    • Единая система инициализации менеджеров (AlertManager, FeedbackManager, CriticalLocationManager).
    • Исправлены конфликты в build.gradle и plugin.yml.

🛠 Migration Guide (Миграция на 2.4.1)

Если вы обновляетесь с 2.3.0 или 2.4.0, выполните:

  1. Обновите discord.yml: Убедитесь, что у вас есть секция critical-location-alert (добавлена в v2.4.0). Если нет, добавьте её (см. пример ниже).

  2. Пересоздайте критические регионы (Рекомендуется): Если у вас были проблемы с высотой региона (пол/потолок), удалите старые регионы (/critical remove) и создайте новые, глядя прямо на блоки углов.

  3. Права (Permissions): Убедитесь, что у администраторов есть права:

    • antigrief.admin.critical (управление критическими зонами)
    • antigrief.bypass.critical (обход)
    • ags.alerts (уведомления о подозрительных действиях)

🇬🇧 English Version

🚀 Improvements & Fixes

  • Critical Locations:

    • FIX: Improved region selection logic. Commands /critical pos1 and /critical pos2 now use the target block (RayTrace), preventing "unprotected floor" issues.
    • FIX: Fixed role ping display in Discord (<@&ID>).
    • FIX: Improved violation check within the region (now correctly checks only for restricted items).
  • Merge & Compatibility:

    • Successfully merged changes from v2.3.0 (Alerts, Feedback) and v2.4.0 (Critical Locations).
    • Unified manager initialization (AlertManager, FeedbackManager, CriticalLocationManager).
    • Fixed conflicts in build.gradle and plugin.yml.

🛠 Migration Guide (v2.4.1)

If upgrading from 2.3.0 or 2.4.0, please:

  1. Update discord.yml: Ensure critical-location-alert section exists. If missing, add it (see example in changelog history).

  2. Recreate Critical Locations (Recommended): If facing floor/ceiling protection issues, remove old regions (/critical remove) and recreate them by looking directly at corner blocks.

  3. Permissions: Ensure admins have:

    • antigrief.admin.critical (manage critical zones)
    • antigrief.bypass.critical (bypass protection)
    • ags.alerts (suspicious activity alerts)
2.3.0Релиз1.21.9, 1.21.10, 1.21.11 · 16 января 2026 г.

Changelog

[2.3.0] - 2026-01-16

✨ Новые возможности (Features)

  • Система слежки и Алертов (Alerts & Spectator):
    • 🎨 Premium Design: Новые красивые градиенты для уведомлений.
    • 👁️ Click-to-Spectate: Кнопка [СЛЕЖКА] в чате для мгновенного перехода в режим наблюдения за подозреваемым.
    • 📡 Discord Integration: Улучшенные вебхуки с указанием ника игрока и действия.
    • Команда /ags internal spectate <player> (внутренняя).
  • Стабильность и Исправления:
    • ✅ Исправлено отключение плагина при первом запуске (авто-создание messages.yml).
    • DatabaseManager: Добавлен авто-реконнект к базе данных (fix connection closed).
    • LocaleManager: Исправлена ошибка "Message not found" для ключей в корне файла.
    • Dependency Loading: Автоматическая загрузка драйверов SQLite через libraries (Paper 1.21+).

🇬🇧 Added (EN)

  • Alerts & Spectator System:
    • 🎨 Premium Design: New gradient colors for in-game notifications.
    • 👁️ Click-to-Spectate: Clickable [SPECTATE] button to instantly teleport to potential griefers.
    • 📡 Discord Integration: Enhanced webhooks with player names.
  • Stability & Fixes:
    • ✅ Fixed plugin disabling on first launch (auto-create messages.yml).
    • DatabaseManager: Added auto-reconnect logic to prevent connection closed errors.
    • LocaleManager: Fixed "Message not found" error for root keys.
    • Dependency Loading: Native support for libraries loading (SQLite/HikariCP) on Paper 1.21+.
2.2.0Релиз1.21.9, 1.21.10, 1.21.11 · 14 января 2026 г.

Changelog

[2.2.0] - 2026-01-14

Added

  • Secure Feedback System: New feature allowing players to send feedback/bug reports directly to Discord.
    • Command: /feedback send <message> (Permission: plugin.feedback.send).
    • Command: /feedback history (Permission: plugin.feedback.history).
  • Security:
    • AES/GCM encryption for Discord Webhook URL.
    • Obfuscated key generation to prevent string analysis.
    • Zero plain-text tokens in source code.
  • Database:
    • Migrated to HikariCP for connection pooling and better performance.
    • Added feedback_history table.
  • Architecture:
    • New package features.feedback following Package by Feature.
    • Async execution for all network and DB operations.

Добавлено (RU)

  • Безопасная система обратной связи: Новая функция для отправки отзывов/баг-репортов в Discord.
    • Команда: /feedback send <сообщение> (Право: plugin.feedback.send).
    • Команда: /feedback history (Право: plugin.feedback.history).
  • Безопасность:
    • AES/GCM шифрование для URL вебхука Discord.
    • Обфускация генерации ключа для защиты от строкового анализа.
    • Полное отсутствие токенов в открытом виде в коде.
  • База Данных:
    • Переход на HikariCP для пулинга соединений (лучшая производительность).
    • Добавлена таблица feedback_history.
  • Архитектура:
    • Новый пакет features.feedback (Package by Feature).
    • Асинхронное выполнение всех операций с сетью и БД.

[2.1.0]

  • Initial refactoring and cleanup.
2.1.0Релиз1.21.9, 1.21.10, 1.21.11 · 9 января 2026 г.

Changelog

[2.1.0] - 2026-01-09

✨ New Features

  • Multi-language Support: Added ability to switch languages in config.yml. Pre-installed languages: English (en) and Russian (ru).
  • Discord Webhook Templates: Completely redesigned Discord notifications.
    • Added discord.yml for fully customizable webhook templates.
    • Notifications now use rich Embeds with titles, descriptions, footers, and timestamps.
    • Added support for hex colors and placeholders.
  • Tab Completion: Added smart auto-completion for /ags command (subcommands and player names).
  • Mechanism Protection: Added protection against restricted items being used by Redstone mechanisms (Dispensers/Droppers). Discord notifications now include coordinates of the suspicious mechanism.
  • Modern Formatting: Full support for MiniMessage (RGB gradients, clickable text, hover events) instead of legacy color codes.

🛠️ Key Changes

  • Java 21: Project updated to support Java 21 and Paper 1.21.1 API.
  • Thread Safety: Fixed critical threading issues in DatabaseManager that could cause server crashes.
  • Optimization: Prepared HikariCP integration for better database performance.

⚠️ Migration Guide (v1.x -> v2.1.0)

This update introduces BREAKING CHANGES to configuration files. Please follow these steps to migrate safely:

  1. Backup: Make a backup of your plugins/AntiGriefSystem folder and your database (database.db).
  2. Delete messages.yml: The old messages.yml uses legacy color codes (&a, &c) which are no longer supported. You must delete this file.
    • Note: The plugin will generate new messages_en.yml and messages_ru.yml files automatically.
  3. Update config.yml:
    • Add the language option to your config.yml:
      # Language: en or ru
      language: en
      
    • Alternatively: You can delete config.yml to let the plugin regenerate it with new defaults.
  4. Configure Discord:
    • A new file discord.yml will be created. You can customize the look and feel of your Discord notifications there.
    • Ensure your discord-webhook-url in config.yml is correct.

Common Issues

  • "Missing message: key": This means you are using an old language file. Delete messages.yml and restart.
  • Colors not working: Ensure you are using MiniMessage format (e.g., <red>, <gradient:red:blue>) instead of & codes.

Список изменений (на русском)

[2.1.0] - 2026-01-09

✨ Новые функции

  • Мультиязычность: Добавлена возможность переключения языков в config.yml. Предустановленные языки: Английский (en) и Русский (ru).
  • Шаблоны вебхуков Discord: Полностью переработаны уведомления в Discord.
    • Добавлен файл discord.yml для полной настройки шаблонов вебхуков.
    • Уведомления теперь используют красивые Embed-сообщения с заголовками, описанием, футером и временной меткой.
    • Добавлена поддержка HEX-цветов и плейсхолдеров.
  • Автоподсказки (Tab Completion): Добавлено умное автодополнение для команды /ags (подкоманды и ники игроков).
  • Защита механизмов: Добавлена защита от использования запрещенных предметов через редстоун-механизмы (Раздатчики/Выбрасыватели). Уведомления в Discord теперь содержат координаты подозрительного механизма.
  • Современное форматирование: Полная поддержка MiniMessage (RGB-градиенты, кликабельный текст, наведение) вместо устаревших цветовых кодов.

🛠️ Ключевые изменения

  • Java 21: Проект обновлен для поддержки Java 21 и API Paper 1.21.1.
  • Потокобезопасность: Исправлены критические ошибки многопоточности в DatabaseManager, которые могли приводить к падению сервера.
  • Оптимизация: Подготовлена интеграция HikariCP для лучшей производительности базы данных.

⚠️ Руководство по миграции (v1.x -> v2.1.0)

Это обновление вносит КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ в файлы конфигурации. Пожалуйста, следуйте инструкции для безопасного перехода:

  1. Бэкап: Сделайте резервную копию папки plugins/AntiGriefSystem и вашей базы данных (database.db).
  2. Удалите messages.yml: Старый файл messages.yml использует устаревшие цветовые коды (&a, &c), которые больше не поддерживаются. Вы должны удалить этот файл.
    • Примечание: Плагин автоматически сгенерирует новые файлы messages_en.yml и messages_ru.yml.
  3. Обновите config.yml:
    • Добавьте опцию language в ваш config.yml:
      # Language: en or ru
      language: en
      
    • Альтернативный вариант: Вы можете удалить config.yml, чтобы плагин сгенерировал его заново с новыми настройками по умолчанию.
  4. Настройте Discord:
    • Будет создан новый файл discord.yml. В нем вы можете настроить внешний вид уведомлений Discord.
    • Убедитесь, что ваш discord-webhook-url в config.yml указан верно.

Частые проблемы

  • "Missing message: key": Это означает, что вы используете старый файл языков. Удалите messages.yml и перезагрузите сервер.
  • Цвета не работают: Убедитесь, что вы используете формат MiniMessage (например, <red>, <gradient:red:blue>) вместо кодов &.
2.0Релиз1.13.1, 1.13.2, 1.21.8 · 27 декабря 2025 г.

Changelog

All notable changes to the "AntiGriefSystem" project will be documented in this file.

[2.0] - 2025-12-27

Added

  • Restricted Items: Expanded the restricted-items list in config.yml to include:
    • TNT
    • TNT_MINECART
    • END_CRYSTAL
    • RESPAWN_ANCHOR
    • LAVA_BUCKET
    • FLINT_AND_STEEL
    • FIRE_CHARGE
    • HOPPER
    • HOPPER_MINECART
  • Configuration: Increased trusted-playtime-needed-minutes to 360 minutes (6 hours).

Fixed

  • Listeners: Fixed RestrictionListener to correctly prevent interactions with restricted blocks (e.g., Hoppers).
  • Logic: Resolved issues with playtime calculation for the trust system.

Changed

  • Environment: Updated build configuration to use Java 11 and Paper 1.21.
1.3Релиз1.21.2, 1.21.3, 1.21.4 · 1 июня 2025 г.

Version 1.3

Bug Fixes

  • Fixed trusted player status being lost on server restart

Improvements

  • Improved data persistence system using YAML storage
  • Added automatic data saving every minute
  • Added immediate data saving when trusted status changes
  • Improved error handling and logging
  • Added better UUID validation
  • Made file operations more robust
  • Added automatic directory creation
  • Optimized data saving to prevent unnecessary file writes

Комментарии

Загружаем…