Castles:Защита серверов/API защиты серверов: различия между версиями
Swidh (обсуждение | вклад) м |
Swidh (обсуждение | вклад) м |
||
| Строка 42: | Строка 42: | ||
} | } | ||
} | } | ||
Возвращаемые ошибки: | Возвращаемые ошибки: | ||
* HTTP 400 Request must contain a valid IP. | * HTTP 400 Request must contain a valid IP. | ||
| Строка 96: | Строка 96: | ||
Тело запроса: | Тело запроса: | ||
{ | { | ||
"game":"ark", | |||
"ports": { | |||
"game": 27020, | |||
"query": 27015, | |||
"rcon": 27100 | |||
}, | |||
"enduser": "uid=123" | |||
} | } | ||
Версия 17:37, 26 октября 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>
Пример тестового токена: nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V
Работа с игровыми серверами
Просмотр данных сервера
GET [baseUrl]/[project]/v2/<ip_address>/<main_port>
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://api.castles.pro/arkhoster/v2/89.22.249.11/27020 -k -v
Пример ответа:
{
"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>
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://api.castles.pro/arkhoster/v2/89.22.249.11 -k -v
Пример ответа:
[
{
"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"
}
Пример запроса:
curl -d '{"game":"ark","ports":{"game":27020,"query":27015,"rcon":27100},"enduser":"uid=123"}' -H "Content-Type: application/json" -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X POST https://api.castles.pro/arkhoster/v2/89.22.249.11 -k -v
Пример ответа:
{
"game": "ark",
"ipAddress": "89.22.249.11",
"enduser": "uid=123",
"ports": {
"query": "27015",
"game": "27020",
"rcon": "27100"
},
"protection": {
"status": "online",
"address": "89.22.249.11/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>
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X DELETE https://api.castles.pro/arkhoster/v2/89.22.249.11/27020 -k -v
Пример ответа:
{
"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
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://api.castles.pro/arkhoster/v2/games -k -v
Пример ответа:
[
{
"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
Пример запроса:
curl -H "Authorization: Bearer nv73MHPHw3!eEVzuHAlAhSZH/CenIgAN=/eccBIuK2AlwHF4aYSrsV3EZnMkmo-V" -X GET https://api.castles.pro/arkhoster/v2/network -k -v
Пример ответа:
[ "10.10.10.1/24", "15.15.15.1/24" ]