Каждый пользователь должен быть авторизирован для получения уникального токена.Серверы не пропустят запрос, если токена нет или он неверный.Также в токен вшита информация об игре и игроке.
Регистрация нового пользователя в системе с указанием уникального email и пароля. После успешной регистрации возвращаются токены.
https://multiplayer-servers.ascenmmo.com/api/v1/devToolsClient/signUp
POST
Content-Type: application/json
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"client": {
"additional": {},
"email": "string",
"gameID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nickname": "string",
"password": "string"
}
}
}
Поле 'email' должно быть уникальным. Если email используется повторно, возвращается ошибка. Дополнительную информацию можно передавать в формате JSON в поле 'additional'.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"refresh": "string",
"token": "string"
}
}
При успешной регистрации возвращаются два поля: 'token' и 'refresh'. Эти токены следует сохранить для последующего использования в заголовках запросов.
Авторизация пользователя с использованием email и пароля. После успешной авторизации возвращаются токены.
https://multiplayer-servers.ascenmmo.com/api/v1/devToolsClient/signIn
POST
Content-Type: application/json
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"client": {
"additional": {},
"email": "string",
"gameID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nickname": "string",
"password": "string"
}
}
}
Передайте email и пароль для авторизации. В случае успеха вернутся токены.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"refresh": "string",
"token": "string"
}
}
Возвращаются 'token' и 'refresh', которые необходимо использовать для дальнейших запросов.
Данный метод используется для обновления токенов доступа и обновления. Необходимо передать текущие токены в заголовках запроса. В теле запроса нет дополнительных параметров.
Запрос на обновление токенов доступа и обновления. Требуется токен и refresh токен в заголовках.
/api/v1/devToolsClient/refreshToken
POST
Token: ваш токен RefreshToken: ваш refresh токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
В теле запроса нет дополнительных параметров, просто передайте пустой объект в 'params'.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"newRefresh": "string",
"newToken": "string"
}
}
В ответе возвращаются новые токены: 'newRefresh' и 'newToken'. Эти токены следует сохранить и использовать для дальнейших запросов.
Этот метод используется для получения информации о клиенте на основе идентификатора игры (gameID). Запрос требует наличие токена в заголовке для авторизации. В ответе возвращаются данные клиента, такие как email, nickname, gameID, а также дополнительная информация.
Запрос на получение информации о клиенте по его gameID. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsClient/getClient
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"gameID": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
В теле запроса передается идентификатор игры (gameID). Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"client": {
"additional": {},
"email": "string",
"gameID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"nickname": "string",
}
}
}
В ответе возвращается объект клиента, который содержит email, gameID, nickname и дополнительную информацию в поле 'additional'.
Данный метод используется для обновления информации о клиенте. Необходимо передать токен в заголовке запроса и объект клиента в теле запроса. Объект клиента может включать новый пароль, если он требуется.
Запрос на обновление данных клиента. Требуется токен в заголовке и объект клиента в теле.
/api/v1/devToolsClient/updateClient
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"client": {
"additional": {},
"email": "string",
"nickname": "string",
"password": "string",
"newPassword": "string"
}
}
}
В теле запроса передается объект клиента, который включает поля: - `additional`: дополнительная информация (может быть пустым объектом) - `email`: новый email клиента - `nickname`: новый nickname клиента - `password`: текущий пароль клиента (для проверки) - `newPassword`: новый пароль клиента (если требуется изменить).
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
При успешном обновлении возвращается объект, содержащий поля: - `id`: идентификатор запроса, который совпадает с тем, что был отправлен. - `jsonrpc`: версия JSON-RPC, которая также совпадает с той, что была отправлена. - `result`: пустой объект, подтверждающий успешное выполнение запроса. Этот объект указывает на то, что данные клиента были успешно обновлены.
Данный метод используется для получения сохранений игры. Необходимо передать токен в заголовке запроса и пустое тело запроса в формате JSON-RPC.
Запрос на получение сохранений игры. Требуется токен в заголовке и пустое тело запроса.
/api/v1/devToolsClient/getGameSaves
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
В теле запроса передается пустой объект `params` в формате JSON-RPC: - `id`: идентификатор запроса - `jsonrpc`: версия JSON-RPC - `params`: пустой объект
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"gameSaves": {
"saves": {}
}
}
}
В случае успешного выполнения возвращается объект с полями: - `id`: идентификатор запроса, совпадающий с отправленным - `jsonrpc`: версия JSON-RPC - `result`: объект, содержащий сохранения игры - `gameSaves`: объект с данными сохранений
Данный метод используется для сохранения данных игры. Необходимо передать токен в заголовке запроса и объект с сохранениями в теле запроса.
Запрос на сохранение данных игры. Требуется токен в заголовке и объект с сохранениями в теле запроса.
/api/v1/devToolsClient/setGameSaves
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"gameSaves": {
"saves": {
"FirstSave": {"location": "loc1", "health": 100}
}
}
}
}
В теле запроса передается объект `gameSaves`, который включает: - `saves`: объект с данными сохранений игры. Пример: - `FirstSave`: содержит сохранение с полями: - `location`: местоположение сохранения - `health`: состояние здоровья
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
При успешном выполнении запроса возвращается пустой объект `result`, указывающий на успешное сохранение данных.
Данный метод используется для удаления данных сохранений игры. Необходимо передать токен в заголовке запроса и пустое тело запроса в формате JSON-RPC.
Запрос на удаление сохранений игры. Требуется токен в заголовке и пустое тело запроса.
/api/v1/devToolsClient/deleteGameSaves
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
В теле запроса передается пустой объект `params` в формате JSON-RPC: - `id`: идентификатор запроса - `jsonrpc`: версия JSON-RPC - `params`: пустой объект
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
При успешном выполнении запроса возвращается пустой объект `result`, который подтверждает, что сохранения были удалены.
Игра с таким ID не найдена. Проверьте введенный идентификатор игры и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "error game not found"
}
}
Клиент с таким именем уже существует. Пожалуйста, используйте другое имя.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "error creating client"
}
}
Клиент с таким идентификатором не найден. Проверьте правильность данных для входа и повторите попытку.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "error client not found"
}
}
Этот метод используется для создания новой комнаты в игре. Запрос требует наличие токена в заголовке для авторизации. В ответе возвращается новый токен, который может быть использован для последующих запросов.
Запрос на создание новой комнаты для игры. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsConnections/createRoom
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"name": "string"
}
}
В теле запроса передается имя комнаты (name). Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"newToken": "string"
}
}
В ответе возвращается новый токен, который может быть использован для последующих запросов.
Этот метод используется для получения информации о комнате текущего пользователя. Запрос требует наличие токена в заголовке для авторизации. В ответе возвращаются данные комнаты, включая информацию о соединениях, времени создания, серверах и другие параметры.
Запрос на получение информации о комнате текущего пользователя. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsConnections/getMyRoom
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
Тело запроса пустое, так как данные извлекаются для текущего авторизованного пользователя. Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"connections": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"created_at": 0,
"creator_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"gameID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"servers": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
}
В ответе возвращаются данные комнаты, включая идентификаторы, имя, информацию о соединениях, времени создания и серверах.
Этот метод используется для получения информации о всех комнатах в системе. Запрос требует наличие токена в заголовке для авторизации. В ответе возвращается список всех доступных комнат с их данными.
Запрос на получение информации о всех комнатах в системе. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsConnections/getRoomsAll
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
Тело запроса пустое, так как данные извлекаются без необходимости указания дополнительных параметров. Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"rooms": [
{
"connections": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"createdAt": 0,
"creatorID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"existsServers": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
],
"gameID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"isExists": true,
"name": "string",
"roomCode": "string",
"servers": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
]
}
}
В ответе возвращается массив объектов, каждый из которых представляет комнату. Поля комнаты включают идентификаторы, имя, код комнаты (roomCode), информацию о соединениях, серверах и статусе существования.
Этот метод используется для присоединения к комнате на основе ее идентификатора. Запрос требует наличие токена в заголовке для авторизации. В ответе возвращается новый токен, содержащий информацию о комнате.
Запрос на присоединение к комнате по ее идентификатору. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsConnections/joinRoomByID
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"roomID": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
В теле запроса передается идентификатор комнаты (roomID). Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"newToken": "string"
}
}
В ответе возвращается новый токен, который содержит информацию о комнате и подключенном клиенте.
Этот метод используется для присоединения к комнате на основе ее кода. Запрос требует наличие токена в заголовке для авторизации. В ответе возвращается новый токен, содержащий информацию о комнате.
Запрос на присоединение к комнате по ее уникальному коду. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsConnections/joinRoomByRoomCode
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"roomCode": "string"
}
}
В теле запроса передается уникальный код комнаты (roomCode). Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"newToken": "string"
}
}
В ответе возвращается новый токен, который содержит информацию о комнате и подключенном клиенте.
Этот метод используется для удаления комнаты по ее идентификатору. Удаление может быть выполнено только создателем комнаты. Запрос требует наличие токена в заголовке для авторизации.
Запрос на удаление комнаты по ее идентификатору. Удаление доступно только для создателя комнаты и требует авторизации с помощью токена.
/api/v1/devToolsConnections/removeRoomByID
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"roomID": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
В теле запроса передается идентификатор комнаты (roomID), которую необходимо удалить. Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
В ответе не возвращаются данные, что подтверждает успешное выполнение операции удаления.
Этот метод используется для выхода из указанной комнаты. Запрос требует наличие токена в заголовке для авторизации.
Запрос на выход из комнаты по ее идентификатору. Запрос должен быть авторизован с помощью токена.
/api/v1/devToolsConnections/leaveRoom
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"roomID": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
В теле запроса передается идентификатор комнаты (roomID), которую необходимо покинуть. Необходимо указать токен в заголовке для авторизации запроса.
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
В ответе возвращается пустой объект, подтверждающий успешный выход из комнаты.
Этот метод используется для получения адресов подключения пользователей к серверам после создания комнаты. Сервер распределяет пользователей по серверам и возвращает адреса подключения. Запрос не требует дополнительных параметров, но требует наличие токена в заголовке для авторизации.
Запрос на получение адресов подключения к серверам, куда будут распределены пользователи созданной комнаты. Этот метод аналогичен балансировке нагрузки между серверами.
/api/v1/devToolsConnections/getRoomsConnectionUrls
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
В теле запроса не требуется передавать параметры, но необходимо указать токен в заголовке для авторизации.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"connectionsServer": [
{
"address": "string",
"connectionPort": "string",
"fullURL": "string",
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"isExists": true,
"path": "string",
"serverType": "string"
}
]
}
}
В ответе возвращается массив объектов `connectionsServer`. Каждый объект содержит: - `address`: адрес подключения - `connectionPort`: порт подключения - `fullURL`: полный URL подключения - `id`: уникальный идентификатор сервера - `isExists`: статус доступности сервера - `path`: путь подключения - `serverType`: тип сервера (udp, tcp, websocket).
Токен больше не активен. Пожалуйста, обновите токен через ручку /api/v1/devToolsClient/refreshToken или обратитесь к разделу 'Клиенты' для инструкций.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "token is expired by 215h25m2s"
}
}
Игра с указанным ID не найдена. Убедитесь, что вы ввели правильный gameID, и повторите попытку.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "error game not found"
}
}
Для создания комнаты нет активных серверов. Пожалуйста, активируйте нужные серверы в админке и повторите попытку.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "error creating room all servers off"
}
}
Запрашиваемая комната не существует. Возможно, она была удалена или не была создана. Проверьте корректность ID комнаты и повторите запрос.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "room not found"
}
}
Вы не имеете доступа к этой комнате. Убедитесь, что вы являетесь участником комнаты, чтобы получить к ней доступ.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "access denied"
}
}
Этот сервис предназначен для передачи небольших данных в режиме реального времени. Если ваши клиенты хотят получать данные максимально быстро, а скорость важнее, чем гарантированная доставка, то этот сервис подходит идеально. UDP — это очень быстрое решение, однако, есть недостатки: некоторые пакеты могут быть потеряны или доставлены не по порядку.
Для подключения к сервису необходимо знать IP-адрес и порт.Максимальное количество сообщений в секунду — 200. Так же нужно дождаться от сервреа ответа в виде id вашего клиента, UserID в ответе является подтверждением что подключение аутентифицированное.Пример команды подключения
udp://multiplayer-servers.ascenmmo.com:4500
udp write
eyJhbGciOiJIUz11NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzA3NjA4ODYsIkluZm8iOnsiZ2FtZV9pZCI61jJhZDIyNDNhLThhN2UtMzkzMC1iNjEzLTg5YzY2NDk2YWFjZCIsInJvb21faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJ1c2VyX2lkIjoiN2RkZmNiNzEtOWQ3OC0zMTczLWExNGQtNDVjZTc1ODIyNmM3IiwidHRsIjo5MDAwMDAwMDAwMDB9fQ.wmq1VH88zlws_tSAdvJjfXcdcoaxL8vT8W9gsRZrw_o$_$j
Нужно отправить string без всякой обвертки несколько раз пока от сервера не вернется userID. Сервер должен понять что ваше подключение является валидным, иначе вы не являетесь подключенным пользователем.
3fa85f64-5717-4562-b3fc-2c963f66afa6
Запустите Этап чтения. Прежде чем переходить к этапу отправки вам должен вернуться userID это является подтверждением что ваше соединение аутентифицированное
Используйте тот же канал подключения, не нужно создавать новый. Канал подключения на этапе чтения и отправки должен быть один.Команда чтения
udp://multiplayer-servers.ascenmmo.com:4500
udp read
Пренадлежит этапу отправки, при поралельном чтении не требует отправки данных'
Тут мы должны слушать ответ
data1 data2 data2 или dat data2 d$#3 dt9 или data
ответ может содержать как одно сообщение так и несколько, udp не гарантирует целосность сообщений и их порядок. Сервер работает по схеме рассылки при получении одного сообщения от ПервогоКлиента от дублирует Второму и Третьему сообщение.
Используйте тот же канал подключения, не нужно создавать новый. Канал подключения на этапе чтения и отправки должен быть один.Так как в первом этапе вы аутентифицировались на сервере вы можете отослать пакетПример команды отправки
udp://multiplayer-servers.ascenmmo.com:4500
udp write
клиент 1 отправил сообщение 101, или он отправил json {"name": "MyUser1"}
сервер работате только с даными []byte. Массив байт распределяется по всем клиентам
клиент 2 отправил сообщение 15, или он отправил json {"name": "MyUser2"} клиент 3 отправил сообщение 53, или он отправил json {"name": "MyUser3"}
ответ может содержать как одно сообщение так и несколько, udp не гарантирует целосность сообщений и их порядок. Если сообщения идут нечитаемые, поиграйтесь с времеными рамками отправителя сообщений. Сервер не валидирует сообщения и не дробит их, а рассылает всем как есть.
Этот WebSocket-сервис разработан специально для многопользовательских онлайн игр, обеспечивая передачу данных в режиме реального времени между клиентами. С его помощью можно быстро и эффективно обмениваться игровыми данными, что особенно важно в условиях, где скорость имеет приоритет над надёжностью доставки сообщений. WebSocket поддерживает двустороннюю связь между клиентом и сервером, что делает его отличным выбором для игровых клиентов. Однако следует учитывать, что возможны потери пакетов или их получение в неправильном порядке.
Для подключения к игровому WebSocket-сервису вам нужно знать URL и использовать токен для аутентификации. Максимальное количество запросов в секунду — 200.Пример команды для подключения и отправки игрового сообщения через WebSocket:
ws://127.0.0.1:4240/api/ws/connect
ws
Token: ваш токен
{
"data": "данные для отправки"
}
Тело запроса должно содержать игровую информацию, отправляемую другим игрокам. Токен для аутентификации передается в заголовке.
{
"data": "данные от других клиентов"
}
Ответ содержит данные, полученные от других игровых клиентов, подключённых к той же игровой комнате.
Этот сервис предназначен для взаимодействия между игровыми клиентами и сервером через TCP соединение. С его помощью клиенты могут отправлять сообщения, получать новые сообщения и удалять пользователей. Сервис поддерживает до **10 запросов в секунду** и идеально подходит для игровых приложений, где требуется высокая скорость взаимодействия и поддержка лонгпулинга для получения новых сообщений.
Для отправки сообщения от клиента на сервер используйте следующую ручку. Необходимо передать токен в заголовке запроса.
/api/v1/rest/gameConnections/setSendMessage
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"message": {
"data": "ваши данные",
"server": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"token": "ваш токен"
}
}
}
Тело запроса должно содержать данные сообщения, идентификатор сервера и токен для аутентификации.
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
Ответ указывает на успешное выполнение операции.
Для получения новых сообщений с сервера используйте следующую ручку. Можно использовать лонгпулинг.
/api/v1/rest/gameConnections/getMessage
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {}
}
Тело запроса не требует параметров, необходимо только указать токен в заголовке.
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"messages": {
"dataArray": [
"новое сообщение"
]
}
}
}
Ответ содержит массив новых сообщений от сервера.
Для удаления пользователя из игрового сервера используйте следующую ручку.
/api/v1/rest/gameConnections/removeUser
POST
Token: ваш токен
{
"id": 1,
"jsonrpc": "2.0",
"params": {
"userID": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
Тело запроса должно содержать уникальный идентификатор пользователя, которого необходимо удалить.
{
"id": 1,
"jsonrpc": "2.0",
"result": {}
}
Ответ указывает на успешное выполнение операции.
Ваш токен больше не действителен. Пожалуйста, обновите его через /api/v1/devToolsClient/refreshToken или обратитесь к разделу 'Клиенты' для инструкций.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "token is expired by 215h25m2s"
}
}
Система не обнаружила указанного пользователя. Убедитесь, что вы ввели правильные данные и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "user not found"
}
}
Система не обнаружила запрашиваемую комнату. Проверьте идентификатор комнаты и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "room not found"
}
}
Попытка создать комнату, которая уже есть в системе. Проверьте настройки и повторите запрос.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "room is exists"
}
}
Введенное значение для комнаты недопустимо. Проверьте данные и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "room bad value"
}
}
Отправлено слишком много запросов. Подождите некоторое время и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "too many connection", "message": "too many requests"
}
}
Не удалось найти указанный сервер уведомлений. Проверьте настройки сервера и повторите попытку.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "err notify server not found"
}
}
Указанный сервер уведомлений недействителен. Проверьте его конфигурацию и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "err notify server not valid"
}
}
Произошла ошибка при обработке данных пользователя в конфигурации игры. Проверьте данные и попробуйте снова.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "err game config marshal user data"
}
}
Система не обнаружила результаты для указанной игры. Убедитесь, что игра завершена, и повторите запрос.
{
"id": 1,
"jsonrpc": "2.0",
"error": {
"message": "game results not found"
}
}