- Документация
- https://modrinth.com/plugin/customdiscs-plugin
CustomDiscs Plugin — серверный плагин для Paper-совместимых платформ, добавляющий пользовательские музыкальные диски, козьи рога и головы игроков с воспроизведением через Simple Voice Chat API. Авторы — Navoei и Athar, лицензия — MIT; подтверждены Paper, Folia и Purpur.
JAR устанавливается на сервер, но звук зависит от Simple Voice Chat. Проверять нужно плагин, зависимости, клиентский мод, Java и аудиофайлы.
Плагин превращает пользовательское аудио в игровые предметы: музыкальные диски, козьи рога или головы игроков. Он подходит для ролевых, социальных и событийных серверов, где музыка используется как часть атмосферы, коллекций, наград или сценариев.
Практические варианты:
• тематические диски для локаций и праздников;
• коллекционные записи;
• рога с особыми сигналами;
• головы игроков как носители аудио;
• награды за задания или события.
До выбора следует решить, готовы ли игроки установить Simple Voice Chat, поддерживает ли сервер требуемую Java и кто будет проверять права на записи. Если клиентский мод неприемлем, ключевая функция проекта не соответствует сценарию.
Файлы помещаются в plugins/CustomDiscs/musicdata/. Поддерживаются .wav, .flac и .mp3. Вложенность регулируется параметром subdirectory-depth:
• none — только корень каталога, значение по умолчанию;
• single — один уровень папок;
• unrestricted — неограниченная глубина.
Так можно хранить небольшую библиотеку плоско либо группировать музыку по темам. После изменения глубины нужно проверить старые пути и совпадающие имена.
Список действий выводится через /customdisc или /cd. Проект также поддерживает загрузку файла по прямому адресу: адрес передаётся в двойных кавычках, а расширение заданного имени должно совпадать с реальным форматом. При совпадении имени автоматически создаётся вариант с числовым суффиксом.
Перед добавлением записи полезно проверить:
• право на её использование;
• реальный формат и расширение;
• имя и путь;
• отсутствие ненужных дубликатов;
• воспроизведение на тестовом клиенте.
Официальное описание называет обязательными Simple Voice Chat не ниже 2.6.1 и PacketEvents. PacketEvents требуется начиная с CustomDiscs 5.2.0; указана протестированная версия 2.11.2. ProtocolLib использовался до 5.1.4 и с 5.2.0 для этого плагина больше не нужен. С версии 6.0.0 требуется Java 25 или новее.
В выбранных метаданных обязательные project dependencies не перечислены, однако явное уведомление проекта имеет практическое значение. Для 6.0.3 нужно проверять Java 25+, Simple Voice Chat и PacketEvents. ProtocolLib удаляют только при отсутствии других зависимых плагинов.
CustomDiscs — серверный JAR; отдельная копия плагина на клиент не ставится. При этом официальный текст требует Simple Voice Chat и на сервере, и у игроков. Подтверждены Minecraft 1.21.7–1.21.11, 26.1, 26.1.1, 26.1.2 и 26.2. Платформы — Paper, Folia и Purpur. Формулировку о поддержке форков нельзя превращать в гарантию совместимости с любой сборкой.
Подтверждённый способ — JAR в папку plugins совместимого сервера. Для 6.0.3 заранее подготавливаются подходящая Java и зависимости.
Порядок:
• остановить сервер;
• проверить Java;
• установить совместимые Simple Voice Chat и PacketEvents;
• поместить JAR CustomDiscs в plugins;
• запустить сервер и изучить журнал;
• проверить создание папки данных;
• добавить один тестовый аудиофайл;
• проверить предмет и звук с клиентом Simple Voice Chat.
Большую библиотеку лучше не переносить до успешного теста. Полная проверка включает распознавание файла, доступность команд, создание диска, рога или головы, слышимое воспроизведение, отсутствие ошибки декодирования и корректные права. Тест администратора и обычного игрока помогает отделить проблему разрешений от проблемы формата или зависимости.
Подтверждены customdiscs.*, customdiscs.create и customdiscs.download. Первое разрешение выдаёт все права, второе — создание пользовательских предметов, третье — загрузку файла по адресу.
Полный доступ не следует выдавать широкой группе. Загрузка внешних файлов затрагивает дисковое пространство, происхождение контента и модерацию. Практичнее разделить создание предметов и добавление музыки, оставив загрузку доверенным администраторам.
Дополнительные меры:
• контролировать источник и размер файла;
• проверять название и лицензионный статус записи;
• удалять ненужные дубликаты;
• хранить резервную копию каталога musicdata;
• не считать автоматическое уникальное имя защитой от переполнения диска.
Из описания не следует наличие встроенной проверки авторских прав, антивирусной обработки или квот.
Перед обновлением сохраняют текущий JAR, папку данных, конфигурацию и musicdata, а также фиксируют версии Java, Simple Voice Chat и PacketEvents. Это особенно важно при переходе через 5.2.0 или 6.0.0, где меняются зависимость и минимальная Java.
Порядок обновления:
• остановить сервер;
• сделать копию данных и аудиотеки;
• сверить новый JAR по хешу;
• проверить требования выпуска;
• заменить файл;
• изучить журнал;
• протестировать известную запись и права;
• только затем вернуть библиотеку в работу.
Откат одного CustomDiscs может не помочь, если одновременно менялись Java или зависимости. Безопасная последовательность:
• остановить сервер;
• сохранить журнал и проблемное состояние;
• вернуть прежний JAR;
• восстановить соответствующие данные;
• вернуть совместимые версии зависимостей;
• восстановить конфигурацию и musicdata, если они менялись;
• запустить сервер и повторить тест с известным файлом.
Игрок без требуемого Simple Voice Chat не входит в подтверждённый сценарий воспроизведения. Поддерживаемое расширение не гарантирует исправность файла: содержимое может не совпадать с расширением или быть повреждено. Возможность загрузки по адресу также требует собственной политики модерации.
Основные проверки:
• плагин не запускается — Java 25+, версия сервера, PacketEvents и первая ошибка;
• команды отсутствуют — регистрация плагина и права;
• файл не найден — путь musicdata и subdirectory-depth;
• UnsupportedAudioFileException — фактический формат и расширение;
• предмет есть, звука нет — Simple Voice Chat на сервере и клиенте;
• часть игроков не слышит — их клиентский мод и настройки;
• загрузка не работает — кавычки, прямой адрес и customdiscs.download;
• появился суффикс — исходное имя уже занято.
Сначала устраняют первую содержательную ошибку журнала: последующие сообщения могут быть её следствием.
custom-discs-6.0.3.jar имеет размер 1 208 637 байт. SHA-512: 5ca8fa7e32b42245916241ab8d4ccc6c60d48ae51775bb960c58c6d2942575d94c0b8abc8132d3aef992b6864ae0badd7794f4557ebfbd641d091d2144abcce4; SHA-1: 62f978eb0be3c5d368b8c4ac79ed23122942fdd3.
custom-discs-5.3.0.jar имеет размер 1 166 980 байт. SHA-512: ee0cefceb41b5e87a3b56dde91f71e110d8d0a41334bde5faa937abee82315926643c9daf6efe9633823f9d6ee1aa2784b4599d5b6dfb729bca843174d4ee0c8; SHA-1: 508df8e001cf3b8529f6845f3f35e924fbb82f1f.
Файлы получены по официальному HTTPS, сверены по опубликованным хешам и статически проверены по структуре и путям. Динамический запуск не выполнялся. Лицензия MIT допускает локализацию при сохранении имени проекта, авторства и лицензии.
Нет. Сам плагин серверный, но Simple Voice Chat требуется на сервере и у игроков.
Подтверждены .wav, .flac и .mp3. Расширение должно соответствовать реальному формату.
С версии 6.0.0 заявлена Java 25 или новее. Также проверяются Simple Voice Chat и PacketEvents.
Для CustomDiscs он использовался до 5.1.4. С 5.2.0 проект применяет PacketEvents; ProtocolLib удаляют лишь при отсутствии других зависимых плагинов.
Нужно проверить журнал, команды, тестовый файл, создание предмета и слышимое воспроизведение на клиенте с Simple Voice Chat. Одного наличия JAR недостаточно.
JAR устанавливается на сервер, но звук зависит от Simple Voice Chat. Проверять нужно плагин, зависимости, клиентский мод, Java и аудиофайлы.
Назначение и аудитория
Плагин превращает пользовательское аудио в игровые предметы: музыкальные диски, козьи рога или головы игроков. Он подходит для ролевых, социальных и событийных серверов, где музыка используется как часть атмосферы, коллекций, наград или сценариев.
Практические варианты:
• тематические диски для локаций и праздников;
• коллекционные записи;
• рога с особыми сигналами;
• головы игроков как носители аудио;
• награды за задания или события.
До выбора следует решить, готовы ли игроки установить Simple Voice Chat, поддерживает ли сервер требуемую Java и кто будет проверять права на записи. Если клиентский мод неприемлем, ключевая функция проекта не соответствует сценарию.
Скриншоты и внешний вид
Аудиотека и форматы
Файлы помещаются в plugins/CustomDiscs/musicdata/. Поддерживаются .wav, .flac и .mp3. Вложенность регулируется параметром subdirectory-depth:
• none — только корень каталога, значение по умолчанию;
• single — один уровень папок;
• unrestricted — неограниченная глубина.
Так можно хранить небольшую библиотеку плоско либо группировать музыку по темам. После изменения глубины нужно проверить старые пути и совпадающие имена.
Список действий выводится через /customdisc или /cd. Проект также поддерживает загрузку файла по прямому адресу: адрес передаётся в двойных кавычках, а расширение заданного имени должно совпадать с реальным форматом. При совпадении имени автоматически создаётся вариант с числовым суффиксом.
Перед добавлением записи полезно проверить:
• право на её использование;
• реальный формат и расширение;
• имя и путь;
• отсутствие ненужных дубликатов;
• воспроизведение на тестовом клиенте.
Зависимости и Java
Официальное описание называет обязательными Simple Voice Chat не ниже 2.6.1 и PacketEvents. PacketEvents требуется начиная с CustomDiscs 5.2.0; указана протестированная версия 2.11.2. ProtocolLib использовался до 5.1.4 и с 5.2.0 для этого плагина больше не нужен. С версии 6.0.0 требуется Java 25 или новее.
В выбранных метаданных обязательные project dependencies не перечислены, однако явное уведомление проекта имеет практическое значение. Для 6.0.3 нужно проверять Java 25+, Simple Voice Chat и PacketEvents. ProtocolLib удаляют только при отсутствии других зависимых плагинов.
Стороны и совместимость
CustomDiscs — серверный JAR; отдельная копия плагина на клиент не ставится. При этом официальный текст требует Simple Voice Chat и на сервере, и у игроков. Подтверждены Minecraft 1.21.7–1.21.11, 26.1, 26.1.1, 26.1.2 и 26.2. Платформы — Paper, Folia и Purpur. Формулировку о поддержке форков нельзя превращать в гарантию совместимости с любой сборкой.
Установка и проверка результата
Подтверждённый способ — JAR в папку plugins совместимого сервера. Для 6.0.3 заранее подготавливаются подходящая Java и зависимости.
Порядок:
• остановить сервер;
• проверить Java;
• установить совместимые Simple Voice Chat и PacketEvents;
• поместить JAR CustomDiscs в plugins;
• запустить сервер и изучить журнал;
• проверить создание папки данных;
• добавить один тестовый аудиофайл;
• проверить предмет и звук с клиентом Simple Voice Chat.
Большую библиотеку лучше не переносить до успешного теста. Полная проверка включает распознавание файла, доступность команд, создание диска, рога или головы, слышимое воспроизведение, отсутствие ошибки декодирования и корректные права. Тест администратора и обычного игрока помогает отделить проблему разрешений от проблемы формата или зависимости.
Права доступа и безопасность
Подтверждены customdiscs.*, customdiscs.create и customdiscs.download. Первое разрешение выдаёт все права, второе — создание пользовательских предметов, третье — загрузку файла по адресу.
Полный доступ не следует выдавать широкой группе. Загрузка внешних файлов затрагивает дисковое пространство, происхождение контента и модерацию. Практичнее разделить создание предметов и добавление музыки, оставив загрузку доверенным администраторам.
Дополнительные меры:
• контролировать источник и размер файла;
• проверять название и лицензионный статус записи;
• удалять ненужные дубликаты;
• хранить резервную копию каталога musicdata;
• не считать автоматическое уникальное имя защитой от переполнения диска.
Из описания не следует наличие встроенной проверки авторских прав, антивирусной обработки или квот.
Безопасное обновление
Перед обновлением сохраняют текущий JAR, папку данных, конфигурацию и musicdata, а также фиксируют версии Java, Simple Voice Chat и PacketEvents. Это особенно важно при переходе через 5.2.0 или 6.0.0, где меняются зависимость и минимальная Java.
Порядок обновления:
• остановить сервер;
• сделать копию данных и аудиотеки;
• сверить новый JAR по хешу;
• проверить требования выпуска;
• заменить файл;
• изучить журнал;
• протестировать известную запись и права;
• только затем вернуть библиотеку в работу.
Откат
Откат одного CustomDiscs может не помочь, если одновременно менялись Java или зависимости. Безопасная последовательность:
• остановить сервер;
• сохранить журнал и проблемное состояние;
• вернуть прежний JAR;
• восстановить соответствующие данные;
• вернуть совместимые версии зависимостей;
• восстановить конфигурацию и musicdata, если они менялись;
• запустить сервер и повторить тест с известным файлом.
Ограничения и диагностика
Игрок без требуемого Simple Voice Chat не входит в подтверждённый сценарий воспроизведения. Поддерживаемое расширение не гарантирует исправность файла: содержимое может не совпадать с расширением или быть повреждено. Возможность загрузки по адресу также требует собственной политики модерации.
Основные проверки:
• плагин не запускается — Java 25+, версия сервера, PacketEvents и первая ошибка;
• команды отсутствуют — регистрация плагина и права;
• файл не найден — путь musicdata и subdirectory-depth;
• UnsupportedAudioFileException — фактический формат и расширение;
• предмет есть, звука нет — Simple Voice Chat на сервере и клиенте;
• часть игроков не слышит — их клиентский мод и настройки;
• загрузка не работает — кавычки, прямой адрес и customdiscs.download;
• появился суффикс — исходное имя уже занято.
Сначала устраняют первую содержательную ошибку журнала: последующие сообщения могут быть её следствием.
Файлы и лицензия
custom-discs-6.0.3.jar имеет размер 1 208 637 байт. SHA-512: 5ca8fa7e32b42245916241ab8d4ccc6c60d48ae51775bb960c58c6d2942575d94c0b8abc8132d3aef992b6864ae0badd7794f4557ebfbd641d091d2144abcce4; SHA-1: 62f978eb0be3c5d368b8c4ac79ed23122942fdd3.
custom-discs-5.3.0.jar имеет размер 1 166 980 байт. SHA-512: ee0cefceb41b5e87a3b56dde91f71e110d8d0a41334bde5faa937abee82315926643c9daf6efe9633823f9d6ee1aa2784b4599d5b6dfb729bca843174d4ee0c8; SHA-1: 508df8e001cf3b8529f6845f3f35e924fbb82f1f.
Файлы получены по официальному HTTPS, сверены по опубликованным хешам и статически проверены по структуре и путям. Динамический запуск не выполнялся. Лицензия MIT допускает локализацию при сохранении имени проекта, авторства и лицензии.
FAQ
Нужен ли JAR CustomDiscs на клиенте?
Нет. Сам плагин серверный, но Simple Voice Chat требуется на сервере и у игроков.
Какие форматы поддерживаются?
Подтверждены .wav, .flac и .mp3. Расширение должно соответствовать реальному формату.
Почему 6.0.3 не запускается на старой Java?
С версии 6.0.0 заявлена Java 25 или новее. Также проверяются Simple Voice Chat и PacketEvents.
Нужен ли ProtocolLib?
Для CustomDiscs он использовался до 5.1.4. С 5.2.0 проект применяет PacketEvents; ProtocolLib удаляют лишь при отсутствии других зависимых плагинов.
Как подтвердить успешную установку?
Нужно проверить журнал, команды, тестовый файл, создание предмета и слышимое воспроизведение на клиенте с Simple Voice Chat. Одного наличия JAR недостаточно.