Сайт с документацией публичного API lemicraft.ru. Доступен по адресу: https://lemicraft.ru/api-reference
Построен на Nuxt 4 + Scalar - интерактивный UI генерируется из файла public/openapi.yaml
- Nuxt 4 - SSR / Node-сервер
- Scalar - рендер OpenAPI-спецификации
- PM2 - управление процессом на сервере
- GitHub Actions - автодеплой при пуше в
main
pnpm install
pnpm devОткроется на http://localhost:3002
Деплой происходит автоматически при пуше в ветку main через GitHub Actions:
- Сборка Nuxt (
pnpm build) - Копирование
.output/на сервер по SCP - Перезапуск PM2
Для работы workflow нужно добавить следующие секреты в настройках репозитория (Settings → Secrets):
| Секрет | Описание |
|---|---|
DEPLOY_HOST |
IP или домен сервера |
DEPLOY_USER |
SSH-пользователь |
DEPLOY_KEY |
Приватный SSH-ключ |
DEPLOY_PORT |
SSH-порт |
DEPLOY_PATH |
Путь на сервере до папки проекта |
Вся документация хранится в одном файле - public/openapi.yaml
После изменений достаточно сделать пуш в main, деплой произойдёт автоматически
Полная документация с примерами запросов: https://lemicraft.ru/api-reference
Базовый URL: https://lemicraft.ru/api
Большинство эндпоинтов требуют API-ключ, который игрок может сгенерировать в настройках аккаунта. Ключ передаётся в заголовке:
Authorization: Bearer <ваш_ключ>
Без ключа доступны эндпоинты разделов Лаунчер, Сервер и Моды (лимит: 60 запросов/мин по IP) С ключом - все эндпоинты (лимит: 300 запросов/мин)
| Раздел | Эндпоинты | Без ключа |
|---|---|---|
| Игроки | /players, /players/{nick}, /avatar/{nick}, /skin/{nick}, /skin/image/{nick}, /plan/{nick} |
✗ |
| Сервер | /server-stats |
✓ |
| Лаунчер | /launcher/version, /launcher/modpack/version, /launcher/news |
✓ |
| Моды | /mods, /resourcepacks, /shaders |
✓ |
| Контент | /news, /gallery, /posts, /posts/{id} |
✗ |
| Сообщество | /petitions, /court, /court/{id}, /court/messages/{id} |
✗ |