Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Модуль для logo AzerothCore

Enhanced World Chat


Описание

Enhanced World Chat — современный модуль глобального чата для AzerothCore, сделанный так, чтобы ощущаться естественным продолжением чата Blizzard.

В отличие от обычных world-chat модулей, здесь есть постоянный режим World Chat, поддержка гиперссылок Blizzard, настраиваемая защита от спама, детект дубликатов, фильтр URL, автотеги Trade/LFG, учёт списка игнора и публичный API для других модулей.

Всё настраивается через WorldChat.conf.

Мультиязычный реалм

На сервере играют с клиентами разных локалей (enUS, ruRU, deDE, esES и др.).

Что Как локализуется
Теги в общем чате ([World], [Trade], [Group]) Один префикс на всех — по умолчанию английский
Системные ответы игроку (мут, ошибки, статус) module_string / module_string_locale по locale сессии
Текст сообщений игроков Как написал отправитель (гиперссылки сохраняются)
Автотеги Trade/Group WorldChat.TradeKeywords / WorldChat.GroupKeywords (EN+RU по умолчанию)

Строки модуля: data/sql/db-world/base/worldchat_module_string.sql
Документация и комментарии в конфиге — на русском для админов.


Требования

Актуальная установка AzerothCore.


Возможности

  • Кросс-фракционный World Chat
  • Постоянный режим World Chat (.world)
  • Сохранение настроек игрока
  • Вход в канал через /join World
  • Поддержка гиперссылок Blizzard
  • Учёт списка игнора
  • Детект повторных сообщений
  • Защита от флуда
  • Фильтр URL / рекламы
  • Автоопределение сообщений о торговле
  • Автоопределение поиска подземелья / группы
  • Рассылки только Орде
  • Рассылки только Альянсу
  • Объявления ГМов
  • Минимальный уровень игрока
  • Настраиваемые цвета и теги
  • Полный API для других модулей
  • Лёгкий, с минимальной нагрузкой

Скриншоты

World Chat / автотеги Фракционные сообщения для ГМов
Блокировка ссылок и защита от спама

Команды

Команды игрока

Команда Описание
.world <сообщение> Отправить сообщение в World Chat
.world Переключить режим World Chat
.world on Включить World Chat
.world off Выключить World Chat
.world status Показать текущие настройки World Chat
/join World Войти в World Chat как в обычный канал

Команды персонала

Команда Описание
.worldgm <сообщение> Серверное объявление
.worldh <сообщение> World Chat только для Орды
.worlda <сообщение> World Chat только для Альянса

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


Расширенные возможности

Постоянный режим World Chat

Просто введите:

.world

Обычные сообщения /say будут перенаправляться в World Chat, пока режим не выключат.


Гиперссылки

Enhanced World Chat сохраняет гиперссылки Blizzard.

Поддерживаются:

  • Предметы
  • Заклинания
  • Достижения
  • Задания
  • Чары
  • Символы
  • Рецепты
  • Ссылки на игроков

Игроки могут Shift-кликать ссылки так же, как в обычном чате.


Автоопределение типа сообщения

Сообщения о торговле помечаются автоматически.

Пример:

[Trade] Ariot: WTS [Betrayer of Humanity]

Сообщения поиска группы тоже определяются автоматически.

Пример:

[Group] Ariot: LFM ICC 25 Need Healer

Обе функции включаются и выключаются независимо.


Защита от спама

Встроенная защита от флуда:

  • Настраиваемый порог предупреждения
  • Временный автоматический мут
  • Детект дубликатов
  • Блокировка URL / рекламы

Аккаунты ГМов автоматически исключаются.


Список игнора

Enhanced World Chat учитывает обычный список игнора Blizzard.

Если игрок в игноре, его сообщения в World Chat скрываются автоматически.


Публичный API

Другие модули AzerothCore могут отправлять сообщения через World Chat.

Примеры:

WC::Broadcast("Рестарт сервера через 10 минут.");

WC::Broadcast(WC::MessageChannel::Announcement,
              "Цитадель Ледяной Короны открыта!");

WC::Broadcast(WC::MessageChannel::Trade,
              "Начался уикенд аукциона.");

WC::Broadcast(WC::MessageChannel::Group,
              "Активен бонус к подземельям.");

WC::SendToPlayer(player,
                 WC::MessageChannel::Announcement,
                 "Ваш спутник повысил уровень.");

WC::SendToFaction(TEAM_HORDE,
                  WC::MessageChannel::Announcement,
                  "Озеро Ледяных Оков начнётся через 10 минут.");

WC::SendToGMs(WC::MessageChannel::GM,
              "AntiCheat: подозрительное перемещение.");

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

Каждую функцию можно включить или выключить.

Примеры:

WorldChat.Enable = 1
WorldChat.CrossFaction = 1

WorldChat.IgnoreSupport = 1

WorldChat.DuplicateDetection = 1
WorldChat.UrlFilter = 1

WorldChat.TradeDetection = 1
WorldChat.GroupDetection = 1

WorldChat.MinimumLevel = 10

Полное описание параметров — в conf/WorldChat.conf.dist.


Установка

1. Поместите модуль в каталог modules AzerothCore.
2. Пересоберите CMake и скомпилируйте AzerothCore
   (DB updater подхватит data/sql/db-world и db-characters).
3. Скопируйте WorldChat.conf.dist в каталог конфигурации.
4. Перезапустите сервер.

Если DB updater выключен, импортируйте вручную:

  • data/sql/db-characters/base/character_worldchat.sql → Characters
  • data/sql/db-world/base/worldchat_module_string.sql → World

(старый путь sql/characters/base/ также содержит таблицу персонажей)


Зачем Enhanced World Chat?

Модуль рассчитан на две цели:

  • Ощущаться так, будто его сделала Blizzard.
  • Быть простым в настройке для владельцев серверов.

Это не просто пересылка сообщений, а полноценный каркас общения, которым могут пользоваться другие модули AzerothCore через публичный API.


Авторы

Исходная идея World Chat:

  • Ouizzy
  • Wizzymore

Enhanced World Chat:

  • Расширен и обновлён: постоянный режим чата, API, сохранение гиперссылок, игнор, автоклассификация сообщений, настраиваемые фильтры и инструменты модерации.

Отдельная благодарность сообществу AzerothCore за основу, без которой такие модули невозможны.


Лицензия

GNU AGPL v3

About

A modern, feature-rich World Chat module for AzerothCore.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages