API Документація
Базовий URL
https://gghost.fun/api
Аутентифікація
Більшість API endpoints вимагають аутентифікації через сесійні cookies.
Авторизуйтеся через POST /api/auth/login
перед використанням захищених endpoints.
Основні Endpoints
Авторизація
POST /api/auth/login
Вхід в систему. Параметри: email, password
POST /api/auth/register
Реєстрація нового користувача. Параметри: email, password, name
GET /api/auth/me
Отримати інформацію про поточного користувача
Сервери
GET /api/servers
Отримати список серверів поточного користувача
GET /api/servers/:id
Отримати інформацію про конкретний сервер. Query параметр: ?skipStatusCheck=true
POST /api/servers/:id/start
Запустити сервер
POST /api/servers/:id/stop
Зупинити сервер
POST /api/servers/:id/restart
Перезапустити сервер
GET /api/servers/:id/console-logs
Отримати логи консолі сервера
Налаштування сервера
GET /api/servers/:id/settings
Отримати налаштування сервера
POST /api/servers/:id/settings/name
Змінити назву сервера. Body: { serverName }
POST /api/servers/:id/settings/map
Змінити карту. Body: { map }
POST /api/servers/:id/settings/maxplayers
Змінити кількість слотів. Body: { maxPlayers, calculatedCost }
Консоль та гравці
POST /api/servers/:id/console
Відправити команду в консоль. Body: { command }
GET /api/servers/:id/players
Отримати список гравців на сервері
GET /api/servers/:id/maps
Отримати список доступних карт
Файли
GET /api/servers/:id/files/list
Отримати список файлів. Query: ?path=/path/to/directory
GET /api/servers/:id/files/read
Прочитати файл. Query: ?path=/path/to/file
POST /api/servers/:id/files/write
Записати файл. Body: { path, content }
Формат відповіді
API повертає дані у форматі JSON. У разі помилки повертається об'єкт з полем error.
{
"success": true,
"data": { ... }
}
// Помилка:
{
"error": "Повідомлення про помилку",
"details": "Деталі помилки (опціонально)"
}
Приклад використання
// JavaScript (fetch)
const response = await fetch('/api/v1/servers', {
credentials: 'include'
});
const servers = await response.json();
Більш детальну інформацію про API можна отримати, переглянувши вихідний код або звернувшись до підтримки.