RefontSIM 1.6.1
Фикс приватных звонков PlasmoVoice
Что исправлено
- Исправлен запуск приватного PlasmoVoice-звонка — звонок больше не зависит от старого параметра voicechat.enabled, который относится к Simple Voice Chat.
- Исправлена ситуация, когда после /pickup не было голоса на расстоянии — PlasmoVoice-изоляция теперь запускается через свои настройки.
- Добавлен отдельный параметрplasmovoice.isolate-calls для управления приватными звонками PlasmoVoice.
- Добавлена диагностика в лог — теперь при принятии звонка видно, какой voice-сервис используется и стартовала ли приватная маршрутизация.
Причина бага
В версии 1.6.0 PlasmoVoice-интеграция загружалась корректно, но команда /pickup могла выйти раньше запуска приватного звонка, если в конфиге было:YAML:voicechat: enabled: false
Этот параметр должен отключать только Simple Voice Chat, но из-за старой проверки он блокировал и PlasmoVoice-изоляцию. Увы.
Новая настройкаYAML:plasmovoice: enabled: true isolate-calls: true
- plasmovoice.enabled — включает интеграцию с PlasmoVoice.
- plasmovoice.isolate-calls — переводит участников звонка в приватный PlasmoVoice-канал.
- voicechat.enabled теперь не блокирует PlasmoVoice и отвечает только за старую интеграцию Simple Voice Chat.
Как проверить
После принятия звонка в консоли должны появиться строки:Код:[RefontSIM] [Voice] Call isolation check: service=PlasmoVoiceCallService... [RefontSIM] [PlasmoVoice] Private RefontSIM call started: Игрок1 <-> Игрок2 [RefontSIM] [PlasmoVoice] Routed private RefontSIM voice for ...
Если эти строки есть, значит приватный звонок запущен и голос идёт через PlasmoVoice.
Важно
- Прошу вас обновиться, если опять будут проблемы, вы всегда знаете кому написать.
RefontSIM 1.6.0
PlasmoVoice, приватные звонки и настраиваемые звуки телефона
Главное в обновлении
- Интеграция с PlasmoVoice — приватные голосовые звонки теперь работают через PlasmoVoice.
- Разговор на любом расстоянии — участники звонка слышат друг друга как по телефону, даже если находятся далеко.
- Приватность звонка — голос участника звонка не уходит в обычный локальный voice-радиус и не слышен игрокам рядом.
- Рингтоны и гудки — добавлены MP3-звуки из прямых URL для входящего звонка, гудков, принятия, отклонения, недоступности и SMS.
- Loop-звуки — входящий звонок и гудки могут повторяться до заданного лимита времени.
- Автосброс звонка — если игрок не ответил за 30 секунд, звонок сбрасывается, проигрывается звук недоступности и выводится сообщение.
- Кастомные звуки — можно добавлять свои звуковые профили и привязывать их к событиям.
- Управление звуками — каждый звук можно отключить через config.yml.
- Подсказки команд — если уже есть исходящий звонок, игрок получает подсказку, как сбросить его через /reject.
- Локализация — новые сообщения добавлены в языковые файлы ru, en, vi и cn.
PlasmoVoice
Если на сервере установлен PlasmoVoice, RefontSIM подключает приватную voice-интеграцию для звонков. Во время активного звонка голос отправляется только второму участнику звонка через отдельный приватный источник PlasmoVoice.
- Звонящий слышит собеседника на любом расстоянии.
- Собеседник слышит звонящего на любом расстоянии.
- Игроки рядом не слышат разговор через обычный proximity voice.
- Если PlasmoVoice не установлен, обычные текстовые звонки RefontSIM продолжают работать без voice-изоляции.
Звуки телефона
В config.yml добавлены события и звуковые профили:
- incoming-call — входящий звонок.
- ringback — гудки у звонящего.
- call-accepted — принятие звонка.
- call-rejected — отклонение звонка.
- unavailable — абонент недоступен.
- sms-incoming — входящее SMS.
- sms-outgoing — исходящее SMS.
Кастомный звукYAML:plasmovoice: events: incoming-call: enabled: true sound: incoming-call sounds: incoming-call: url: "https://zvukipro.com/uploads/files/2020-09/1601032500_pdjyjr.mp3" loop: enabled: true interval-seconds: 4 max-seconds: 30YAML:plasmovoice: sounds: my-ringtone: url: "https://site.ru/sound.mp3" loop: enabled: true interval-seconds: 4 max-seconds: 30 events: incoming-call: enabled: true sound: my-ringtone
Команды
- /callphone <номер/ник> — начать звонок.
- /pickup — принять входящий звонок.
- /reject — отклонить входящий или отменить исходящий звонок.
- /endcall — завершить активный звонок.
Обновление 1.5.0 - языки, баланс телефона и операторы связи
Добавлено:
- Система языков для RefontSIM
- Мультиязычность добавлена из-за роста аудитории: плагин начали покупать владельцы серверов из других стран, поэтому переводы вынесены в отдельные файлы
- Основной язык: Русский
- Дополнительные языковые папки: en, vi, cn
- Поддержка кастомного языка: укажите свой код в language, и плагин создаст отдельную папку для перевода
- Телефонный баланс для каждой SIM-карты
- Пополнение баланса телефона: /phonebalance topup <сумма>
- Пополнение поддерживает режимы оплаты vault, material, exp, playerpoints
- Если SIM-карты продаются за предметы, баланс телефона тоже можно пополнять предметами из item.material
- Стоимость звонков и SMS с баланса телефона
- Несколько режимов тарификации звонков: disabled, per-call, per-minute
- Поминутная тарификация с настраиваемым интервалом списания
- Настраиваемый плательщик за звонок: caller, callee или both
- Автоматическое завершение звонка, если у плательщика закончился баланс
- Операторы связи для SIM-карт с разными тарифами
- Команда смены оператора: /phoneoperator set <оператор>
- Стоимость перехода к другому оператору и задержка перед следующей сменой
- Бонусы к пополнению баланса у отдельных операторов
- Тарифные пакеты операторов: минуты, SMS и временный безлимит
- Покупка пакета активного оператора: /phoneoperator package <пакет>
- Просмотр пакетов текущего оператора: /phoneoperator packages
- История расходов и пополнений баланса телефона
- GUI истории баланса: /phonebalance history
- Отдельный файл history.yml для истории пополнений, звонков, SMS, смены оператора, покупки пакетов и действий админа
- Админ-команды поддержки для выдачи/снятия баланса, смены оператора и сброса кулдауна
- Поддержка PlaceholderAPI для вывода данных RefontSIM в табе, scoreboard, holograms и других плагинах
- Админ-команда /refontsim reload для перезагрузки конфига и языков без рестарта сервера
- Комментарии в config.yml на русском языке по умолчанию
- Автоматическая смена комментариев config.yml под выбранный language
Операторы по умолчанию:
- MobiTel — базовый тариф без сюрпризов
- MegaLink — дешевле звонки, но дороже SMS
- Tera2 — бонус к пополнению и дешёвые SMS, но звонки дороже
Тарифные пакеты по умолчанию:
- MobiTel: 50 минут и 100 SMS
- MegaLink: 100 минут и безлимит на день
- Tera2: 250 SMS и лёгкий микс из минут + SMS
- Пакет можно купить по ID или по названию: /phoneoperator package minutes50 или /phoneoperator package 50 минут
Изменено:
- Сообщения вынесены из config.yml в папку lang
- config.yml теперь хранит в основном настройки: язык, оплату, лимиты, voicechat, баланс, операторов и форматы номеров
- В /mysim теперь отображаются оператор и баланс номера
- В /phonebalance отображаются текущий тариф звонка, тариф SMS, бонус оператора и активный пакет
- У SIM-карт в data.yml теперь сохраняются operator, balance, активный пакет и время последней смены оператора
- Языковые файлы автоматически дополняются недостающими новыми ключами при обновлении
- Новые параметры конфига автоматически дописываются из дефолтного config.yml, чтобы не удалять старый конфиг руками
- Тарифы операторов и их пакеты теперь берутся из config.yml, без зашитых значений в коде
Исправлено:
- Если старый config.yml уже повреждён, плагин создаёт резервную копию config-broken-*.yml и восстанавливает рабочий конфиг
Новые команды:Код:/refontsim reload /refontsim balance give <игрок> <сумма> [номер] /refontsim balance take <игрок> <сумма> [номер] /refontsim operator set <игрок> <оператор> [номер] /refontsim operator resetcooldown <игрок> [номер] /phonebalance /phonebalance topup <сумма> /phonebalance history /phoneoperator /phoneoperator set <оператор> /phoneoperator packages /phoneoperator package <пакет>
PlaceholderAPI:
- PlaceholderAPI не обязателен: если его нет на сервере, RefontSIM загрузится без ошибок
- Если PlaceholderAPI установлен, плейсхолдеры регистрируются автоматически
Плейсхолдер Что показывает (Большинство для диагностики сделал) %refontsim_version% Версия плагина %refontsim_language% Выбранный язык %refontsim_money_mode% Режим оплаты SIM-карт %refontsim_phone_balance_enabled% Включён ли баланс телефона %refontsim_billing_mode% Режим тарификации звонков %refontsim_billing_payer% Кто платит за звонок %refontsim_billing_interval% Интервал списания в секундах %refontsim_default_operator% ID оператора по умолчанию %refontsim_default_operator_name% Название оператора по умолчанию %refontsim_total_numbers% Всего номеров на сервере %refontsim_total_owners% Всего владельцев SIM-карт %refontsim_voice_ready% Готова ли интеграция Simple Voice Chat %refontsim_has_sim% Есть ли у игрока активная SIM-карта %refontsim_can_buy_sim% Может ли игрок купить ещё одну SIM-карту %refontsim_sim_count% Количество SIM-карт игрока %refontsim_sim_limit% Лимит SIM-карт игрока %refontsim_sim_slots_left% Сколько SIM-слотов осталось %refontsim_numbers% Все номера игрока через запятую %refontsim_number% Активный номер игрока %refontsim_active_number% Активный номер игрока %refontsim_normalized_number% Активный номер без символов форматирования %refontsim_type% Тип активной SIM-карты с переводом %refontsim_type_raw% Тип активной SIM-карты: normal, rare, expensive %refontsim_operator% Название оператора активной SIM-карты %refontsim_operator_id% ID оператора активной SIM-карты %refontsim_operator_description% Описание оператора %refontsim_balance% Баланс активного номера %refontsim_call_cost% Цена звонка по текущему оператору %refontsim_sms_cost% Цена SMS по текущему оператору %refontsim_topup_bonus% Бонус пополнения у текущего оператора %refontsim_package% Название активного пакета %refontsim_package_id% ID активного пакета %refontsim_package_status% Статус пакета: минуты, SMS и срок %refontsim_package_call_seconds% Остаток секунд звонков в пакете %refontsim_package_call_minutes% Остаток минут звонков в пакете %refontsim_package_sms% Остаток SMS в пакете %refontsim_package_expires_in% Через сколько закончится пакет %refontsim_package_unlimited_calls% Есть ли безлимитные звонки %refontsim_package_unlimited_sms% Есть ли безлимитные SMS %refontsim_history_count% Количество записей истории активного номера %refontsim_ignore_count% Сколько игроков в игноре %refontsim_in_call% Находится ли игрок в звонке %refontsim_call_partner% Имя собеседника в текущем звонке %refontsim_call_partner_number% Активный номер собеседника %refontsim_has_pending_call% Есть ли входящий звонок %refontsim_outgoing_pending% Есть ли исходящий ожидающий звонок %refontsim_pending_caller% Кто звонит игроку сейчас %refontsim_voice_connected% Подключён ли игрок к Simple Voice Chat %refontsim_number_1% Первый номер игрока %refontsim_number_1_balance% Баланс первого номера %refontsim_number_1_operator% Оператор первого номера %refontsim_number_1_operator_id% ID оператора первого номера %refontsim_number_1_type% Тип первого номера с переводом %refontsim_number_1_type_raw% Тип первого номера без перевода %refontsim_number_1_package% Активный пакет первого номера %refontsim_number_1_package_id% ID активного пакета первого номера %refontsim_number_1_normalized% Первый номер без символов форматирования
Для второго, третьего и следующих номеров меняйте цифру: %refontsim_number_2%, %refontsim_number_3_balance%, %refontsim_number_4_operator%.
Новые настройки тарификации:YAML:phone-balance: billing: mode: per-call # disabled, per-call, per-minute payer: caller # caller, callee, both interval-seconds: 60 package-seconds-per-call: 60 charge-on-answer: true end-call-if-no-balance: true notify-each-charge: false notify-on-start: true history: enabled: true max-entries-per-number: 100 gui-size: 54 entry-material: PAPER empty-material: BARRIER date-format: "dd.MM.yyyy HH:mm"
Пример настройки пакета оператора:YAML:operators: available: mobitel: packages: minutes50: display-name: "50 минут" description: "Пакет для обычных разговоров: 50 минут на 7 дней." cost: 25.0 duration-seconds: 604800 call-minutes: 50 sms: 0 unlimited-calls: false unlimited-sms: false
Новая настройка языка:YAML:language: ru
Доступные папки языков:Код:lang/ru/messages.yml lang/en/messages.yml lang/vi/messages.yml lang/cn/messages.yml
Важно:
- Если в выбранном языке не хватает какого-то сообщения, плагин возьмёт русский fallback
- Если указать свой язык, например language: custom, плагин создаст папку lang/custom/messages.yml
- Старые SIM-карты автоматически получат оператора по умолчанию и стартовый баланс
🛠 Обновление 1.4.0 — фикс лимитов SIM по правам
Исправлено:Примеры прав:
- Исправлена работа лимитов SIM-карт по permission-узлам
- Исправлен случай, когда права вида refontsim.simlimit.* не срабатывали у игроков
- Убрана ситуация, при которой лимит нормально работал только у OP, а у обычных игроков игнорировался
- refontsim.simlimit.2 — игрок может иметь до 2 SIM-карт
- refontsim.simlimit.4 — игрок может иметь до 4 SIM-карт
- refontsim.simlimit.5 — игрок может иметь до 5 SIM-карт
Для LuckPerms:Код:/lp user NICK permission set refontsim.simlimit.5 true
🛠 Обновление 1.3.0 — совместимость и optional Voice Chat
Исправлено:
- Плагин больше не падает при запуске, если на сервере не установлен Simple Voice Chat
- Убрана жёсткая зависимость от voicechat API при загрузке плагина
Изменено:
- Интеграция с Simple Voice Chat теперь полностью необязательная
- Если voicechat отсутствует, звонки, SMS, SIM-карты, передача номеров и остальные функции продолжают работать
- Если voicechat установлен и у игроков есть подключение, звонок по-прежнему может переходить в приватный голосовой канал
- Если voicechat не установлен, отключён в конфиге или не подключён у игроков, звонок автоматически идёт в обычном режиме без приватной voice-изоляции
Для владельцев серверов:
- Теперь не нужно ставить Simple Voice Chat обязательно, чтобы RefontSIM вообще запускался
- Хотите приватные голосовые звонки — ставьте Simple Voice Chat
- Не хотите использовать voicechat — просто оставляйте плагин без него, всё остальное будет работать как обычно
Конфигурация:
- Настройки voice-интеграции по-прежнему находятся в блоке voicechat
- voicechat.enabled позволяет полностью отключить попытку интеграции
- fallback-to-normal позволяет оставлять звонки рабочими даже без voice-изоляции
🎤 Simple Voice Chat теперь опционален, а не обязателен
RefontSIM 1.2.0
Большое обновление номеров, звонков и передачи SIM
Что добавлено:
- Добавлена интеграция с Simple Voice Chat для приватных звонков
- При принятии звонка игроки могут переводиться в скрытую изолированную voice-группу
- Теперь один игрок может владеть несколькими SIM-картами, а не только одной
- Добавлен активный номер, который используется для звонков и SMS по умолчанию
- Добавлена команда передачи/продажи номера другому игроку через договор-книгу с подписью
- Поддержана бесплатная передача и продажа за деньги через Vault
Исправлено:
- Исправлена проблема, из-за которой у игроков могли повторяться номера
- Покупка нового номера теперь проходит только с жесткой проверкой уникальности
- Исправлена логика хранения владельцев, из-за которой один номер мог фактически переписаться на другого игрока
- После завершения звонка участники корректно возвращаются в прежние voice-группы
Улучшено:
- Команда /pickup теперь полностью управляется через конфиг
- Поведение приватных звонков стало гибким: можно требовать voicechat, включать fallback и показывать уведомления
- Команда /mysim теперь показывает все ваши номера и позволяет выбрать активный
- Команда /deletesim теперь умеет удалять конкретный номер, а не только единственную SIM
- Звонки и SMS по нику теперь используют активный номер игрока
Конфигурация:
- Добавлен новый блок sim-limits в config.yml
- Теперь можно настраивать, сколько номеров доступно игроку по группам и permission-узлам
- Добавлен и расширен блок voicechat для настройки приватных звонков
- Добавлены новые сообщения для: лимитов SIM, выбора активного номера, передачи, продажи и ошибок договора
- В plugin.yml добавлена новая команда /transfersim
Новые возможности для игроков:
- Можно собирать коллекцию красивых номеров
- Можно держать один номер для себя, а второй - на продажу или передачу
- Появилась полноценная база для перепродажи редких номеров между игроками
Важно:
Если у вас уже установлен плагин, обновите config.yml или удалите старый конфиг, чтобы появились новые лимиты, сообщения и настройки передачи/voicechat.Если заметите баги в мульти-SIM, передаче номеров или приватных звонках - пишите, фиксы буду выпускать быстро.
📝 Обновление 1.1.0 — что нового
Добавлено:
- Поддержка нескольких режимов оплаты: vault, material, exp, playerpoints
- Автоматическое отображение корректной цены в GUI под выбранный режим
Исправлено:
- Режим vault: корректная проверка баланса и списание средств
- Понятные уведомления при нехватке средств и при ошибках списания
Конфигурация:
- Расширен блок money-mode (vault, material, exp, playerpoints)
- Добавлены секции experience и playerpoints с настраиваемыми ценами и отображением
Пожалуйста, удалите конфиг у кого стоит уже плагин!🔥 Пишите почаще в ЛС, буду делать фиксы!)