Skip to content

whitecristafer/AutoAnnounce

Repository files navigation

AutoAnnounce v2.0.0

AutoAnnounce — плагин для автоматических объявлений на серверах Rust (Oxide/uMod). Поддерживает группы, расписания, условия отправки и интеграции.

Быстрый старт

  1. Скопируйте AutoAnnounce.cs в oxide/plugins/.
  2. Скопируйте AutoAnnounce.json в oxide/config/ (плагин создаст файл автоматически, если его нет).
  3. На сервере выполните:
oxide.reload AutoAnnounce

Проверьте доступность команд: /ann help.

Ключевые возможности

  • Группы объявлений с отдельными настройками (режим, интервал, приоритет, пермишены).
  • Режимы: random, sequential, once.
  • Плейсхолдеры для серверной и пользовательской информации (см. раздел "Плейсхолдеры").
  • Условия отправки (логические выражения на основе плейсхолдеров).
  • Интеграции: Discord (webhook), GUIAnnouncements, ImageLibrary, Better Chat.
  • Логирование и базовая статистика отправленных сообщений.

Режимы групп

  • random — случайное сообщение из списка
  • sequential — по порядку (циклично)
  • once — отправить один раз за сессию

Форматирование

Поддерживается Rust-форматирование: <color=#hex>, <size=...>, <b>, <i> и пр. Каждая группа может задавать цвет и префикс.

Плейсхолдеры

Поддерживаются плейсхолдеры для сервера, времени и игрока. Часто используемые:

  • {server_name}, {server_url}
  • {online}, {maxonline}
  • {time}, {date}, {day_name}
  • {player_name}, {player_id}

Условные и пользовательские плейсхолдеры можно регистрировать через PlaceholderManager.

Условия отправки

Пример условия в конфиге:

"conditions": ["{online} > 5", "{is_weekend} == true"]

Сообщение отправится только если все условия истинны.

Welcome

welcomeMessage — стандартное приветствие. firstWelcomeMessage — для первого захода игрока. Задержка на отправку настраивается через welcomeDelaySeconds.

Права доступа

Можно задать requiredPermission для группы. Если оно установлено, сообщения видны только игрокам с этим пермишеном.

Интеграции

Поддерживаются интеграции через адаптеры (IntegrationManager): Discord (webhook), GUIAnnouncements, ImageLibrary, Better Chat, Event Manager.

Логирование

По умолчанию ведётся лог в AutoAnnounce.log. Возможна отправка в Discord при включённом webhook.

Команды администратора

Примеры команд:

/ann help
/ann list [group]
/ann add <group> <message>
/ann remove <group> <id>
/ann toggle <group>
/ann test <group>
/ann send <message>
/ann reload
/ann stats
/ann temp "<message>" <min>

Установка

  1. Поместите AutoAnnounce.cs в oxide/plugins/.
  2. Проверьте или создайте oxide/config/AutoAnnounce.json.
  3. Выполните oxide.reload AutoAnnounce.
  4. Проверьте логи в oxide/logs/.

Структура конфига (основное)

Ключевые секции в AutoAnnounce.json:

  • settings — общие параметры (schedulerTickRate, timeZone, antiSpam)
  • welcome — настройки приветствий
  • logging — логирование и Discord webhook
  • groups — словарь групп объявлений с настройками
  • restartSchedules — предупреждения перед рестартом
  • integrations — включение адаптеров (discord/gui и т.д.)

Примеры групп и шаблонов см. в EXAMPLES.md.

Примеры и шаблоны

Скрипты примеров конфигов находятся в EXAMPLES.md (PvP, Roleplay, Mini-games и т.д.).

Права

Основные пермишены:

  • autoannounce.admin — полный доступ
  • autoannounce.use — базовый доступ
  • autoannounce.vip — доступ к VIP-группам

Выдача пермишена зависит от вашей системы управления правами (пример команды grant).

Производительность

Рекомендации:

  • schedulerTickRate по умолчанию 5 секунд — уменьшайте для больших серверов с осторожностью.
  • Включайте antiSpam для снижения нагрузки при малом онлайне.

Roadmap (кратко)

  • Интеграция с GUIAnnouncements и CUI-редактором
  • Улучшенная интеграция с Discord API
  • Расширенные условия и расписания
  • Экспорт/импорт конфигов

Проблемы и отладка

Если сообщения не отправляются:

  1. Проверьте enabled: true у группы.
  2. Убедитесь, что в группе есть включённые сообщения.
  3. Выполните /ann test <group>.
  4. Просмотрите логи в oxide/logs/.

По проблемам с конфигом используйте /ann reload и валидаторы JSON.

Лицензия и контакты

Лицензия: GNU GPL v3.0

Автор: whitecristafer / INFUNV STUDIO

Поддержка: contact@infunv.ru


Версия: 2.0.0 — 2026-05-04

About

Plugin for Rust server based on Oxide | uMod

Resources

License

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages