GameAP Daemon спецификация
Спецификация по компонентам сервера GameAP Daemon. Каждый из компонентов далее будет именоваться как сервер.
Командный сервер
Позволяет выполнять различные команды, включая команды операционной системы
Запрос
Первый элемент в списке Binn строки должен содержать код команды. Второй элеметр должен содержать выполняемую команду. Третий элемент должен содержать путь к рабочему каталогу.
Например:
Тип | Значение/Пример | Описание |
---|---|---|
uint8 | 1 | Код выполнения команды ОС |
string | whoami | Команда |
string | /srv/gameap | Рабочий каталог |
Ответ
В ответе содержитс код выполнения команды GameAP Daemon, код выполнения команды ОС (exit code) и результат выполнения команды.
Ответ с данными
Тип | Описание |
---|---|
uint | Код |
int32 | Код результата выполнения команды (exit status) |
string | Результат выполнения команды |
Коды ответов демона
Код | Описание |
---|---|
1 | Общая ошибка |
2 | Критическая ошибка |
3 | Неизвестная команда |
100 | Успешное выполнение команды |
Файловый сервер
Сервер обменивается с клиентом данными Binn List
Запрос
Первый элемент в списке Binn строки должен содержать код команды (чтение директории, удаление файла и т.п.).
Например, чтение каталога:
Тип | Значение/Пример | Описание |
---|---|---|
uint8 | 4 | Код чтения директории |
string | /home/gameap | Каталог |
string | /home/gameap | Каталог |
uint8 | 1 | Режим чтения (0 - только список файлов/директорий, 1 - подробный список с информацией о размере файлов, даты модификации и пр.) |
Ответ
Простой ответ
Простой ответ сервера содержит код (100 в случае успеха) и сообщение.
Тип | Описание |
---|---|
uint | Код |
string | Сообщение |
Ответ с данными
Ответ с данными, например списоком файлов в директории.
Тип | Описание |
---|---|
uint | Код |
string | Сообщение |
mixed | Данные |
Коды ответов
Код | Описание |
---|---|
1 | Общая ошибка |
2 | Критическая ошибка |
3 | Неизвестная команда |
100 | Успешное выполнение команды |
101 | Готовность к отправке/получению файла |
Скачивание/загрузка файлов
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 3 |
uint8 | Режим (1 - скачивание с сервера, 2 - загрузка на сервер) | 1 |
string | Файл | /home/gameap/file.txt |
Ответ
При отправке файла, сервер вернёт вам простой ответ с результатами выполнения команды. После успешного ответа сервер будет готов для отправки/получения файла.
При получении файла, сервер вернёт ответ
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 101 |
string | Сообщение | “File sending ready” |
uint64 | Размер файла (байт) | 282345 |
Листинг файлов в каталоге
Получение списка файлов в директории. Есть несколько режимов чтения – простой, получение только списка файлов/директорий и подробный с получением данных о размере файлов, даты модификации и т.д.
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код чтения каталога | 4 |
string | Каталог | /home/gameap |
uint8 | Режим (0 - простой, 1 - подробный) | 1 |
Ответ
Массив с данными
Тип | Описание |
---|---|
string | Имя файла |
uint64 | Размер файла (байт) |
uint64 | Дата модификации (timestamp) |
uint8 | Тип (1 - каталог, 2 - файл, символическая ссылка, socket, pipe) |
uint16 | Привилегии. В числовом виде (например 755) |
Создание каталога
Создать новый каталог
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код чтения каталога | 5 |
string | Каталог | /home/gameap/new_dir |
Ответ
Сервер вернёт вам простой ответ с результатами выполнения команды.
Перемещение/копирование
Перемещение или копирование каталога/директории
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 6 |
string | Текущий путь | /home/gameap/old_file.txt |
string | Новый путь | /home/gameap/new_file.txt |
boolean | Копирование (true/false). Если false, то файл будет перемещён. Если true, то файл будет скопирован. |
true |
Ответ
Сервер вернёт простой ответ с результатами выполнения команды.
Удаление
Удаление файла/директории
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 7 |
string | Путь к файлу, каталогу | /home/gameap/delete_file.txt |
bool | Рекурсивное удаление каталога | false |
Ответ
Сервер вернёт простой ответ с результатами выполнения команды.
Подробная информация о файле
Получение развёрнутой информации об одном файле (даты создания, даты модификации, даты последнего доступа, mime и прочего).
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 8 |
string | Путь к файлу, каталогу | /home/gameap/file.txt |
Ответ
Ответ с данными
Тип | Описание |
---|---|
string | Имя файла |
uint64 | Размер файла (байт) |
uint8 | Тип 1 - каталог; 2 - файл; 3 - character device; 4 - block device; 5 - named pipe; 6 - символическая ссылка; 7 - сокет; 0 - неизвестно |
uint64 | Дата модификации (timestamp) |
uint64 | Дата доступа (timestamp) |
uint64 | Дата создания (timestamp) |
uint16 | Привилегии |
string | Mime |
Изменение привелегий
Изменение привилегий на файл
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 9 |
string | Путь к файлу, каталогу | /home/gameap/file.txt |
uint16 | Новые привилегии | 0755 |
Ответ
Сервер вернёт простой ответ с результатами выполнения команды.
Статус сервер
Позволяет получать различные сведения о работе демона, такие как: список ожидающих и выполняемых задач, список игровых серверов онлайн и т.д.
Запрос
Первый элемент в списке Binn строки должен содержать код команды.
Например:
Тип | Значение/Пример | Описание |
---|---|---|
uint8 | 2 | Базовые сведения о работе демона |
Ответ
Ответ с данными
Ответ с данными, например списоком файлов в директории.
Тип | Описание |
---|---|
uint | Код |
string | Сообщение |
… | Данные |
… | Данные |
… | Данные |
Коды ответов
Код | Описание |
---|---|
1 | Общая ошибка |
2 | Критическая ошибка |
3 | Неизвестная команда |
100 | Успешное выполнение команды |
Версия Daemon
Получение сведений о номере версии GameAP Daemon и дате компиляции.
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 1 |
Ответ
Тип | Описание |
---|---|
uint | Код |
string | Сообщение |
string | Номер версии GameAP Daemon |
string | Дата и время компиляции |
Базовые данные о работе
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 2 |
Ответ
Тип | Описание |
---|---|
uint | Код |
string | Сообщение |
uint32 | Uptime GameAP Daemon |
uint32 | Количество выполняющихся заданий |
uint32 | Количество ожидающих заданий |
uint32 | Количество работающих игровых серверов (онлайн) |
Подробные данные о работе
Запрос
Тип | Описание | Значение/Пример |
---|---|---|
uint8 | Код | 3 |
Ответ
Тип | Описание |
---|---|
uint | Код |
string | Сообщение |
uint32 | Uptime GameAP Daemon |
list | Список ID выполняющихся заданий |
list | Список ID ожидающих заданий |
list | Список ID работающих игровых серверов (онлайн) |