Castles:Защита серверов/API защиты серверов: различия между версиями
Swidh (обсуждение | вклад) |
Swidh (обсуждение | вклад) |
||
Строка 88: | Строка 88: | ||
'''POST [baseUrl]/[project]/<ip_address>''' | '''POST [baseUrl]/[project]/<ip_address>''' | ||
Тело запроса: | Тело запроса: | ||
Пример запроса: | "game":"ark", | ||
"ports": { | |||
"game": 27020, | |||
"query": 27015, | |||
"rcon": 27100 | |||
}, | |||
"enduser": "uid=123" | |||
Пример запроса: https://api.castles.pro/myhost/v2/10.10.10.5 | |||
Пример ответа: | Пример ответа: | ||
"game": "ark", | |||
"ipAddress": "10.10.10.5", | |||
"enduser": "uid=123", | |||
"ports": { | |||
"query": "27015", | |||
"game": "27020", | |||
"rcon": "27100" | |||
}, | |||
"protection": { | |||
"status": "online", | |||
"address": "10.10.10.5/27020", | |||
"additional": "query:27015, rcon:27100", | |||
"comment": "Защита игрового сервера" | |||
} | |||
Возвращаемые ошибки: | Возвращаемые ошибки: | ||
* HTTP 400 Request must contain a valid IP. | |||
* HTTP 400 The game field is required. | |||
* HTTP 400 The ports[] field is required. | |||
* HTTP 400 Game not found. | |||
* HTTP 400 The <port_id> port is required. | |||
* HTTP 400 The <port_id> port must be in the range 1-65535. | |||
* HTTP 400 The <ip>:<port> is overlaps with current servers. | |||
* HTTP 503 Service Unavailable | |||
== Удаление сервера из под защиты == | == Удаление сервера из под защиты == |
Версия 21:09, 25 октября 2023
Castles Pro - API защиты серверов
<< Castles:Защита серверов
| К концу статьи | Предыдущая глава: Поддерживаемые игры | Короткая ссылка
Основные параметры
[baseUrl]: Главный URL сервиса (https://api.castles.pro)
[project]: Идентификатор проекта (выдается сервисом при подключении, например myhost)
<token>: Токен доступа к сервисам (выдается сервисом при подключении)
<ip_address>: IP-адрес игрового сервера (например 10.10.10.5)
<main_port>: Главный порт игрового сервера (см. колонку "Основной (адресный) порт" в Поддерживаемые игры)
Доступ и авторизация
Authorization: Bearer <token>
Работа с игровыми серверами
Просмотр данных сервера
GET [baseUrl]/[project]/v2/<ip_address>/<main_port>
Пример запроса: https://api.castles.pro/myhost/v2/10.10.10.5/27020
Пример ответа:
"game": "ark", "ipAddress": "10.10.10.5", "enduser": "uid=123", "ports": { "query": "27015", "game": "27020", "rcon": "27100" }, "protection": { "status": "online", "address": "10.10.10.5/27020", "additional": "query:27015, rcon:27100", "comment": "Защита игрового сервера" }
Возвращаемые ошибки:
- HTTP 400 Request must contain a valid IP.
- HTTP 400 The port must be in the range 1-65535.
- HTTP 404 Server not found.
Просмотр данных всех серверов на IP-адресе
GET [baseUrl]/[project]/v2/<ip_address>
Пример запроса: https://api.castles.pro/myhost/v2/10.10.10.5
Пример ответа:
{ "game": "ark", "ipAddress": "10.10.10.5", "enduser": "uid=123", "ports": { "query": "27015", "game": "27020", "rcon": "27100" }, "protection": { "status": "online", "address": "10.10.10.5/27020", "additional": "query:27015, rcon:27100", "comment": "Защита игрового сервера" } }, { "game": "arma3", "ipAddress": "10.10.10.5", "enduser": "uid=123", "ports": { "game": "29020", "query": "29015", "rcon": "29100" }, "protection": { "status": "deleted", "address": "10.10.10.5/29020", "additional": "query:29015, rcon:29100", "comment": "Защита игрового сервера" } }
Возвращаемые ошибки:
- HTTP 400 Request must contain a valid IP.
Добавление сервера под защиту
POST [baseUrl]/[project]/<ip_address>
Тело запроса:
"game":"ark", "ports": { "game": 27020, "query": 27015, "rcon": 27100 }, "enduser": "uid=123"
Пример запроса: https://api.castles.pro/myhost/v2/10.10.10.5
Пример ответа:
"game": "ark", "ipAddress": "10.10.10.5", "enduser": "uid=123", "ports": { "query": "27015", "game": "27020", "rcon": "27100" }, "protection": { "status": "online", "address": "10.10.10.5/27020", "additional": "query:27015, rcon:27100", "comment": "Защита игрового сервера" }
Возвращаемые ошибки:
- HTTP 400 Request must contain a valid IP.
- HTTP 400 The game field is required.
- HTTP 400 The ports[] field is required.
- HTTP 400 Game not found.
- HTTP 400 The <port_id> port is required.
- HTTP 400 The <port_id> port must be in the range 1-65535.
- HTTP 400 The <ip>:<port> is overlaps with current servers.
- HTTP 503 Service Unavailable
Удаление сервера из под защиты
DELETE [baseUrl]/[project]/v2/<ip_address>/<main_port>
Пример запроса: https://api.castles.pro/myhost/v2/10.10.10.5/27020
Пример ответа:
"status": true
Возвращаемые ошибки:
- HTTP 400 Request must contain a valid IP.
- HTTP 400 The port must be in the range 1-65535.
- HTTP 404 Server not found.
- HTTP 503 Service Unavailable
Справочники
Поддерживаемые игры
GET [baseUrl]/[project]/v2/games
Пример запроса: https://api.castles.pro/myhost/v2/games
Пример ответа:
{ "id": "7dtd", "name": "7 Days to Die", "main_port_id": "game" }, { "id": "ark", "name": "ARK: Survival Evolved", "main_port_id": "game" }, { "id": "arma3", "name": "Arma 3", "main_port_id": "game" },
Перечень обслуживаемых подсетей
GET [baseUrl]/[project]/v2/network
Пример запроса: https://api.castles.pro/myhost/v2/network
Пример ответа:
"10.10.10.1/24", "15.15.15.1/24"