Skip to content

Передача предметов в игру ​

KaevCMS позволяет игрокам отправлять награды из Веб-инвентаря персонажам. Для передачи CMS записывает предметы в специальную таблицу kaev_reward_queue в игровой базе.

Чтобы эта функция работала, администратору нужно один раз установить таблицу в базу GameServer.

Установка очереди наград ​

  1. Скачайте SQL-файл install.sql из папки integrations/reward-queue в репозитории KaevCMS.
  2. Откройте phpMyAdmin, выберите базу GameServer и импортируйте скачанный файл через вкладку «Импорт». Таблица kaev_reward_queue появится автоматически.
  3. Проверьте подключение: в админке KaevCMS откройте «Очередь наград», выберите нужный GameServer. Должно появиться сообщение: «Очередь выбранного GameServer доступна и имеет поддерживаемую структуру».
  4. Готово! Теперь игрок может открыть Личный кабинет → Веб-инвентарь, выбрать предметы и персонажа. KaevCMS запишет заявку на передачу в игровую таблицу.

Несколько игровых серверов

Если у вас несколько GameServer с разными базами данных, установите таблицу в каждую базу, куда нужно передавать предметы.

Кто выдаёт предметы персонажу?

KaevCMS только записывает предметы в очередь игровой базы. Их фактическую выдачу персонажам администратор игрового сервера организует самостоятельно — например, через плагин или свой обработчик.

Статус «Передано» в KaevCMS означает, что данные записаны в очередь, а не что предмет уже появился в игре.

Если очередь не работает ​

  • «Таблица не найдена» — проверьте, что install.sql импортирован именно в базу выбранного GameServer, а не в базу CMS или LoginServer.
  • «Неверная структура» — сравните таблицу с актуальным install.sql; перед изменениями сохраните существующие данные.
  • «Недоступна» — проверьте подключение GameServer и права пользователя базы данных. CMS должна иметь доступ к чтению и записи очереди.
  • Предмет не пришёл в игру — проверьте обработчик игрового сервера: наличие таблицы позволяет CMS создать запись, но не выполняет выдачу автоматически.

Поля таблицы kaev_reward_queue ​

ПолеДля чего используется
idУникальный номер записи в очереди.
request_uuidОбщий идентификатор одной операции передачи.
line_numberПорядковый номер предмета в операции.
game_server_idID игрового сервера в KaevCMS.
sourceИсточник передачи (обычно web_inventory).
cms_user_idID пользователя в KaevCMS.
account_nameЛогин игрового аккаунта.
character_idID персонажа, которому предназначен предмет.
character_nameИмя персонажа.
item_idID игрового предмета.
amountКоличество предметов.
statusСостояние записи: pending, processing, delivered или failed.
attemptsСколько раз обработчик пытался выполнить выдачу.
error_messageСообщение об ошибке при обработке (если есть).
created_atДата и время создания записи.
processing_started_atКогда обработчик начал выдачу.
processed_atКогда обработчик завершил выдачу или зафиксировал ошибку.

Важно: KaevCMS создаёт запись со статусом pending. Дальнейшие статусы и поля обработки заполняет обработчик игрового сервера, а не CMS.

Для разработчиков: формат таблицы, статусы и примеры SQL.

Независимый открытый проект. Lineage II — собственность правообладателей.