API серверов
Эндпоинты для управления серверами в системе.
Получение списка серверов
Получение полного списка серверов.
Запрос
GET /api/serversЗаголовки
| Название | Тип | Описание |
|---|---|---|
| X-API-Key | string | Обязательный. API ключ |
Ответ
{
"servers": [
{
"id": 1,
"name": "Server #1",
"ip": "192.168.1.1",
"port": 27015,
"enabled": true,
"game": "cs2"
},
{
"id": 2,
"name": "Server #2",
"ip": "192.168.1.2",
"port": 27015,
"enabled": false,
"game": "cs2"
}
]
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| servers | array | Массив серверов |
| id | integer | ID сервера |
| name | string | Имя сервера |
| ip | string | IP-адрес сервера |
| port | integer | Порт сервера |
| enabled | boolean | Статус активности сервера |
| game | string | Тип игры (cs2, csgo и т.д.) |
Коды ответов
| Код | Описание |
|---|---|
| 200 | Успешный запрос |
| 401 | Неверный API ключ или отсутствует |
| 403 | Недостаточно прав для выполнения запроса |
Получение данных сервера
Получение детальной информации о конкретном сервере.
Запрос
GET /api/servers/{id}Параметры пути
| Название | Тип | Описание |
|---|---|---|
| id | integer | ID сервера |
Заголовки
| Название | Тип | Описание |
|---|---|---|
| X-API-Key | string | Обязательный. API ключ |
Ответ
{
"server": {
"id": 1,
"name": "Server #1",
"ip": "192.168.1.1",
"port": 27015,
"enabled": true,
"game": "cs2",
"rcon_password": "********",
"created_at": "2023-01-01T00:00:00Z",
"updated_at": "2023-01-10T00:00:00Z",
"stats": {
"players_online": 20,
"max_players": 32,
"map": "de_dust2"
}
}
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| server | object | Объект сервера |
| id | integer | ID сервера |
| name | string | Имя сервера |
| ip | string | IP-адрес сервера |
| port | integer | Порт сервера |
| enabled | boolean | Статус активности сервера |
| game | string | Тип игры (cs2, csgo и т.д.) |
| rcon_password | string | Скрытый RCON пароль |
| created_at | string | Дата создания |
| updated_at | string | Дата обновления |
| stats | object | Статистика сервера |
Коды ответов
| Код | Описание |
|---|---|
| 200 | Успешный запрос |
| 401 | Неверный API ключ или отсутствует |
| 403 | Недостаточно прав для выполнения запроса |
| 404 | Сервер не найден |
Создание сервера
Создание нового сервера в системе.
Запрос
POST /api/serversЗаголовки
| Название | Тип | Описание |
|---|---|---|
| X-API-Key | string | Обязательный. API ключ |
| Content-Type | string | Обязательный. application/json |
Тело запроса
{
"name": "New Server",
"ip": "192.168.1.3",
"port": 27015,
"enabled": true,
"game": "cs2",
"rcon_password": "securepassword"
}Параметры тела запроса
| Название | Тип | Описание |
|---|---|---|
| name | string | Обязательный. Имя сервера |
| ip | string | Обязательный. IP-адрес сервера |
| port | integer | Обязательный. Порт сервера |
| enabled | boolean | Необязательный. Статус активности |
| game | string | Обязательный. Тип игры |
| rcon_password | string | Обязательный. RCON пароль |
Ответ
{
"message": "Server created successfully",
"server": {
"id": 3,
"name": "New Server",
"ip": "192.168.1.3",
"port": 27015,
"enabled": true,
"game": "cs2",
"created_at": "2023-03-15T12:00:00Z"
}
}Коды ответов
| Код | Описание |
|---|---|
| 201 | Сервер успешно создан |
| 401 | Неверный API ключ или отсутствует |
| 403 | Недостаточно прав для выполнения запроса |
| 422 | Неверные параметры запроса |
Обновление сервера
Обновление данных существующего сервера.
Запрос
PUT /api/servers/{id}Параметры пути
| Название | Тип | Описание |
|---|---|---|
| id | integer | ID сервера |
Заголовки
| Название | Тип | Описание |
|---|---|---|
| X-API-Key | string | Обязательный. API ключ |
| Content-Type | string | Обязательный. application/json |
Тело запроса
{
"name": "Updated Server",
"ip": "192.168.1.3",
"port": 27016,
"enabled": true,
"game": "cs2",
"rcon_password": "newsecurepassword"
}Параметры тела запроса
| Название | Тип | Описание |
|---|---|---|
| name | string | Необязательный. Имя сервера |
| ip | string | Необязательный. IP-адрес сервера |
| port | integer | Необязательный. Порт сервера |
| enabled | boolean | Необязательный. Статус активности |
| game | string | Необязательный. Тип игры |
| rcon_password | string | Необязательный. RCON пароль |
Ответ
{
"message": "Server updated successfully",
"server": {
"id": 3,
"name": "Updated Server",
"ip": "192.168.1.3",
"port": 27016,
"enabled": true,
"game": "cs2",
"updated_at": "2023-03-16T14:30:00Z"
}
}Коды ответов
| Код | Описание |
|---|---|
| 200 | Сервер успешно обновлен |
| 401 | Неверный API ключ или отсутствует |
| 403 | Недостаточно прав для выполнения запроса |
| 404 | Сервер не найден |
| 422 | Неверные параметры запроса |
Удаление сервера
Удаление сервера из системы.
Запрос
DELETE /api/servers/{id}Параметры пути
| Название | Тип | Описание |
|---|---|---|
| id | integer | ID сервера |
Заголовки
| Название | Тип | Описание |
|---|---|---|
| X-API-Key | string | Обязательный. API ключ |
Ответ
{
"message": "Server deleted successfully"
}Коды ответов
| Код | Описание |
|---|---|
| 200 | Сервер успешно удален |
| 401 | Неверный API ключ или отсутствует |
| 403 | Недостаточно прав для выполнения запроса |
| 404 | Сервер не найден |
Включение/отключение сервера
Изменение статуса активности сервера.
Запрос
POST /api/servers/{id}/toggleПараметры пути
| Название | Тип | Описание |
|---|---|---|
| id | integer | ID сервера |
Заголовки
| Название | Тип | Описание |
|---|---|---|
| X-API-Key | string | Обязательный. API ключ |
Ответ
{
"message": "Server enabled successfully",
"enabled": true
}или
{
"message": "Server disabled successfully",
"enabled": false
}Коды ответов
| Код | Описание |
|---|---|
| 200 | Статус сервера успешно изменен |
| 401 | Неверный API ключ или отсутствует |
| 403 | Недостаточно прав для выполнения запроса |
| 404 | Сервер не найден |