Плагин mcFriends — друзья и личные сообщения в Майнкрафт | mcDev
Иконка ресурса

Плагин mcFriends — друзья и личные сообщения 1.0.10

Для версий
  1. 1.12.+
  2. 1.13.+
  3. 1.16.+
  4. 1.17.+
  5. 1.18+
  6. 1.19.+
  7. BungeeCord
  8. Velocity
  9. 1.20.+
  10. 1.21.+

Друзья на вашем сервере​

mcFriends — плагин друзей для Minecraft. Он помогает поддерживать связь: видеть статусы друзей, писать им личные сообщения и получать уведомления об их входе. В сети серверов можно перейти на сервер друга, если это разрешено настройками.

Вы сами выбираете, какие заявки принимать, и можете отключить личные сообщения.

Для владельца сервера
Список друзей, личные сообщения и меню настроек помогают игрокам поддерживать связь. Доступ к функциям регулируется правами, а игроки сами выбирают, чьи заявки принимать.

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

Как начать общаться​

Введите /friend add <ник> и выберите имя по Tab или напишите его полностью. Друг принимает заявку командой /friend accept <ник>. После этого можно общаться через /msg <ник> <сообщение> и отвечать через /reply <сообщение>.

Что умеет mcFriends​

Отправляйте и принимайте заявки в друзья, отклоняйте ненужные, удаляйте друзей и управляйте блокировками. Список друзей разделён на страницы и показывает их статусы. В меню личных настроек можно настроить уведомления о входе друзей.

Личные сообщения доступны только взаимным друзьям. Пока заявка не принята, она не даёт права писать игроку. Получатель может отключить личные сообщения; эти ограничения действуют и при ответе последнему собеседнику.

Кроме личной переписки, есть команда для отправки сообщения друзьям. Группового режима party в mcFriends нет.

Доступен русский язык, переводы можно редактировать.

Где пригодится
Договоритесь с другом о встрече, найдите его в списке или перейдите на его сервер, если настройки это разрешают. Ненужную заявку можно отклонить, а нежелательное общение — ограничить блокировкой или отключением личных сообщений.

В игре​



Команды и права​

  • /friends — открыть список друзей.
  • /friends requests — посмотреть заявки в друзья.
  • /friends settings — открыть личные настройки.
  • /friends toggle — включить или выключить получение личных сообщений.
  • /msg <ник> <сообщение> — написать взаимному другу, если он разрешил личные сообщения.
  • /reply <сообщение> — ответить последнему собеседнику. Правила личных сообщений сохраняются.
  • /friends broadcast <сообщение> — отправить сообщение друзьям.
  • /friends jump <друг> — перейти на сервер друга при разрешённых настройках. Это переход между серверами сети, а не телепортация к координатам игрока.

Заявки и список друзей
  • /friend add <ник> — отправить заявку.
  • /friend accept <ник> — принять входящую заявку.
  • /friend deny <ник> — отклонить входящую заявку.
  • /friend remove <ник> — удалить друга.
  • /friend block <ник> — заблокировать игрока.
  • /friend unblock <ник> — снять свою блокировку.

Ники по Tab
Подсказки ников зависят от команды:
  • /friend add — предложит ники видимых игроков сети, даже если вы ещё не друзья. Для поиска можно ввести первые буквы ника.
  • /friend accept и /friend deny — предложат отправителей входящих заявок, чтобы выбрать, чью заявку принять или отклонить.
  • /friend unblock — предложит ники из вашего собственного списка блокировок, включая игроков не в сети.
  • В команде удаления друга и при вводе ника для личного сообщения предлагаются друзья.

Из подсказок онлайн-игроков исключаются ваш собственный ник, скрытые игроки в vanish и игроки с видимостью «Никому». При показе подсказок учитываются права.

Tab также предлагает варианты подкоманд. Если клиент не показывает подсказки, введите ник полностью, а нужный синтаксис посмотрите в текстовой помощи.

Помощь по командам
/friends help открывает первую страницу короткой справки. Следующие страницы доступны через /friends help 2 и /friends help 3. Для справки по одной команде используйте, например, /friends help msg.

При неполной команде вместо общей ошибки показывается её синтаксис — как правильно её написать. Команда удаления друга с лишними аргументами не выполняет удаление.

Права
  • mcfriends.use — функции друзей.
  • mcfriends.message — личные сообщения и рассылка друзьям.
Запрет права учитывается.

Совместимость и зависимости​

Платформы: Bukkit, Spigot, Paper, Purpur, BungeeCord и Velocity.

Проверенные серверные версии находятся в диапазоне 1.12.2–26.2. Он не означает подтверждённую совместимость с каждой промежуточной сборкой.
Для одного сервера можно использовать H2. Для сети серверов требуется общая MariaDB либо PostgreSQL. Дополнение mcProfile необязательно: основные команды mcFriends работают самостоятельно.

Установка и обновление​

Сначала распакуйте ZIP-архив. Затем поместите mcFriends-1.0.10.jar в папку plugins выбранной платформы и перезапустите сервер. Необязательное дополнение для mcProfile устанавливайте только на игровой сервер с mcProfile; на прокси оно не нужно. Перед обновлением сохраните копию настроек. Для сети настройте общую базу данных и отдельные имена узлов в конфигурации. Затем проверьте доступ обычного игрока к /friends и /friends settings.

В плагине есть русский язык и редактируемые переводы. Если клиент не показывает подсказки по Tab, используйте полное имя и /friends help. mcFriends предназначен для дружбы и общения; групповой режим party не предусмотрен.

Настройки​


YAML:
# Назначение: Версия структуры файла. Схема 1 загружается с нормализацией команд в собственные имена схемы 2.
# @config Тип: целое число | Допустимо: 2; старая схема 1 принимается с нормализацией команд | Единица: нет | По умолчанию: 2 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
config-version: 2

# Назначение: Роль этой копии плагина в сети серверов.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
node:
  # Назначение: AUTO сам выбирает роль; также доступны STANDALONE, PROXY и BACKEND.
  # @config Тип: строка | Допустимо: AUTO, STANDALONE, PROXY или BACKEND | Единица: нет | По умолчанию: AUTO | Зависимость: AUTO использует адаптер текущей платформы; PROXY недопустим на Bukkit, BACKEND недопустим на прокси; STANDALONE требует оба multi-флага false
  mode: AUTO
  # Назначение: Общее имя сети. Оно должно совпадать на всех её прокси и игровых серверах.
  # @config Тип: строка | Допустимо: [A-Za-z0-9][A-Za-z0-9_.-]{0,63} | Единица: нет | По умолчанию: default | Зависимость: совпадает во всей одной сети; разные сети не должны видеть данные друг друга
  network-id: default
  # Назначение: Уникальное имя именно этой копии плагина. Замените change-me перед запуском сети.
  # @config Тип: строка | Допустимо: [A-Za-z0-9][A-Za-z0-9_.-]{0,63}; change-me запрещено при multi-proxy или multi-server | Единица: нет | По умолчанию: change-me | Зависимость: уникален среди одновременно работающих копий одной сети
  node-id: change-me
  # Назначение: Имя прокси для режима PROXY; пустое значение использует node-id.
  # @config Тип: строка | Допустимо: пустая строка либо [A-Za-z0-9][A-Za-z0-9_.-]{0,63} | Единица: нет | По умолчанию: '' | Зависимость: идентификатор прокси в присутствии и доставке; пустое значение использует node-id
  proxy-id: ''
  # Назначение: Имя игрового сервера для режима BACKEND; пустое значение использует node-id.
  # @config Тип: строка | Допустимо: пустая строка либо [A-Za-z0-9][A-Za-z0-9_.-]{0,63} | Единица: нет | По умолчанию: '' | Зависимость: идентификатор игрового сервера в присутствии и доставке; пустое значение использует node-id
  server-id: ''

# Назначение: Хранилище друзей, заявок, настроек и личных сообщений.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
database:
  # Назначение: Тип базы: H2 для одного сервера, MARIADB или POSTGRESQL для сети.
  # @config Тип: строка | Допустимо: H2, MARIADB или POSTGRESQL | Единица: нет | По умолчанию: H2 | Зависимость: H2 допускается только при multi-proxy=false и multi-server=false; сеть требует общей MariaDB или PostgreSQL
  type: H2
  # Назначение: JDBC-адрес базы. Для сетевого режима укажите отдельную общую базу mcFriends.
  # @config Тип: строка | Допустимо: непустой JDBC-адрес выбранного типа без user/password/token в параметрах; для удалённой SQL-базы sslMode=verify-full | Единица: нет | По умолчанию: jdbc:h2:./plugins/mcFriends/data/friends;AUTO_SERVER=FALSE | Зависимость: схема адреса совпадает с database.type; пароль берётся отдельно; loopback разрешён без удалённого TLS
  jdbc-url: jdbc:h2:./plugins/mcFriends/data/friends;AUTO_SERVER=FALSE
  # Назначение: Пользователь базы данных.
  # @config Тип: строка | Допустимо: строка, в том числе пустая; не пароль | Единица: нет | По умолчанию: sa | Зависимость: учётная запись должна иметь доступ только к выбранной базе и таблицам mcFriends
  username: sa
  # Назначение: Имя переменной окружения с паролем. Сам пароль в config.yml писать нельзя.
  # @config Тип: строка | Допустимо: имя переменной окружения или пустая строка; не значение пароля | Единица: нет | По умолчанию: MCFRIENDS_DB_PASSWORD | Зависимость: заданная переменная имеет приоритет над password-file; для SQL-сети пароль обязателен
  password-env: MCFRIENDS_DB_PASSWORD
  # Назначение: Альтернатива переменной: путь к закрытому файлу, содержащему только пароль.
  # @config Тип: строка | Допустимо: путь к файлу пароля или пустая строка; не значение пароля | Единица: нет | По умолчанию: '' | Зависимость: используется при отсутствии значения password-env; доступ к файлу оставляйте только владельцу процесса
  password-file: ''
  # Назначение: Префикс таблиц mcFriends в выбранной базе.
  # @config Тип: строка | Допустимо: [A-Za-z][A-Za-z0-9_]{0,31} | Единица: нет | По умолчанию: mcfriends_ | Зависимость: одинаков во всех копиях одной сети; изменение выбирает другой набор таблиц, а не переименовывает старые
  table-prefix: mcfriends_
  # Назначение: Максимальное число одновременных соединений с базой.
  # @config Тип: целое число | Допустимо: 1..64 | Единица: соединения | По умолчанию: 4 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  pool-size: 4
  # Назначение: Сколько миллисекунд ждать соединения с базой перед безопасным отказом запуска.
  # @config Тип: целое число | Допустимо: 1..60000 | Единица: миллисекунды | По умолчанию: 10000 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  connection-timeout-ms: 10000

# Назначение: Обмен присутствием и сообщениями между узлами одной сети.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
network:
  # Назначение: Включите, если игроков принимает больше одного прокси.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: false | Зависимость: true требует общей MariaDB/PostgreSQL и уникального node-id; несовместимо со STANDALONE
  multi-proxy: false
  # Назначение: Включите, если mcFriends установлен более чем на одном игровом сервере.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: false | Зависимость: true требует общей MariaDB/PostgreSQL и уникального node-id; несовместимо со STANDALONE
  multi-server: false
  # Назначение: Настройки отметок «игрок в сети».
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  presence:
    # Назначение: Как часто активный узел обновляет присутствие игрока, в миллисекундах.
    # @config Тип: целое число | Допустимо: 1000..300000 | Единица: миллисекунды | По умолчанию: 10000 | Зависимость: ttl-ms должен быть не меньше удвоенного интервала; слишком редкое обновление задерживает статус
    heartbeat-ms: 10000
    # Назначение: Через сколько миллисекунд без обновления игрок считается вышедшим.
    # @config Тип: целое число | Допустимо: 3000..1800000; не менее двух heartbeat-ms | Единица: миллисекунды | По умолчанию: 35000 | Зависимость: учитывает только свежие отметки; respect-vanish дополнительно скрывает неизвестное/скрытое присутствие
    ttl-ms: 35000
  # Назначение: Доставка личных сообщений и уведомлений между узлами.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  messages:
    # Назначение: Частота проверки очереди сообщений, в миллисекундах.
    # @config Тип: целое число | Допустимо: 50..30000 | Единица: миллисекунды | По умолчанию: 250 | Зависимость: меньше интервал — меньше задержка и больше обращений к базе
    poll-ms: 250
    # Назначение: Максимум сообщений, забираемых за один проход.
    # @config Тип: целое число | Допустимо: 1..1000 | Единица: сообщения | По умолчанию: 100 | Зависимость: работает совместно с poll-ms; не является лимитом друзей или длины текста
    batch-size: 100
    # Назначение: Время владения сообщением одним обработчиком, в миллисекундах.
    # @config Тип: целое число | Допустимо: 1000..300000 | Единица: миллисекунды | По умолчанию: 10000 | Зависимость: ограничивает владение записью очереди одним обработчиком; повторная доставка проходит проверку актуального состояния
    claim-ttl-ms: 10000

# Назначение: Команды игроков. mcFriends не забирает команды других плагинов.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
commands:
  # Назначение: Команды открытия меню и управления друзьями; friend и friends обязательны.
  # @config Тип: список строк | Допустимо: только [friend, friends] в указанном порядке | Единица: нет | По умолчанию: [friend, friends] | Зависимость: фиксированный набор собственных команд; изменение требует согласованной версии плагина
  friend-aliases: [friend, friends]
  # Назначение: Собственная команда личного сообщения взаимному другу.
  # @config Тип: список строк | Допустимо: только [msg] | Единица: нет | По умолчанию: [msg] | Зависимость: фиксированный набор собственных команд; изменение требует согласованной версии плагина
  message-aliases: [msg]
  # Назначение: Собственная команда ответа последнему собеседнику.
  # @config Тип: список строк | Допустимо: только [reply] | Единица: нет | По умолчанию: [reply] | Зависимость: фиксированный набор собственных команд; изменение требует согласованной версии плагина
  reply-aliases: [reply]
  # Назначение: Не перехватывать команды с пространством имён другого плагина.
  # @config Тип: boolean | Допустимо: только false | Единица: нет | По умолчанию: false | Зависимость: false обязательно; команды другого поставщика не принадлежат mcFriends
  intercept-namespaced: false
  # Назначение: Чужие пространства команд не принадлежат mcFriends; список должен быть пустым.
  # @config Тип: список строк | Допустимо: только пустой список [] | Единица: нет | По умолчанию: [] | Зависимость: пустой список обязателен по политике собственных команд
  provider-prefixes: []
  # Назначение: Не передавать принадлежащую mcFriends команду другому плагину при временной ошибке сервиса.
  # @config Тип: boolean | Допустимо: только true | Единица: нет | По умолчанию: true | Зависимость: true обязательно: принадлежащая mcFriends команда не должна уйти чужому обработчику при недоступности сервиса
  cancel-on-service-error: true

# Назначение: Игровые ограничения и защита от спама.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
limits:
  # Назначение: Максимальное число друзей у одного игрока.
  # @config Тип: целое число | Допустимо: 1..10000 | Единица: друзья | По умолчанию: 100 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  friends: 100
  # Назначение: Максимальное число входящих заявок.
  # @config Тип: целое число | Допустимо: 1..1000 | Единица: заявки | По умолчанию: 20 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  incoming-requests: 20
  # Назначение: Максимальное число отправленных заявок.
  # @config Тип: целое число | Допустимо: 1..1000 | Единица: заявки | По умолчанию: 20 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  outgoing-requests: 20
  # Назначение: Срок жизни заявки в секундах; 604800 — семь дней.
  # @config Тип: целое число | Допустимо: 1..315360000 (не более 3650 дней) | Единица: секунды | По умолчанию: 604800 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  request-ttl-seconds: 604800
  # Назначение: Максимальная длина личного сообщения в символах Unicode.
  # @config Тип: целое число | Допустимо: 1..2000 | Единица: кодовые точки Unicode | По умолчанию: 256 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  message-code-points: 256
  # Назначение: Сколько личных сообщений разрешено за одно окно ограничения.
  # @config Тип: целое число | Допустимо: 1..100 | Единица: сообщения за окно | По умолчанию: 5 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  message-rate-permits: 5
  # Назначение: Размер окна ограничения сообщений в секундах.
  # @config Тип: целое число | Допустимо: 1..600 | Единица: секунды | По умолчанию: 10 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  message-rate-window-seconds: 10
  # Назначение: Максимум друзей, которым можно отправить одно групповое уведомление.
  # @config Тип: целое число | Допустимо: 1..10000 | Единица: получатели | По умолчанию: 250 | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  broadcast-recipients: 250

# Назначение: Правила хранения и показа личных сообщений.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
messages:
  # Назначение: Разрешать личное сообщение только когда получатель сейчас в сети.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: false разрешает ограниченную очередь офлайн-сообщений; дружба и приватность всё равно проверяются
  require-online: true
  # Назначение: Сколько секунд недоставленное сообщение остаётся в очереди.
  # @config Тип: целое число | Допустимо: 5..86400 | Единица: секунды | По умолчанию: 60 | Зависимость: после истечения недоставленное сообщение не принимается к доставке; это не история чата
  retention-seconds: 60
  # Назначение: Разрешать цветовые коды и форматирование в тексте игроков.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: false | Зависимость: меняет только оформление пользовательского текста; не отменяет дружбу, приватность и ограничения
  allow-formatting: false
  # Назначение: Всегда оставляйте false: содержимое личных сообщений не записывается в журнал.
  # @config Тип: boolean | Допустимо: только false | Единица: нет | По умолчанию: false | Зависимость: false обязательно для защиты личной переписки
  log-content: false

# Назначение: Инвентарное меню друзей и настроек.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
gui:
  # Назначение: Включить меню; при false команда покажет краткий текстовый список.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: на прокси для инвентарного меню нужна копия на игровом сервере с общей SQL-базой; false включает текстовый список
  enabled: true
  # Назначение: Число рядов в меню друзей, от 2 до 6.
  # @config Тип: целое число | Допустимо: 2..6 | Единица: ряды по 9 слотов | По умолчанию: 6 | Зависимость: применяется к основному меню друзей; экран настроек использует свою фиксированную раскладку
  rows: 6
  # Назначение: Живая цветная рамка должна работать во всех экранах и переходах меню.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  animation:
    # Назначение: Включить анимацию рамки.
    # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: анимация действует только при gui.enabled=true и сохраняется при переходе в настройки и обратно
    enabled: true
    # Назначение: Интервал между кадрами в миллисекундах; слишком малое значение создаёт лишние обновления.
    # @config Тип: целое число | Допустимо: 100..30000 | Единица: миллисекунды | По умолчанию: 1000 | Зависимость: используется при gui.enabled=true и animation.enabled=true; меньше интервал — больше обновлений слотов
    period-ms: 1000
  # Назначение: Защита от двойных кликов по меню, в миллисекундах.
  # @config Тип: целое число | Допустимо: 0..5000 | Единица: миллисекунды | По умолчанию: 250 | Зависимость: применяется к действиям в открытом меню; 0 отключает только задержку кликов, не проверки инвентаря
  click-cooldown-ms: 250

# Назначение: Дополнительные функции для игроков.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
features:
  # Назначение: Сообщать друзьям, когда игрок появился в сети.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: используется соответствующей включённой функцией и не отменяет настройки приватности
  online-info-on-join:
    # Назначение: Включить уведомление о входе.
    # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: используется соответствующей включённой функцией и не отменяет настройки приватности
    enabled: true
    # Назначение: Задержка уведомления после входа, в миллисекундах.
    # @config Тип: целое число | Допустимо: 0..300000 | Единица: миллисекунды | По умолчанию: 1500 | Зависимость: используется при enabled=true; даёт игровому серверу время сообщить актуальную видимость
    delay-ms: 1500
  # Назначение: Разрешить игроку отправлять объявление всем друзьям.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: используется соответствующей включённой функцией и не отменяет настройки приватности
  friend-broadcast:
    # Назначение: Включить объявления друзьям.
    # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: используется соответствующей включённой функцией и не отменяет настройки приватности
    enabled: true
    # Назначение: Перерыв между объявлениями одного игрока, в секундах.
    # @config Тип: целое число | Допустимо: 0..3600 | Единица: секунды | По умолчанию: 30 | Зависимость: используется при enabled=true; дополнительно действуют приватность и broadcast-recipients
    cooldown-seconds: 30
  # Назначение: Отключение урона между друзьями на игровых серверах.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: используется соответствующей включённой функцией и не отменяет настройки приватности
  friendly-fire:
    # Назначение: Включить защиту друзей от взаимного урона.
    # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: false | Зависимость: работает на игровом сервере и учитывает настройки друзей; существующий запрет урона не снимается
    enabled: false
    # Назначение: Миры с защитой; пустой список означает все миры.
    # @config Тип: список строк | Допустимо: список непустых имён миров; [] означает все миры | Единица: нет | По умолчанию: [] | Зависимость: используется при friendly-fire.enabled=true; имена должны совпадать с мирами сервера
    protected-worlds: []
  # Назначение: Переход на сервер, где играет друг.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: используется соответствующей включённой функцией и не отменяет настройки приватности
  friend-jump:
    # Назначение: Включить запрос перехода к другу.
    # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: false | Зависимость: переход требует работающего прокси, дружбы, разрешения получателя и доступного сервера
    enabled: false
    # Назначение: Задержка перед переходом, в секундах.
    # @config Тип: целое число | Допустимо: 0..300 | Единица: секунды | По умолчанию: 3 | Зависимость: используется при friend-jump.enabled=true; перед действием снова проверяется актуальное состояние
    delay-seconds: 3
    # Назначение: Серверы, на которые переход через друзей запрещён.
    # @config Тип: список строк | Допустимо: список непустых имён серверов; [] ничего дополнительно не запрещает | Единица: нет | По умолчанию: [login] | Зависимость: используется при friend-jump.enabled=true; указывайте имена из маршрутизации прокси
    disabled-servers: [login]

# Назначение: Связь с необязательными плагинами оформления и приватности.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
integrations:
  # Назначение: Наследование настроек приватности из mcProfile, если он установлен.
  # @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: необязательная интеграция; отсутствие плагина не должно мешать основным командам
  mcprofile:
    # Назначение: MOST_PRIVATE выбирает более закрытое правило при расхождении настроек.
    # @config Тип: строка | Допустимо: LOCAL_ONLY, MCPROFILE_FALLBACK, MCPROFILE_PRIMARY или MOST_PRIVATE | Единица: нет | По умолчанию: MOST_PRIVATE | Зависимость: LOCAL_ONLY и MCPROFILE_FALLBACK не принимают внешнюю запись; MCPROFILE_PRIMARY принимает профиль; MOST_PRIVATE сохраняет более закрытые значения
    inheritance: MOST_PRIVATE
  # Назначение: Использовать префиксы и имена из LuckPerms при показе друзей.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: необязательная интеграция; отсутствие плагина не должно мешать основным командам
  luckperms-display-names: true
  # Назначение: Регистрировать плейсхолдеры PlaceholderAPI, если он установлен.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: необязательная интеграция; отсутствие плагина не должно мешать основным командам
  placeholderapi: true
  # Назначение: Не раскрывать скрытого игрока в статусе и подсказках онлайн-игроков; личные сообщения между друзьями сохраняются.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: при true статус раскрывается только после свежего VISIBLE от игрового сервера; личные сообщения этим не блокируются
  respect-vanish: true

# Назначение: Язык сообщений и меню.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
localization:
  # Назначение: Основной язык общего режима сообщений, когда per-player выключен.
  # @config Тип: строка | Допустимо: языковая метка вида ru_RU; должна входить в supported | Единица: нет | По умолчанию: ru_RU | Зависимость: используется как общий язык при per-player=false; перевод должен быть доступен
  default: ru_RU
  # Назначение: Запасной язык, если перевод отдельной строки отсутствует.
  # @config Тип: строка | Допустимо: языковая метка вида ru_RU; должна входить в supported | Единица: нет | По умолчанию: ru_RU | Зависимость: используется, если отдельная строка выбранного перевода отсутствует
  fallback: ru_RU
  # Назначение: Разрешённые языки, между которыми игрок может переключаться в меню.
  # @config Тип: список строк | Допустимо: непустой список языковых меток с доступными переводами; включает default и fallback | Единица: нет | По умолчанию: [ru_RU, en_US, de_DE, es_ES, fr_FR, pt_BR, pl_PL, tr_TR, uk_UA, zh_CN] | Зависимость: файлы переводов лежат в locales; недоступный обязательный перевод не должен маскироваться успешным запуском
  supported: [ru_RU, en_US, de_DE, es_ES, fr_FR, pt_BR, pl_PL, tr_TR, uk_UA, zh_CN]
  # Назначение: Учитывать выбранный язык каждого игрока вместо одного языка на весь сервер.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  per-player: true

# Назначение: Одноразовый перенос данных из прежней системы друзей.
# @config Тип: раздел | Допустимо: перечисленные вложенные ключи; неизвестные ключи отклоняются | Единица: нет | По умолчанию: значения вложенных ключей ниже | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
import:
  # Назначение: Режим API импорта по умолчанию: true только строит план; false разрешает применение при вызове API.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: действует без явного переопределения dry-run; CLI отдельно требует --apply, обычный запуск сервера импорт не выполняет
  dry-run-by-default: true
  # Назначение: Префикс исходных таблиц прежней системы друзей.
  # @config Тип: строка | Допустимо: [A-Za-z][A-Za-z0-9_]{0,31} | Единица: нет | По умолчанию: fr_ | Зависимость: применяется только к чтению источника импорта; целевые таблицы задаются database.table-prefix
  source-table-prefix: fr_
  # Назначение: Масштаб предельного размера источника: допускается min(10000000, batch-size * 10000) записей.
  # @config Тип: целое число | Допустимо: 1..10000 | Единица: множитель 10000 записей | По умолчанию: 500 | Зависимость: историческое имя; ограничивает план чтения, а не размер SQL-пакета; используется только при импорте
  batch-size: 500
  # Назначение: Переносить ещё не принятые заявки в друзья.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  include-pending-requests: true
  # Назначение: Переносить пользовательские настройки приватности.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: true | Зависимость: загружается при запуске; после изменения нужен контролируемый перезапуск этой копии
  include-settings: true
  # Назначение: Не переносить старые офлайн-сообщения без отдельного решения владельца.
  # @config Тип: boolean | Допустимо: true или false | Единица: нет | По умолчанию: false | Зависимость: включайте только при разрешённом переносе; принимаются сообщения между уже подтверждёнными друзьями
  include-offline-messages: false
  • 01-friends-menu.png
    01-friends-menu.png
    133.6 KB · Показов: 2,463
  • 02-settings-menu.png
    02-settings-menu.png
    134.7 KB · Показов: 17
  • 03-private-message.png
    03-private-message.png
    277.4 KB · Показов: 21
  • 13-friend-request-r3.png
    13-friend-request-r3.png
    283.7 KB · Показов: 24
  • 14-message-before-friendship.png
    14-message-before-friendship.png
    274.2 KB · Показов: 23
  • 15-msg-reply-r3.png
    15-msg-reply-r3.png
    258.9 KB · Показов: 23
  • 16-friends-list-r3.png
    16-friends-list-r3.png
    122.7 KB · Показов: 23
  • 17-settings-r3.png
    17-settings-r3.png
    127.8 KB · Показов: 23
  • 18-english-localization-r3.png
    18-english-localization-r3.png
    130 KB · Показов: 23
  • 19-owned-alias-conflict-1.0.2.png
    19-owned-alias-conflict-1.0.2.png
    88.8 KB · Показов: 9
  • 20-pm-blocked-after-remove-1.0.2.png
    20-pm-blocked-after-remove-1.0.2.png
    89.1 KB · Показов: 9
  • 21-mcprofile-addon-1.0.1.png
    21-mcprofile-addon-1.0.1.png
    77.2 KB · Показов: 9
  • 01-message-blocked-before-friend.png
    01-message-blocked-before-friend.png
    401.4 KB · Показов: 10
  • 02-friend-request-sent.png
    02-friend-request-sent.png
    400.9 KB · Показов: 10
  • 03-friendship-confirmed.png
    03-friendship-confirmed.png
    400.1 KB · Показов: 10
  • 04-private-message-and-reply.png
    04-private-message-and-reply.png
    400 KB · Показов: 10
  • 05-friends-menu.png
    05-friends-menu.png
    252.9 KB · Показов: 10
  • 06-settings-animation-frame-a.png
    06-settings-animation-frame-a.png
    255.5 KB · Показов: 10
  • 07-settings-animation-frame-b.png
    07-settings-animation-frame-b.png
    255.2 KB · Показов: 6
  • 08-private-messages-setting.png
    08-private-messages-setting.png
    256.3 KB · Показов: 6
  • 09-private-messages-disabled.png
    09-private-messages-disabled.png
    256.7 KB · Показов: 7
  • 10-visibility-setting-changed.png
    10-visibility-setting-changed.png
    255.7 KB · Показов: 7
  • 11-friendly-fire-enabled.png
    11-friendly-fire-enabled.png
    256.7 KB · Показов: 7
  • 12-english-settings.png
    12-english-settings.png
    254.9 KB · Показов: 7
  • 13-friends-menu-english.png
    13-friends-menu-english.png
    253 KB · Показов: 7
  • 14-remove-and-message-blocked.png
    14-remove-and-message-blocked.png
    400.4 KB · Показов: 2
  • 01-message-blocked-before-friend.png
    01-message-blocked-before-friend.png
    406.6 KB · Показов: 2
  • 02-friend-request-sent.png
    02-friend-request-sent.png
    406.1 KB · Показов: 2
  • 03-friendship-confirmed.png
    03-friendship-confirmed.png
    405 KB · Показов: 2
  • 04-private-message-and-reply.png
    04-private-message-and-reply.png
    405.3 KB · Показов: 2
  • 05-friends-menu.png
    05-friends-menu.png
    252.5 KB · Показов: 2
  • 06-settings-animation-frame-a.png
    06-settings-animation-frame-a.png
    254 KB · Показов: 1
  • 07-settings-animation-frame-b.png
    07-settings-animation-frame-b.png
    254.4 KB · Показов: 1
  • 09-private-messages-disabled.png
    09-private-messages-disabled.png
    255.6 KB · Показов: 1
  • 10-visibility-setting-changed.png
    10-visibility-setting-changed.png
    254.6 KB · Показов: 1
  • 11-friendly-fire-enabled.png
    11-friendly-fire-enabled.png
    255.4 KB · Показов: 1
  • 12-english-settings.png
    12-english-settings.png
    254.3 KB · Показов: 1
  • 13-friends-menu-english.png
    13-friends-menu-english.png
    252.4 KB · Показов: 1
  • 14-remove-and-message-blocked.png
    14-remove-and-message-blocked.png
    405.5 KB · Показов: 1
  • 01-message-blocked-before-friend.png
    01-message-blocked-before-friend.png
    400.6 KB · Показов: 1
  • 02-friend-request-sent.png
    02-friend-request-sent.png
    399.9 KB · Показов: 1
  • 03-friendship-confirmed.png
    03-friendship-confirmed.png
    398.9 KB · Показов: 1
  • 04-private-message-and-reply.png
    04-private-message-and-reply.png
    398.6 KB · Показов: 1
  • 05-friends-menu.png
    05-friends-menu.png
    254 KB · Показов: 1
  • 06-settings-animation-frame-a.png
    06-settings-animation-frame-a.png
    255.6 KB · Показов: 1
  • 08-private-messages-setting.png
    08-private-messages-setting.png
    256.7 KB · Показов: 1
  • 09-private-messages-disabled.png
    09-private-messages-disabled.png
    256.6 KB · Показов: 0
  • 10-visibility-setting-changed.png
    10-visibility-setting-changed.png
    255.9 KB · Показов: 0
  • 11-friendly-fire-enabled.png
    11-friendly-fire-enabled.png
    257.1 KB · Показов: 0
  • 12-english-settings.png
    12-english-settings.png
    255.4 KB · Показов: 0
  • 13-friends-menu-english.png
    13-friends-menu-english.png
    253.5 KB · Показов: 0
  • 14-remove-and-message-blocked.png
    14-remove-and-message-blocked.png
    399.5 KB · Показов: 0
Автор
mcdev
Куплено
7
Показов
260
Первый выпуск
Обновление

Оценки

0.00 звёзд 0 оценок

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

Что важно знать

Автор
Категория
Плагины
Кратко
Друзья и личные сообщения в Minecraft: заявки, меню настроек и подсказки ников по Tab.
Первая публикация
23.08.2026
Обновлено
06.09.2026
Стоимость
169 RUB (без скидки 339 RUB)
Скачиваний
7
Совместимость
1.12.+1.13.+1.16.+1.17.+1.18+1.19.+BungeeCordVelocity1.20.+1.21.+
Требования
Обязательных plugin dependencies нет. H2 встроена. MariaDB/PostgreSQL нужны только для общей сети. LuckPerms, PlaceholderAPI, mcProfile и vanish-плагины опциональны.

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

  1. mcFriends 1.0.10 — выбор игроков по Tab

    Выбор игрока до добавления в друзья. /friend add предлагает по Tab ники видимых игроков сети, в...

Частые вопросы

Что представляет собой ресурс «mcFriends — друзья и личные сообщения»?
Ресурс «mcFriends — друзья и личные сообщения» опубликован в категории «Плагины». Кратко: Друзья и личные сообщения в Minecraft: заявки, меню настроек и подсказки ников по Tab..
Сколько стоит ресурс «mcFriends — друзья и личные сообщения»?
Текущая цена ресурса — 169 RUB. Базовая цена без скидки — 339 RUB.
Когда ресурс «mcFriends — друзья и личные сообщения» обновлялся в последний раз?
Последнее зафиксированное обновление ресурса — 06.09.2026. Перед покупкой можно дополнительно проверить блок обновлений и changelog на этой странице.
Есть ли у ресурса «mcFriends — друзья и личные сообщения» отзывы и оценки?
Пока у ресурса нет опубликованных оценок. Актуальный статус и новые отзывы можно отслеживать прямо в блоке отзывов на странице.
Где задавать вопросы по ресурсу «mcFriends — друзья и личные сообщения»?
Основная точка для вопросов по ресурсу — его страница на mcDev. Если отдельная ссылка поддержки не указана, ориентируйтесь на профиль автора и связанные обсуждения.
С какой совместимостью идёт ресурс «mcFriends — друзья и личные сообщения»?
Автор указал совместимость этого ресурса отдельно:1.12.+1.13.+1.16.+1.17.+1.18+1.19.+BungeeCordVelocity1.20.+1.21.+
Какие требования нужно учесть перед покупкой ресурса «mcFriends — друзья и личные сообщения»?
Перед установкой стоит учесть такие требования:Обязательных plugin dependencies нет. H2 встроена. MariaDB/PostgreSQL нужны только для общей сети. LuckPerms, PlaceholderAPI, mcProfile и vanish-плагины опциональны.