voicechat-addon | Лучший аддон для Simple и Plasmo войс-чатов!

Плагин voicechat-addon | Лучший аддон для Simple и Plasmo войс-чатов! v1.4

Создайте и подтвердите аккаунт для скачивания
Поддерживаемые версии
  1. 1.21
  2. 26
Ядра и Прокси
  1. Bukkit
  2. Spigot
  3. Paper
Минимальная версия Java
21
VoiceChatAddon
Мост между Simple Voice Chat и Plasmo Voice, награды и интеграция с LiteBans

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

VoiceChatAddon — это серверный плагин, который соединяет игроков с Simple Voice Chat и Plasmo Voice через двусторонний мост локального войс-чата.

Игрок может использовать любой из двух поддерживаемых клиентских модов и слышать находящихся рядом игроков с другим войсом. Плагин передаёт закодированные голосовые пакеты в обе стороны, сохраняет настроенную дальность слышимости, учитывает шёпот Simple Voice Chat и предотвращает дублирование звука у игроков с обоими модами.

VoiceChatAddon также определяет наличие каждого войс-чата, выдаёт одноразовые награды, добавляет плейсхолдеры PlaceholderAPI, поддерживает SQLite и MySQL, защищает награды от обхода через другой аккаунт, синхронизирует муты LiteBans и предоставляет гибкую систему actions.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

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

  • Двусторонний мост Simple Voice Chat ↔ Plasmo Voice.
  • Общий proximity-войс между игроками с разными модами.
  • Игроку достаточно установить один из двух поддерживаемых войсов.
  • Сохранение дальности слышимости в обоих направлениях.
  • Поддержка режима шёпота Simple Voice Chat.
  • Безопасное ограничение максимальной дальности моста.
  • Защита от двойного звука у игроков с обоими модами.
  • Отдельное определение Simple Voice Chat и Plasmo Voice.
  • Настраиваемый список используемых войс-чатов.
  • Режимы награды: ANY, BOTH, SIMPLE и PLASMO.
  • Отдельные actions для Simple, Plasmo и обоих войсов.
  • Постоянное хранение полученных наград.
  • Опциональная защита от получения награды с другого аккаунта по IP.
  • Поддержка SQLite и MySQL через HikariCP.
  • Обычные и relational-плейсхолдеры PlaceholderAPI.
  • Счётчики игроков с каждым войс-чатом.
  • Настраиваемые MiniMessage-значки статуса.
  • Опциональная синхронизация мутов LiteBans с обоими войсами.
  • Настраиваемый cooldown уведомления о муте.
  • MiniMessage и PlaceholderAPI внутри actions.
  • Сообщения, broadcast, команды, звуки, title, actionbar и bossbar.
  • Частицы, фейерверки, эффекты и опциональные Vault-действия.
  • Перезагрузка конфигурации командой.
  • Подробный debug-отчёт по выбранному игроку.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Как работает

Установите серверные версии Simple Voice Chat и Plasmo Voice на один Paper-бэкенд, после чего включите оба войса в конфиге VoiceChatAddon.

Каждый игрок может зайти с любым из двух клиентских модов:

  • Игрока с Simple Voice Chat слышат находящиеся рядом игроки с Plasmo Voice.
  • Игрока с Plasmo Voice слышат находящиеся рядом игроки с Simple Voice Chat.
  • Игроки с одинаковым войсом продолжают слышать друг друга через обычную систему своего мода.

Отдельный клиентский мод VoiceChatAddon не нужен. Игрок устанавливает только выбранный им войс-чат.

────────────────────────────────────────

Двусторонний мост войс-чатов

Плагин передаёт голос в обоих направлениях:

Код:
Simple Voice Chat -> Plasmo Voice
Plasmo Voice -> Simple Voice Chat

Голос передаётся уже закодированными аудиопакетами без дополнительного декодирования и повторного кодирования.

Мост активируется, когда:

  • На сервере установлен и запущен Simple Voice Chat.
  • На сервере установлен и запущен Plasmo Voice.
  • В settings.voiceChats указаны SIMPLE и PLASMO.
  • Включена настройка settings.bridgeVoiceChats.
  • Доступны API обоих войсов и proximity-линия Plasmo Voice.

Пример:

Код:
settings:
  voiceChats:
    - PLASMO
    - SIMPLE
  bridgeVoiceChats: true

────────────────────────────────────────

Дальность и шёпот

Для говорящего через Simple Voice Chat используется дальность, настроенная на сервере в самом войс-чате. В режиме шёпота применяется примерно треть этой дальности.

Для говорящего через Plasmo Voice сохраняется дальность активного proximity-пакета.

В целях безопасности дальность моста ограничивается значениями от 1 до 128 блоков.

────────────────────────────────────────

Защита от двойного звука

VoiceChatAddon отслеживает, какие войс-чаты доступны каждому онлайн-игроку.

Если у говорящего установлены оба поддерживаемых мода, плагин не передаёт его голос через мост. Также bridged-аудио фильтруется для слушателей, которые уже получают оригинальный голосовой поток через исходный мод.

Благодаря этому один и тот же голос не воспроизводится дважды.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Определение войса и награды

Игрок использует команду:

Код:
/voice

Плагин проверяет наличие настроенного войс-чата и выполняет подходящую секцию награды.

Доступные секции:

Код:
actions.reward
actions.reward_simple
actions.reward_plasmo
actions.install
actions.noPermsReward

actions.reward выполняется, если у игрока определены оба войс-чата.

actions.reward_simple выполняется для Simple Voice Chat.

actions.reward_plasmo выполняется для Plasmo Voice.

actions.install выполняется, если заданное условие награды не выполнено.

────────────────────────────────────────

Режимы награды

Условие получения награды задаётся через settings.mode.

Код:
ANY     - Simple Voice Chat или Plasmo Voice
BOTH    - оба войс-чата
SIMPLE  - Simple Voice Chat
PLASMO  - Plasmo Voice

Пример:

Код:
settings:
  mode: ANY

────────────────────────────────────────

Одноразовая выдача и защита по IP

Каждое успешное получение награды сохраняется по UUID, имени и IP-адресу игрока вместе со временем выдачи.

Один UUID не может забрать награду повторно.

Если включена настройка settings.antiIPAbuse, плагин также запрещает получать награду другому аккаунту с уже использованного IP-адреса.

Код:
settings:
  antiIPAbuse: true

Защиту можно выключить, если с одной сети играет несколько настоящих игроков.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Хранилище

VoiceChatAddon поддерживает два типа базы данных:

Код:
SQLITE
MYSQL

По умолчанию используется SQLite:

Код:
plugins/voicechat-addon/storage.db

Пример MySQL:

Код:
settings:
  database:
    type: MYSQL
    mysql:
      host: "127.0.0.1"
      port: 3306
      database: "voicechat_addon"
      username: "root"
      password: ""

Подключения к базе данных управляются через HikariCP.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Интеграция с LiteBans

Если установлен LiteBans, VoiceChatAddon проверяет активный мут игрока перед обработкой исходящих голосовых пакетов.

Игрок в муте не сможет говорить через:

  • Simple Voice Chat.
  • Plasmo Voice.
  • Мост между двумя войсами.

При попытке говорить плагин выполняет actions.muted.

Cooldown уведомления настраивается в миллисекундах:

Код:
settings:
  mutedActionCooldown: 30000

Результат проверки мута ненадолго кешируется, поэтому LiteBans не обращается к базе данных на каждый аудиопакет.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PlaceholderAPI

Обычные плейсхолдеры:

Код:
%voicechataddon_voice%
%voicechataddon_voice_total%
%voicechataddon_voice_simple%
%voicechataddon_voice_plasmo%

%voicechataddon_voice% возвращает настроенный значок наличия или отсутствия войс-чата у игрока.

%voicechataddon_voice_total% возвращает количество онлайн-игроков хотя бы с одним настроенным войсом.

%voicechataddon_voice_simple% возвращает количество онлайн-игроков с Simple Voice Chat.

%voicechataddon_voice_plasmo% возвращает количество онлайн-игроков с Plasmo Voice.

Relational-плейсхолдер:

Код:
%rel_voicechataddon_voice%

Он сравнивает смотрящего игрока и цель:

  • available — смотрящий может слышать цель через общий мод или активный мост.
  • incompatible — у цели есть войс, но смотрящий не может слышать эту систему.
  • unavailable — у цели нет ни одного настроенного войс-чата.

Все три значка настраиваются в формате MiniMessage:

Код:
settings:
  voicePlaceholder:
    available: "<#10FA20>●"
    incompatible: "<#FA8B10>●"
    unavailable: "<#EA0909>●"

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Система actions

Награды, подсказка по установке, уведомление о муте, ошибки и сообщение перезагрузки настраиваются списками actions.

Поддерживаемые типы:

Код:
[MESSAGE]
[BROADCAST]
[CONSOLE]
[PLAYER]
[SOUND]
[TITLE]
[ACTIONBAR]
[BOSSBAR]
[PARTICLE]
[FIREWORK]
[EFFECT]
[VAULT]
[CLOSE]

Встроенные плейсхолдеры:

Код:
{prefix}
{player}

В тексте и командах также можно использовать плейсхолдеры PlaceholderAPI.

Пример:

Код:
actions:
  reward_simple:
    - "[MESSAGE] {prefix} Вы получили награду за Simple Voice Chat"
    - "[SOUND] sound:ENTITY_EXPERIENCE_ORB_PICKUP && volume:1.0 && pitch:1.2"
    - "[CONSOLE] give {player} diamond 3"
  install:
    - "[MESSAGE] {prefix} Установите один из поддерживаемых войс-чатов"
  muted:
    - "[ACTIONBAR] <red>Вы в муте и не можете говорить && ticks:100 && updating:false"

Для Vault-действий требуются Vault и зарегистрированный плагин экономики.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

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

Основной файл:

Код:
plugins/voicechat-addon/config.yml

Пример основных настроек:

Код:
settings:
  prefix: "<#FDBE00><bold>СЕРВЕР</bold><gray>:<white>"
  antiIPAbuse: true
  voiceChats:
    - PLASMO
    - SIMPLE
  bridgeVoiceChats: true
  mode: ANY
  mutedActionCooldown: 30000
  database:
    type: SQLITE

После редактирования конфига используйте /voice reload.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Команды

Код:
/voice
/voice reload
/voicechataddon <игрок>

/voice проверяет войс-чат игрока и обрабатывает одноразовую награду.

/voice reload перезагружает конфигурацию, состояние моста и кеш статусов войса.

/voicechataddon <игрок> выводит подробный debug-отчёт об онлайн-игроке: определённые клиенты, состояние API, готовность моста и совместимость со смотрящим.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Права

Код:
voicechat.addon.reload
voicechat.addon.debug

voicechat.addon.reload разрешает использовать /voice reload.

voicechat.addon.debug разрешает использовать /voicechataddon <игрок>.

Оба права по умолчанию выданы операторам сервера.

Обычная команда награды /voice не требует права.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Требования

  • Java 21 или новее.
  • Minecraft 1.21.x.
  • Paper 1.21.x или совместимое Paper-ядро.
  • PlaceholderAPI.
  • Simple Voice Chat и/или Plasmo Voice.

Для соединения игроков с разными войсами Simple Voice Chat и Plasmo Voice должны быть одновременно установлены на одном бэкенд-сервере.

Опциональные интеграции:

  • LiteBans — блокирует передачу голоса во время мута.
  • Vault и плагин экономики — добавляют Vault-действия.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Установка

  1. Установите PlaceholderAPI на бэкенд-сервер.
  2. Установите серверную версию Simple Voice Chat, Plasmo Voice или обоих плагинов.
  3. Настройте UDP-порты и сеть каждого войс-чата по его инструкции.
  4. Поместите VoiceChatAddon.jar в папку plugins бэкенд-сервера.
  5. При необходимости установите LiteBans и/или Vault.
  6. Запустите или перезапустите сервер.
  7. Откройте plugins/voicechat-addon/config.yml.
  8. Настройте используемые войсы, режим награды, базу данных и actions.
  9. Перезапустите сервер или используйте /voice reload для поддерживаемых изменений конфига.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Примечания

  • VoiceChatAddon устанавливается на Paper-бэкенд, а не на Velocity или другой прокси.
  • При нескольких бэкендах установите плагин на каждый сервер, где нужны определение войса, награды, плейсхолдеры или мост.
  • Для работы моста нужны оба серверных войс-плагина, но игроку достаточно одного клиентского мода.
  • Мост предназначен для локального proximity-войса. Приватные группы и каналы остаются отдельными системами каждого мода и не объединяются между Simple Voice Chat и Plasmo Voice.
  • VoiceChatAddon не открывает и не настраивает UDP-порты вместо войс-плагинов.
  • Награда сохраняется навсегда и выдаётся один раз на UUID.
  • При сохранении награды записывается IP-адрес; выключите antiIPAbuse, если защита по IP не нужна.
  • При работе за прокси для защиты по IP должна быть правильно настроена передача настоящего IP игрока.
  • Перед открытием команды /voice игрокам обязательно проверьте и настройте стандартные reward-actions под свой сервер.
  • Факт получения сохраняется до выполнения reward-actions, поэтому ошибка команды награды не разрешит автоматическую повторную попытку.
  • После изменения типа базы данных или реквизитов MySQL требуется полный перезапуск сервера.
  • Игроки с обоими клиентскими модами исключаются из передачи через мост для защиты от двойного звука.
  • Поддержка Folia не заявлена.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Благодарности

Логика голосового моста адаптирована из проекта You must be logged in to see this link., распространяемого по лицензии MIT.
Зависимости
Необязательно - SimpleVoiceChat, PlasmoVoice, Vault, LiteBans. Обязательно - PlaceholderAPI
Команды и права
Всё выше написано
Автор
He3HaukaX
Скачивания
172
Просмотры
2 757
Первый выпуск
Обновление
Оценка
5.00 звёзд 4 оценок

Другие ресурсы пользователя He3HaukaX

Поделиться ресурсом

Последние обновления

  1. Глобальнейшее обновление!

    1. Добавлена поддержка PlasmoVoice 2. Simple Voice Chat и Plasmo Voice соединены мостом: игроки...
  2. Обновление!

    1. ActionExecutor обновлён под новую версию 2. Из простой проверки по правам сделана адекватная...
  3. Обновление

    Изменил проверку на скачанный VoiceChat, теперь без всяких проверок на войсчат в onEnable, без...

Последние рецензии

Поддержка помогла решить проблему, быстро отвечают. Задумка плагина мне нравится, всё отлично работает! ❤
He3HaukaX
He3HaukaX
спасибо большое
Нормальный Челн, помог, вцелом хорошо, еще подзабайтил купить ивент, ивент тоже нормальный, он тоже помог
He3HaukaX
He3HaukaX
пон, челн норм. спасипа
очень полезный и функциональный плагин не имеющий аналогов, очень много полезных команд, обязательно поставлю на свой сервер фантайм
He3HaukaX
He3HaukaX
хахахаха, хорошо!
ну кстати очень интересный плагин, такой идеи я ещё не видел. советую )
He3HaukaX
He3HaukaX
Пасипа
Назад
Сверху Снизу