Skip to content

RiseShieldDev/AntiXrayViewer

Repository files navigation

AntiXrayViewer - Advanced Player Recording Plugin for Minecraft Paper

Продвинутая система записи и воспроизведения активности игроков для Minecraft Paper 1.21.4.

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

  • 🔍 Автоматическое обнаружение X-Ray - отслеживает подозрительное ломание руды
  • 📹 Запись движений игрока - сохраняет 3-минутные записи при обнаружении подозрений
  • 👁️ Режим просмотра записей - администраторы могут просматривать записи от первого лица
  • ⚙️ Гибкая настройка - полная конфигурация через config.yml
  • 💾 Управление записями - команды для просмотра, удаления и управления записями

📋 Требования

  • Java 21 или выше
  • Paper 1.21.4 сервер
  • Gradle 8.10.2 (включён в проект через Gradle Wrapper)

🛠️ Структура проекта

AntiXrayViewer/
├── build.gradle                        # Конфигурация сборки
├── settings.gradle                     # Настройки проекта
├── src/
│   └── main/
│       ├── java/
│       │   └── com/example/antixrayviewer/
│       │       ├── AntiXrayViewer.java       # Основной класс плагина
│       │       ├── commands/
│       │       │   └── AntiXrayViewerCommand.java # Команды администратора
│       │       ├── data/
│       │       │   ├── PlayerRecording.java # Модель записи
│       │       │   └── RecordFrame.java     # Модель кадра записи
│       │       ├── listeners/
│       │       │   └── OreBreakListener.java # Слушатель ломания блоков
│       │       ├── managers/
│       │       │   └── RecordingManager.java # Менеджер записей
│       │       └── replay/
│       │           └── ReplaySession.java    # Сессия воспроизведения
│       └── resources/
│           ├── plugin.yml              # Метаданные плагина
│           └── config.yml              # Конфигурация
└── build/
    └── libs/
        └── AntiXrayViewer-1.4.0.jar   # Собранный плагин

🚀 Сборка плагина

Windows:

gradlew.bat clean build

Linux/macOS:

./gradlew clean build

После успешной сборки, готовый JAR файл будет находиться в папке build/libs/

📦 Установка на сервер

  1. Скопируйте файл AntiXrayViewer-1.4.0.jar из папки build/libs/
  2. Поместите его в папку plugins/ вашего Paper сервера
  3. Перезапустите сервер
  4. Настройте plugins/AntiXrayViewer/config.yml при необходимости

⚡ Как это работает

1. Обнаружение подозрительной активности

  • Плагин отслеживает ломание алмазной руды и древних обломков (незерит)
  • При превышении настроенных порогов (5 алмазов или 3 незерита подряд) срабатывает система

2. Автоматическая запись

  • Начинается 3-минутная запись движений подозрительного игрока
  • Записываются: позиция, направление взгляда, состояния (присел/бежит/летит)
  • Администраторы получают уведомление о начале записи

3. Просмотр записей администратором

  • Администратор использует команду /axv view <id> для просмотра
  • Переходит в режим наблюдателя и видит всё от лица игрока
  • Может видеть куда смотрел и как двигался игрок в момент записи

4. Управление записями

  • Записи можно просматривать позже
  • Можно удалять ненужные записи
  • Хранится до 50 последних записей (настраивается)

🔧 Команды

Команда Описание Права
/axv list Список всех сохранённых записей antixrayviewer.admin
/axv view <id> Просмотреть запись antixrayviewer.admin
/axv delete <id> Удалить запись antixrayviewer.admin
/axv stop Остановить текущий просмотр antixrayviewer.admin
/axv active Показать активные записи antixrayviewer.admin
/axv reload Синхронизировать записи с файлами antixrayviewer.admin
/axv help Справка по командам antixrayviewer.admin

Алиасы: /antixrayviewer, /axv, /av

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

Основные настройки (config.yml):

thresholds:
  diamond: 5          # Порог для алмазной руды
  netherite: 3        # Порог для древних обломков
  reset-time: 60      # Время сброса счётчиков (сек)

recording:
  enabled: true       # Включить систему записи
  duration: 180       # Длительность записи (сек)
  interval-ticks: 2   # Интервал записи кадров
  max-saved: 50       # Макс. сохранённых записей

📝 Разрешения (Permissions)

  • antixrayviewer.* - полный доступ ко всем командам (op)
  • antixrayviewer.admin - доступ к командам администратора (op)
  • antixrayviewer.use - базовые команды (по умолчанию: true)
  • antixrayviewer.reload - перезагрузка конфигурации (op)

📊 Информация при просмотре записи

При просмотре записи администратор видит:

  • Action Bar: состояние игрока (присел/бежит/летит), здоровье, голод, координаты
  • Tab List Footer: прогресс-бар воспроизведения, номер кадра, время
  • Title: информация о начале/конце воспроизведения

🔄 История изменений

v1.4.0 - Обновление плагина (16.09.2025)

  • Обновление плагина - теперь плагин называется AntiXrayViewer
  • Обновление команд - теперь команды начинаются с /axv
  • Обновление разрешений - теперь разрешения начинаются с antixrayviewer
  • Обновление конфигурации - теперь конфигурация находится в config.yml

v1.3.0 - Плавное воспроизведение записей (16.09.2025)

  • Добавлен режим плавного воспроизведения - камера движется плавно между кадрами без телепортации
  • Интерполяция движения - линейная и квадратичная интерполяция для естественного движения
  • Предсказывающее сглаживание - анализ тренда движения для предсказания следующей позиции
  • Высокая частота обновления - позиция обновляется каждый тик (20 раз в секунду)
  • Выбор режима воспроизведения - /axv view <id> smooth для плавного режима

v1.2.0 - Исправление воспроизведения блоков (16.09.2025)

  • Полностью переработана система воспроизведения блоков - теперь блоки корректно отображаются при воспроизведении
  • Улучшена синхронизация состояния блоков - исправлены проблемы с прохождением через несуществующие блоки
  • Оптимизирована предзагрузка блоков - анализ и восстановление начального состояния всех блоков перед воспроизведением
  • Улучшена надежность отправки блоков - многократная отправка изменений для гарантированной синхронизации с клиентом
  • Исправлены визуальные глюки - блоки правильно появляются и исчезают при установке и ломании

v1.1.1 - Синхронизация записей (16.09.2025)

  • Исправлена синхронизация записей с файловой системой - записи автоматически удаляются из памяти если файлы не существуют
  • Добавлена команда /axv reload - ручная синхронизация записей с файлами
  • Автоматическая проверка файлов - при получении списка записей проверяется существование файлов
  • Улучшена стабильность - корректная работа при удалении папки записей во время работы сервера

v1.1.0 - Улучшенная запись блоков (16.09.2025)

  • Добавлена запись установки блоков - теперь записываются не только сломанные, но и поставленные блоки
  • Улучшено воспроизведение - добавлена предварительная загрузка блоков перед началом воспроизведения
  • Визуализация установки блоков - при воспроизведении показываются анимации и звуки установки блоков
  • Оптимизация загрузки - записи начинают воспроизводиться только после полной загрузки всех блоков
  • Улучшенная обратная связь - добавлены индикаторы установки блоков в интерфейсе воспроизведения

v1.0.0 - Полный релиз

  • ✅ Система обнаружения подозрительного ломания руды
  • ✅ Автоматическая запись движений игрока (3 минуты)
  • ✅ Воспроизведение записей от первого лица
  • ✅ Команды для управления записями
  • ✅ Гибкая конфигурация через config.yml
  • ✅ Уведомления администраторов
  • ✅ Оптимизированное хранение записей

🎮 Использование

  1. Для администраторов:

    • Получайте автоматические уведомления о подозрительной активности
    • Используйте /axv list для просмотра всех записей
    • Используйте /axv view <id> для просмотра конкретной записи
    • Во время просмотра вы будете в режиме наблюдателя
  2. Для игроков:

    • Плагин работает незаметно в фоне
    • Честные игроки не будут затронуты
    • Читеры будут автоматически записаны

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

  • Записи хранятся в оперативной памяти и очищаются при перезапуске сервера
  • Рекомендуется просматривать записи до перезапуска
  • Плагин оптимизирован для минимального влияния на производительность
  • Записывает только при обнаружении подозрительной активности

👨‍💻 Разработка

Для внесения изменений:

  1. Измените код в src/main/java/
  2. Выполните сборку: gradlew.bat clean build
  3. Протестируйте на локальном сервере

📄 Лицензия

Автор: NikitaRTN
GitHub: https://github.com/RiseShieldDev/AntiXrayViewer

🤝 Поддержка

При возникновении проблем создайте issue на GitHub: https://github.com/RiseShieldDev/AntiXrayViewer

💡 Советы по использованию

  1. Настройка порогов: Отрегулируйте пороги в config.yml в зависимости от вашего сервера
  2. Проверка записей: Регулярно проверяйте список записей командой /axv list
  3. Быстрый просмотр: После уведомления сразу используйте /axv view <id>
  4. Очистка записей: Удаляйте старые записи командой /axv delete <id>

About

AntiXrayViewer - Minecraft anti-cheat plugin for Paper 1.21.11. Detects and records X-Ray cheaters | Античит плагин для защиты от X-Ray читов

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE
MIT
LICENSE.txt

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages