Всем доброго утра
Нужен отдельный .jar модуль для Lucera.
Задача:
сделать полный лог всех событий, связанных с конкретными item_id.
Основной item_id: 9996
Для теста можно использовать 4037 — Coin of Luck.
Нужно логировать абсолютно все движения этого предмета внутри сервера:
1. Передача между персонажами
- trade
- private store
- mail, если есть
- drop / pickup
- warehouse, если влияет на владельца
2. Начисления и списания через админку / telnet / GM-команды
3. Получение через NPC / multisell / reward / quest / event
4. Удаление предмета
- destroy
- consume
- sell
- exchange
- enchant / craft / любые системные списания
5. Любое изменение количества item_id у персонажа
Нужна структура лога примерно такая:
table: item_movement_log
id BIGINT AUTO_INCREMENT
created_at DATETIME
item_id INT
item_name VARCHAR
object_id BIGINT
from_char_id INT NULL
from_char_name VARCHAR NULL
to_char_id INT NULL
to_char_name VARCHAR NULL
amount_before BIGINT
amount_change BIGINT
amount_after BIGINT
action_type VARCHAR
source VARCHAR
reference_id VARCHAR NULL
admin_name VARCHAR NULL
ip_address VARCHAR NULL
description TEXT
Примеры action_type:
TRADE_SEND
TRADE_RECEIVE
DROP
PICKUP
DESTROY
CONSUME
GM_ADD
GM_REMOVE
TELNET_ADD
TELNET_REMOVE
NPC_REWARD
MULTISELL_BUY
WAREHOUSE_DEPOSIT
WAREHOUSE_WITHDRAW
PRIVATE_STORE_BUY
PRIVATE_STORE_SELL
MAIL_SEND
MAIL_RECEIVE
SYSTEM_CHANGE
Главная цель:
чтобы по item_id = 9996 можно было восстановить полную историю движения токена внутри сервера:
кто получил, откуда получил, кому передал, сколько было до, сколько изменилось, сколько стало после.
Идеально, если список отслеживаемых item_id будет в конфиге:
TrackedItemIds = 9996,4037
Также желательно логировать не только успешные операции, но и подозрительные/ошибочные попытки изменения количества предмета.
Нужен отдельный .jar модуль для Lucera.
Задача:
сделать полный лог всех событий, связанных с конкретными item_id.
Основной item_id: 9996
Для теста можно использовать 4037 — Coin of Luck.
Нужно логировать абсолютно все движения этого предмета внутри сервера:
1. Передача между персонажами
- trade
- private store
- mail, если есть
- drop / pickup
- warehouse, если влияет на владельца
2. Начисления и списания через админку / telnet / GM-команды
3. Получение через NPC / multisell / reward / quest / event
4. Удаление предмета
- destroy
- consume
- sell
- exchange
- enchant / craft / любые системные списания
5. Любое изменение количества item_id у персонажа
Нужна структура лога примерно такая:
table: item_movement_log
id BIGINT AUTO_INCREMENT
created_at DATETIME
item_id INT
item_name VARCHAR
object_id BIGINT
from_char_id INT NULL
from_char_name VARCHAR NULL
to_char_id INT NULL
to_char_name VARCHAR NULL
amount_before BIGINT
amount_change BIGINT
amount_after BIGINT
action_type VARCHAR
source VARCHAR
reference_id VARCHAR NULL
admin_name VARCHAR NULL
ip_address VARCHAR NULL
description TEXT
Примеры action_type:
TRADE_SEND
TRADE_RECEIVE
DROP
PICKUP
DESTROY
CONSUME
GM_ADD
GM_REMOVE
TELNET_ADD
TELNET_REMOVE
NPC_REWARD
MULTISELL_BUY
WAREHOUSE_DEPOSIT
WAREHOUSE_WITHDRAW
PRIVATE_STORE_BUY
PRIVATE_STORE_SELL
MAIL_SEND
MAIL_RECEIVE
SYSTEM_CHANGE
Главная цель:
чтобы по item_id = 9996 можно было восстановить полную историю движения токена внутри сервера:
кто получил, откуда получил, кому передал, сколько было до, сколько изменилось, сколько стало после.
Идеально, если список отслеживаемых item_id будет в конфиге:
TrackedItemIds = 9996,4037
Также желательно логировать не только успешные операции, но и подозрительные/ошибочные попытки изменения количества предмета.