Пользователи
Баланс, баны, роли, склад и история в карточке игрока
В разделе Основное → Пользователи собраны все аккаунты, поиск работает по нику и почте. Клик по строке открывает карточку.
Что в карточке
Карточка разбита на две вкладки.
Ник, почта, активация, UUID. По UUID игрока опознают сервер и лаунчер; он не меняется никогда, даже при смене ника.
Если игрок не получил письмо с кодом, проще отметить аккаунт активированным здесь, чем разбираться с почтой.
Дальше идут доступы: роли, персональные права, флаг суперпользователя. У персональных прав те же строки, что и в ролях, только привязаны они к одному человеку. И перебивают ролевые. Разово докинуть кому-то одно право удобно, а раздавать так все доступы не стоит: через полгода никто не вспомнит, у кого что.
Отсюда же меняют пароль игрока, закрывают все его сеансы и сбрасывают двухфакторку. Именно сбрасывают: включить 2FA за игрока нельзя, только снять, если он потерял телефон.
В блоке Внешний вид загружают и удаляют скин с плащом за игрока, в блоке Блокировка банят и разбанивают, указывая причину и дату окончания. Пустая дата означает бан навсегда.
Два баланса: Баланс на сайте (реальная валюта) и Баланс на сайте (бонусы). Оба правятся руками, но для этого нужно отдельное право admin.users.money.
Ниже донат-группы и донат-права игрока со сроками: их можно выдать вручную или снять досрочно.
Последним идёт склад — то, что игрок купил, но ещё не получил в игре. Когда сервер работает через плагин, склад разгружается при заходе игрока. Если вещи лежат там годами, связь с сервером не настроена, смотрите Выдачу покупок. Отсюда же выдают товар или кит без оплаты, кнопками Выдать товар и Выдать кит.
Баны
Забанить можно из админки, а можно прямо в игре. Плагин пишет баны в ту же таблицу. У бана есть срок и причина, игрок видит в кабинете и то и другое.
Если у игрока есть право user.cabinet.unban.buy, он снимет бан сам, заплатив цену разбана с реального баланса. Бывает обидно, когда забанили за читы, а игрок разбанился за пятьдесят рублей. Чтобы бан не выкупали, отберите это право. Ставить цену в ноль бесполезно: разбан от этого станет бесплатным, а не недоступным.
Массовые действия
В таблице можно выделить несколько строк и удалить их разом. Это отдельное право (admin.users.delete.many), и выдавать его стоит осторожно.
Удаление необратимо
Вместе с аккаунтом пропадают покупки, история, скины и баланс. Если человек попросил «удалите меня», а через неделю передумал, восстанавливать будет неоткуда, кроме бэкапа.
Скины и плащи
Игрок загружает их сам в кабинете, администратор может сделать это за него из карточки. Право user.cabinet.skin разрешает обычный скин, а user.cabinet.skin.hd открывает HD. То же для плащей. Оба HD-права удобно продавать через донат-права.
Файлы лежат в папке storage рядом с проектом, не в базе. При переезде сервера её надо перенести отдельно.
Создание аккаунта из консоли
Первого администратора и любые сервисные учётки удобнее заводить командой:
pnpm --filter unicore-server exec node dist/cli/main.js user-create Ник почта пароль trueПоследний аргумент — суперпользователь. Если он не нужен, просто не указывайте.