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 можна отримати, переглянувши вихідний код або звернувшись до підтримки.