WardenCoredocs
Начало работы

История изменений

Список версий и обновлений

v1.8.8 - v1.9.2

Интеграция с магазином WargM

  • Автоматическая выдача покупок из вашего магазина WargM. Мод опрашивает WargM каждые 60 секунд на новые заказы, создаёт клейм-код для покупателя и отправляет его в Discord DM с кнопкой Claim
  • Новая вкладка WargM в настройках Discord: настройка Shop ID и API ключа, привязка названий товаров WargM к вашим пакам, полная история операций с фильтрацией по статусу и пагинацией
  • Регистронезависимое сопоставление названий - неважно как написано название на WargM и в вашей панели

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

  • Спавн предметов ускорен до 12 500 раз под нагрузкой. Паки с несколькими предметами больше не блокируют игровой поток - каждый предмет спавнится независимо, сервер работает плавно даже при массовых покупках
  • Операции с монетами (AddCoins) полностью убраны с игрового потока - чистая работа с базой данных, которая больше не вызывает микрофризы

Доступ к панели

  • Исправлен баг, из-за которого владельцы серверов, добавленные через панель, не могли заходить в настройки Discord, управление паками, настройки админов и конфиг. Теперь у них полный доступ на уровне владельца

Стабильность

  • Исправлена консоль, которая после обновления страницы показывала не все логи. Раньше загружались только 200 самых старых записей вместо полного буфера
  • Улучшена последовательность остановки мода - поллинг WargM и фоновые задачи корректно завершаются перед выгрузкой
  • 244 проблемы качества кода проверены и исправлены в 17 файлах

v1.8.7

Спавн предметов

  • Предметы теперь спавнятся напрямую через движок, а не через админские чат-команды. Доставка покупок, дейликов, велком-паков и клейм-кодов стала быстрее и надежнее
  • Команда give теперь поддерживает спавн по координатам: give Weapon_AK47 5 150000 -320000 12000. Полезно для ивентов, когда нужно разместить предметы в конкретной точке без привязки к игроку

Бот-магазин

  • Исправлена проблема, когда изменение админских ролей в настройках Discord не активировало кнопку "Сохранить". Теперь кнопка появляется сразу при добавлении или удалении ролей
  • Исправлены дублирующиеся Discord-эмбеды заказов для клейм-кодов лотереи. Раньше отправлялись два эмбеда: "pending" и "completed"

Стабильность

  • Улучшена надежность доставки паков: лучше обработка ошибок, логика рефандов и учет покупок
  • Исправлены краевые случаи в покупках через корзину, частичных доставках и конкурентных проверках лимитов
  • Ответы Discord на нажатия кнопок и модальные окна теперь отправляются быстрее, чтобы избежать ошибок "interaction failed"

v1.8.4

Веб-интерфейс

  • Полная локализация (EN/RU). Переключатель языка в сайдбаре, все страницы переведены: игроки, сквады, мир, статистика, настройки, паки, сообщения, дебаг
  • Панель (сайт) тоже полностью локализована через next-intl, язык определяется автоматически по браузеру

Система алертов

  • Алерты на разрушение базы теперь работают. Раньше мод искал владельца по ID разрушенной стены, но стена часто уже была удалена из базы данных к моменту запроса. Теперь ищется ближайший флаг, который всегда на месте
  • Исключённые Steam ID из общих настроек теперь не попадают в розыгрыши лотереи

Бот-магазин

  • При достижении лимита покупок теперь показывается реальное оставшееся время ("Попробуйте через 23ч 15м") вместо статичного текста лимита
  • Команда !listcat теперь работает с отображаемыми именами категорий, а не только со слагами. Так что !listcat Ammunition for weapons теперь найдётся
  • !listcat теперь публикует все паки в категории, а не только первые 5. Отправляет пачками чтобы не упираться в лимиты Discord
  • Эксклюзивная роль для покупки пака теперь поддерживает несколько ролей. Если у игрока есть хотя бы одна из них, он может купить. В редакторе роли отображаются как цветные чипы в стиле Discord

Интерфейс паков

  • У категорий теперь показывается количество паков рядом с названием
  • Убран color picker из категорий (был бесполезен)

Транспорт

  • Полный маппинг иконок для всех 20 типов транспорта. Иконки теперь загружаются для всего транспорта: Barba, Dinghy, Dirtbike, самолёты Kinglet, SUP, RIS, Tractor, тачки, плоты

v1.8.3

  • Добавлена Банковская система - игроки обменивают монеты на игровой кэш или золото через Discord. Разместите эмбед банка с кнопками депозита/вывода в любом канале. Игрок вводит сумму в модальном окне, транзакция проходит мгновенно. Для операций нужно быть онлайн, а при выводе проверяется реальный баланс в игре. Настраиваемые курсы обмена, комиссии на депозит/вывод (в процентах), отдельные суточные лимиты для кэша и золота. Лимиты работают по скользящему окну 24 часа - каждая транзакция "протухает" ровно через 24 часа. В ответе показывается остаток лимита, а при превышении бот пишет когда освободится место.
  • Добавлена Лотерея - автоматические розыгрыши призов с настраиваемым интервалом. Добавляйте паки в пул лотереи с весами для управления вероятностью. Участвуют только игроки с привязкой, которые сейчас онлайн. Победитель получает клейм-код в DM с кнопкой Claim. В игровом чате объявляется обратный отсчет и победитель. В Discord канале лотереи появляется эмбед с информацией о победителе.
  • Переделаны страницы настроек - двухколоночная раскладка на всех вкладках. Лотерея, Банк и Магазин получили отдельные организованные секции с поиском паков для welcome pack, daily pack и пула лотереи.
  • Выдача паков стала значительно быстрее - мод больше не обходит всех онлайн игроков для каждого предмета в паке. Данные игроков из регулярного обновления каждые 2 секунды переиспользуются, так что выдача пака из 10 предметов делает один поиск вместо десяти. Это заметно уменьшает лаги при активных покупках.
  • Ответы на покупки мгновенные - Discord уведомление о заказе (эмбед с кнопкой рефанда) теперь отправляется в фоне. Раньше игрок ждал пока Discord ответит, прежде чем увидеть результат покупки.
  • Автоматическая разбивка количества - если в паке строка с более чем 10 предметами (например #spawnitem Rifle 47), она автоматически разбивается на партии по 10. Это предотвращает перегрузку игрового сервера при крупных спавнах. Существующие паки в базе мигрируются автоматически при первом запуске. В редакторе паков стоит лимит 10 на строку.
  • Минимальный кулдаун покупки - 15 секунд - защита от быстрых покупок подряд, которые могут перегрузить сервер. Если у вас было меньше, значение поднято автоматически.
  • Различные исправления - обратный отсчет лимита покупок показывает секунды для коротких ожиданий и правильно округляет минуты.

v1.8.2

  • Значительное ускорение - поиск игроков стал ~150 раз быстрее. Мод больше не сканирует все объекты движка каждые 2 секунды, а читает встроенный список игроков напрямую. Это резко снижает нагрузку на CPU, особенно на серверах с большим количеством игроков.
  • Исправлен импорт паков для больших файлов - файлы с сотнями паков теперь импортируются корректно, а не молча падают.
  • Исправлена потеря конфига при рестарте - саб-админы и excluded Steam IDs больше не теряются после рестарта сервера в определённых условиях.
  • Исправлена перезапись excluded Steam IDs - кнопки добавления/удаления теперь заблокированы до полной загрузки текущего списка с сервера, предотвращая случайную потерю данных на медленных соединениях.
  • Добавлено управление монетами в модалке игрока. Теперь можно начислять и снимать монеты прямо из веб-панели без Discord. Баланс отображается во вкладке Overview и обновляется в реальном времени. Все операции логируются в Discord канал транзакций. Если игрока еще нет в базе WardenCore, он будет создан автоматически.
  • Добавлена система мутов. Теперь можно мутить игроков из выпадающего меню в модалке игрока. Выбирайте каналы для мута (Global, Local, Squad), задавайте длительность или ставьте перманент. Мут записывается в SilencedUsers.ini и применяется после рестарта сервера. У замьюченных игроков показывается оранжевый бейдж "Muted" с датой снятия для временных мутов.
  • Добавлены Discord ID и Coins во вкладку Overview модалки игрока.
  • Добавлена статистика убийств за вайп в модалке игрока. K/D, Kills и Deaths теперь показывают статы за текущий вайп, а под ними мелко отображаются значения за все время.
  • Переделаны диалоги Телепорта и Монет в модалке игрока в едином стиле с размытием фона, анимацией и центрированной раскладкой. Телепорт снова использует одно поле для координат.

v1.8.1

  • Исправлена стабильность Discord бота - бот лучше обрабатывает обрывы сети и быстрее переподключается. Таймауты больше не ломают отправку других сообщений.
  • Исправлено отображение секторов в DM алертах - сектора теперь показывают правильную позицию на сетке, как в веб-интерфейсе на карте.
  • Исправлены шаблоны сообщений алертов - дефолтные тексты для lockpick, raid, mine и других алертов теперь корректно загружаются при первой установке и не теряются при сохранении настроек.
  • Исправлена первая настройка Discord - после ввода токена и Guild ID бот сразу подключается и подтягивает каналы/роли без необходимости перезапуска сервера.
  • Исправлены покупки паков с транспортом - заказы с транспортом (например мотоциклы) больше не показывают статус "PARTIAL" когда все предметы были доставлены.
  • Исправлено место спавна предметов - если игра не может определить позицию игрока, предметы спавнятся у камеры игрока, а не в координатах 0 0 0 на другом конце карты.
  • Улучшена система банов - перед баном теперь показывается экран подтверждения, кнопка Бан/Разбан обновляется сразу без переоткрытия модалки, баны снятые через игровую консоль или ручное редактирование .ini автоматически синхронизируются.
  • Исправлена запись в бан-лист - Steam ID всегда записываются на отдельных строках, даже при бане сквада.
  • Исправлена загрузка слоёв карты - чекбоксы Транспорт и Базы на вкладке Карта теперь загружают все записи, а не останавливаются на 100.
  • Добавлена пагинация информации о сквадах в Discord - при большом количестве членов, транспорта и баз бот отправляет несколько сообщений вместо обрезки текста.
  • Уменьшен спам в логах - рутинные обрывы TLS соединений (закрытие вкладок, проверки состояния) больше не логируются.
  • Различные улучшения стабильности доставки Discord сообщений, обработки алертов и управления конфигурацией.

v1.8.0

  • Добавлена Alert System - игроки могут подписаться на Discord DM алерты при взломе, рейде или срабатывании ловушек на их базе. Алерт показывает тип события, сектор карты, название объекта и карту с точным местоположением. Mine алерты бесплатны для всех, lockpick и raid алерты требуют платную подписку (монеты/неделя, авто-продление). Члены сквада тоже получают алерты. Админы публикуют эмбед подписки с кнопками в любой канал, и настраивают все сообщения в Settings > Messages.
  • Добавлен PVP Kill Feed - убийства, суициды и PvE смерти теперь появляются в игровом чате и Discord. В игре показывается [KillFeed] с убийцей, жертвой, оружием, дистанцией и сектором. В Discord - эмбеды с картой и иконкой оружия. Kill streak'и получают рандомные сообщения, суициды - забавные фразы.
  • Добавлена поддержка последнего обновления SCUM - внутренние изменения обрабатываются автоматически, ничего делать не нужно.
  • Улучшен Bot Shop - частичные доставки больше не вызывают рефанд. Рефанд только когда ничего не доставлено. Каждый заказ теперь включает детальный лог выполнения, прикреплённый к карточке заказа в Discord.
  • Добавлена Welcome Role - автоматическое назначение Discord роли при привязке аккаунта.
  • Улучшена вкладка Vehicle в веб-интерфейсе.
  • Различные фиксы стабильности - подавление чата, перезагрузка конфига, работа с БД, предотвращение крашей.

v1.7.0

  • Добавлено автообновление мода - при появлении новой версии мод скачивает и подготавливает обновление к следующему рестарту сервера. Никаких ручных действий.
  • Добавлен публичный HTTP API для внешних интеграций. Сгенерируйте API-ключ в настройках и используйте его для доступа к игрокам, отрядам, экономике, статистике и командам с вашего сайта или бота.
  • Добавлен API управления монетами - начисление и снятие монет, создание промокодов через HTTP без Discord. Те же логи и уведомления, что и через команды бота.
  • Добавлены уровни доступа API-ключей - обычные ключи имеют доступ только к публичным данным, админские - ко всему.
  • Значительно ускорена загрузка веб-интерфейса - страницы загружаются до 10 раз быстрее при первом визите и мгновенно при повторных.
  • Добавлены обновления в реальном времени - статистика дашборда, изменения экономики и лента активности обновляются live без перезагрузки страницы.
  • Добавлена ссылка на документацию в боковой панели для быстрого доступа.

v1.6.0

  • Запущена система экономики - автоматические награды монетами за активность игроков. В Настройки > Discord > Bank можно настроить монеты за минуту онлайна, за PvP-убийство и штрафы за PvP-смерть, PvE-смерть и суицид. Установите 0, чтобы отключить. Учитываются только реальные события - PvE и ивентовые убийства обрабатываются отдельно. Награды за онлайн начисляются тихо, без спама в Discord. При первой установке исторические логи безопасно пропускаются.
  • Добавлена панель игрока - общий Discord-embed с интерактивными кнопками для проверки баланса, получения ежедневной награды, просмотра личной статистики и списка команд. Все ответы приватные (видит только нажавший). Настраивается в Настройки > Discord > Bot-Shop: выбор кнопок, цвета и внешний вид embed. Публикуется в любой канал кнопкой Send Embed.
  • Исправлена пересылка рейд-логов - события разрушения без рейдера больше не появляются как сломанные embed в Discord.
  • Добавлена поддержка событий заброшенных флагов в логах строительства баз.
  • Добавлены планы Free и Premium. Новые серверы начинают с 7-дневным Premium-триалом. Текущий план отображается в панели и в веб-интерфейсе мода. По истечении триала сервер автоматически переходит на Free.
  • Добавлено логирование транзакций в Discord. Все изменения баланса коинов - покупки, ежедневные награды, приветственные паки, промокоды и возвраты - автоматически пересылаются в выделенный канал Discord с информацией об игроке, сумме, причине и балансе до/после.
  • Добавлено логирование заказов в Discord. Все выдачи паков - покупки в магазине, ежедневные награды, приветственные паки и промокоды - пересылаются как embed-карточки с информацией об игроке, паке, цене, балансе, источнике, статусе и координатах. Завершённые заказы содержат кнопку Refund для возврата коинов прямо из Discord.
  • Добавлен импорт данных игроков для миграции с других ботов. Загрузка CSV-файла для переноса Steam ID, привязок Discord и баланса коинов. Существующие игроки обновляются без перезаписи текущих данных.
  • Добавлен спавн транспорта как действие в паках. Паки теперь могут спавнить транспорт через тот же редактор, что и предметы - с названием, количеством и дополнительными аргументами.
  • Добавлена команда !wipeplayers для удаления всех данных игроков (привязки, коины, статистика, серии убийств) с подтверждением. Используйте перед вайпом или миграцией.
  • Улучшен веб-интерфейс мода: отображение статуса плана и уменьшение лишних сообщений в логах.

v1.5.0

  • Добавлена привязка аккаунтов - самостоятельная привязка Steam↔Discord через бота. Бот отправляет embed с уникальным кодом. После привязки имя игрока из Discord отображается рядом с его Steam-профилем по всей панели и боту.
  • Добавлен приветственный пак. Новые игроки автоматически получают настраиваемый пак с предметами и монетами при привязке аккаунта. Внешний вид embed полностью настраивается (цвет, миниатюра, изображение, иконка автора, поля) через визуальный конструктор в настройках.
  • Запущен магазин в Discord. Игроки просматривают паки в виде embed-карточек с картинками, ценами, описаниями и кнопкой покупки. Перед покупкой бот проверяет привязку, онлайн-статус, баланс, лимиты и кулдаун. Предметы доставляются прямо персонажу с автоматическим возвратом при ошибке. HUD-уведомления в игре сообщают о статусе заказа.
  • Добавлена система паков с полным CRUD и импортом. Каждый пак поддерживает четыре типа действий: Предмет (выдача в игре), Транспорт (спавн транспорта), Монеты (пополнение баланса) и Команда (выполнение любой админ-команды). Паки организованы по категориям с настраиваемыми цветами и сортировкой. Поддерживается импорт из JSON-формата старого бота.
  • Добавлены лимиты покупок и скидки. Для каждого пака можно задать лимит покупок (X покупок за Y минут), обязательную Discord-роль и многоуровневые скидки по ролям - применяется наибольшая подходящая. Глобальные настройки управляют кулдауном и максимумом паков в заказе.
  • Добавлена поддержка количества и корзины. !buy <пак> [кол-во] позволяет покупать несколько копий. !cart <пак1> <пак2> - мультизаказ с общей проверкой. При частичной ошибке доставки возвращается соответствующая часть средств.
  • Запущены ежедневные награды. Команда !daily для монет, предметов или и того и другого раз в 24 часа. Содержимое настраивается через панель. Админский сброс через !cleardaily.
  • Запущены промокоды. Команда !createcode для генерации кодов - публичные (одно использование на игрока) или именные (привязаны к конкретному игроку). Срок действия и лимиты использования. Бот отправляет DM с embed и кнопкой активации, обновляющейся в реальном времени. Также можно активировать через !claim КОД.
  • Добавлена история покупок. Все покупки сохраняются с полной информацией: игрок, пак, цена, количество, скидка и статус доставки. Доступно в Настройки > Паки > История с фильтрами, поиском и пагинацией.
  • Добавлены сообщения паков - настраиваемые HUD-сообщения в игре для приветственного пака, ежедневных наград и покупок. Поддержка плейсхолдеров (имя игрока, остаток баланса). Настраиваются в разделе «Сообщения» в настройках.
  • Добавлена загрузка изображений паков. Каждый пак может иметь собственную картинку в embed магазина, загружаемую через drag-and-drop в редакторе с предпросмотром.
  • Обновлена система помощи. Команда !help показывает отсортированный список команд по категориям - команды игроков первыми, затем админские - с авторазбивкой длинных списков.
  • Добавлены админ-команды: !listpack и !listcat для публикации embed-карточек в каналы, !clearbuylimit для сброса лимитов покупок.
  • Добавлено подавление спама в логах - выдача предметов из паков больше не засоряет консоль и Discord-каналы логов.
  • Добавлена страница загрузки в панели WardenCore. После регистрации сервера панель перенаправляет на страницу Download с шагами установки, превью чейнджлога и историей версий. Панель хранит две последних версии для возможности отката.
  • Добавлены уведомления об обновлениях. Когда доступна новая версия, в шапке панели появляется значок «Update available», а в веб-интерфейсе мода - пульсирующий баннер. Мод определяет новые версии автоматически при периодической верификации.
  • Запущен сайт документации на docs.wardencore.ru на английском и русском языках.
  • Удалены неиспользуемые вкладка «Бункеры» и кнопки массовых действий в отрядах. Быстрые команды консоли показывают только зарегистрированные команды.

Содержание