Роутер admin объединяет все административные операции. Все процедуры требуют права admin.*. Путь: trpc.admin.*

Вложенные роутеры

РоутерПутьОписание
statsadmin.stats.*Статистика дашборда (пользователи, серверы, новости, онлайн)
playersadmin.players.*Управление игроками (список, бан, редактирование)
privilegesadmin.privileges.*Группы привилегий и права доступа
rulesadmin.rules.*Правила сервера
serversadmin.servers.*Управление Minecraft серверами
newsadmin.news.*Управление новостями
settingsadmin.settings.*Настройки сайта
logsadmin.logs.*Логи действий администраторов
analyticsadmin.analytics.*Аналитика (ClickHouse)
crashReportsadmin.crashReports.*Отчёты об ошибках
votesadmin.votes.*Система голосований
storageadmin.storage.*Управление файловым хранилищем
updatesadmin.updates.*Проверка и установка обновлений
shopadmin.shop.*Управление магазином (товары, категории)
ticketsadmin.tickets.*Тикеты поддержки
navigationadmin.navigation.*Навигация сайта (меню)

admin.stats

Статистика для дашборда админ-панели.

stats.getStats

Получение сводной статистики.
  • Тип: query
  • Доступ: adminProcedure
Ответ:
totalUsers
number
Общее количество пользователей
activeServers
number
Количество серверов
publishedNews
number
Количество новостей
onlinePlayers
number
Текущий онлайн на серверах

admin.players

Управление игроками.

players.list

Список пользователей с пагинацией и фильтрами.
  • Тип: query
  • Доступ: adminProcedure
Поиск по имени или email
status
string
default:"all"
Фильтр: all, active, banned, unverified
limit
number
default:"20"
Количество (от 1 до 100, по умолчанию 20)
offset
number
default:"0"
Смещение

players.get

Получение подробной информации о пользователе.
  • Тип: query
  • Доступ: adminProcedure
id
number
required
ID пользователя

players.ban

Блокировка пользователя.
  • Тип: mutation
  • Доступ: adminProcedure
userId
number
required
ID пользователя
reason
string
required
Причина блокировки

players.unban

Разблокировка пользователя.
  • Тип: mutation
  • Доступ: adminProcedure
userId
number
required
ID пользователя
reason
string
Причина разблокировки (опционально)

admin.settings

Управление настройками сайта.

settings.list

Получение всех настроек.
  • Тип: query
  • Доступ: adminProcedure
Ответ: массив объектов настроек (с полями key, value, category и др.), отсортированный по категории и ключу. Поле value парсится из JSON, если возможно.

settings.update

Обновление одной настройки.
  • Тип: mutation
  • Доступ: adminProcedure
key
string
required
Ключ настройки
value
any
required
Новое значение (строка, число, булево, массив или объект)

settings.bulkUpdate

Массовое обновление настроек.
  • Тип: mutation
  • Доступ: adminProcedure
body
array
required
Массив объектов { key, value } для обновления
Полный список настроек и их описание — в разделе Настройки сайта.

admin.updates

Проверка и установка обновлений CMS.

updates.currentVersion

Получение текущей версии из version.json.
  • Тип: query
  • Доступ: adminProcedure
Ответ:
version
string
Текущая версия (например, 1.0.8)
channel
string
Канал обновлений (stable)

updates.check

Проверка наличия обновлений через verification server.
  • Тип: query
  • Доступ: adminProcedure
Ответ:
hasUpdate
boolean
Доступно ли обновление
currentVersion
string
Текущая версия
latestVersion
string
Последняя доступная версия
downloadUrl
string
Ссылка на скачивание архива обновления
changelog
string
Список изменений
publishedAt
string
Дата публикации релиза
fileSize
string
Размер архива обновления
error
string
Текст ошибки (если есть)
Ошибки:
  • PRECONDITION_FAILEDLICENSE_KEY не задан в .env
  • FORBIDDEN — лицензия недействительна

updates.install

Установка обновления. Скачивает архив, обновляет файлы, запускает миграции и пересборку, перезапускает сервер.
  • Тип: mutation
  • Доступ: adminProcedure
version
string
required
Версия для установки
Ответ:
success
boolean
Успешность установки
previousVersion
string
Предыдущая версия
newVersion
string
Новая версия
message
string
Сообщение о результате
После успешной установки сервер автоматически перезапускается с задержкой 2 секунды. Способ перезапуска зависит от режима развёртывания (pm2, systemd или docker; по умолчанию pm2).

admin.servers

Управление Minecraft серверами.

servers.list

Список всех серверов (включая скрытые).
  • Тип: query
  • Доступ: adminProcedure

servers.create

Создание нового сервера.
  • Тип: mutation
  • Доступ: adminProcedure
name
string
required
Название сервера (от 1 до 100 символов)
description
string
Описание сервера
queryHost
string
Хост для опроса статуса (SLP)
queryPort
number
Порт для опроса статуса
version
string
Версия Minecraft
isVisible
boolean
default:"true"
Видимость сервера на сайте
icon
string
Иконка сервера
permissionProvider
string
Провайдер прав: none или luckperms
mods
array
Список модов (с вложенными submods)

servers.update

Обновление настроек сервера.
  • Тип: mutation
  • Доступ: adminProcedure

servers.delete

Удаление сервера.
  • Тип: mutation
  • Доступ: adminProcedure

admin.logs

Логи действий администраторов.

logs.list

Получение логов с пагинацией и фильтрами.
  • Тип: query
  • Доступ: adminProcedure
action
string
Фильтр по типу действия
targetType
string
Фильтр по типу объекта (user, server, news, privilege и др.)
adminId
number
Фильтр по администратору
search
string
Поиск по описанию действия
limit
number
default:"50"
Количество (от 1 до 100, по умолчанию 50)
offset
number
default:"0"
Смещение

admin.news

Управление новостями.

news.list

Список новостей с пагинацией.
  • Тип: query
  • Доступ: adminProcedure

news.create

Создание новости.
  • Тип: mutation
  • Доступ: adminProcedure
title
string
required
Заголовок (от 1 до 255 символов)
slug
string
required
URL-идентификатор (от 1 до 255 символов)
content
string
required
Содержимое
excerpt
string
Краткое описание
coverImage
string
Обложка
isPublished
boolean
default:"false"
Опубликовать сразу

news.update

Обновление новости.
  • Тип: mutation
  • Доступ: adminProcedure

news.publish

Публикация новости.
  • Тип: mutation
  • Доступ: adminProcedure
id
number
required
ID новости

news.unpublish

Снятие новости с публикации.
  • Тип: mutation
  • Доступ: adminProcedure
id
number
required
ID новости

news.delete

Удаление новости.
  • Тип: mutation
  • Доступ: adminProcedure