Сетевое API для AZ* |
Здравствуйте, гость ( Вход | Регистрация )
Сетевое API для AZ* |
SuperMax |
15.3.2024, 15:20
Сообщение
#1
|
Администратор Группа: Root Admin Сообщений: 6 299 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Идея:
разработать различное API для работы с сетью Интернет Задача 1. Таблица рекордов в общих штрихах серверная часть: сервер БД WEB интерфейс - регистрация пользователя логин-пароль (дабы таблицы рекордов были персонализированными) - регистрация игры и получение уникального ID игры - просмотр рекордов/статистики игр итд итп API для AZБК - авторизация игры - авторизация пользователя - добавление рекорда клиентская часть на AZ* - авторизация игры - авторизация пользователя - добавление рекорда Задача 2. Сетевые диски возможность подключения в режиме R/O или R/W образа дисков на сервере UPD 2024-03-17 разрисовываю детально и начинаю делать UPD 2024-03-24 планируется такой пакет команд AZ 61 авторизация пользователя по хешу 62 регистрация пользователя 63 передача параметров из буфера на сервер 64 считывание таблицы рекордов с сервера в файл на карточке начал делать команды UPD 2024-03-25 долго не хотел этим заниматься, но видимо пришло время сделаю сетевой сервер дисков иначе говоря будет возможность цеплять любые сетевые диски как устройства AZ или будет отдельный драйвер - еще не решил но суть именно такая - блочное сетевое устройство начал писать сервер - демон на сях -------------------- Живы будем - Не помрем !
|
SuperMax |
31.3.2024, 11:21
Сообщение
#2
|
Администратор Группа: Root Admin Сообщений: 6 299 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
проект API по рекордам и ачивкам - https://hof.maxiol.com/ Hall of Fame
обмен будет в виде запросов с ответами отправляемых со стороны STM32 формат - JSON организация обмена - типовая последовательность 1. #23 принять с шины в буфер данные - те загоняем данные (кроме инициализации - тут содержимое буфера не имеет значения) 2. #60 передача параметров из буфера на сервер, получение ответа 3. #22 отдать на шину считанный блок из буфера последовательность 1. инициализация включает в себя - резолвинг домена с back-end-ом - dns имя back.hof.maxiol.com - установка первоначального соединения с сервером, прокачка шифра, получение номера(хеша) сессии результатом является такой JSON {"SID":"хеш сессии","RESULT":"OK"} или ошибка {"RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} технически сессия будет с солью дабы не раскрутить 2. авторизация игры технически это отправка JSON {"SID":"хеш сессии","CMD":"AUTH_GAME","GID":"хеш игры","SERNUM":"1234567890","UTC":"420"} где SERNUM - серийный номер игры (для игр ретейл поставки) UTC - часовой пояс игрока, число в минутах, брать из AZ.INI ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"GAME_NOT_FOUND"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"} 3. регистрация пользователя технически это отправка JSON {"SID":"хеш сессии","CMD":"REG_USER","NIKNAME":"никнейм пользователя","PASSWORD":"пароль пользователя","EMAIL":"email пользователя"} все поля обязательные! ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"NIKNAME_TAKEN"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"PASSWORD_TOO_SHORT"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"} 4. авторизация пользователя технически это отправка JSON {"SID":"хеш сессии","CMD":"AUTH_USER","NIKNAME":"никнейм пользователя","PASSWORD":"пароль пользователя"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK","UID":"хеш пользователя"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"USER_NOT_FOUND_OR_WRONG_PASSWORD"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"} 5. регистрация ачивмента технически это отправка JSON {"SID":"хеш сессии","CMD":"REG_ACHIEVEMENT","ACHIEVEMENT":"id aчивмента"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"ACHIEVEMENT_NOT_EXISTS"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"ACHIEVEMENT_ALREADY_TAKEN"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"} 6. регистрация рекорда игры технически это отправка JSON {"SID":"хеш сессии","CMD":"REG_SCORE","SCORE":"число"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SESSION_NOT_EXISTS_OR_EXPIRED"} 7. продление сессии технически это отправка JSON {"SID":"хеш сессии","CMD":"NOP"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} 8. трекинг кастомной информации технически это отправка JSON {"SID":"хеш сессии","CMD":"TRACKING","PARAMETER":"значение параметра","SERNUM":"1234567890"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} команда предназначена для трекинга какой-то своей информации в игре 9. завершение сессии технически это отправка JSON {"SID":"хеш сессии","CMD":"CLOSE_SESSION"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} 10. Получение таблицы рекордов технически это отправка JSON {"SID":"хеш сессии","CMD":"GET_SCORE","COUNT":"количество строк"} ответ тоже JSON {"SID":"хеш сессии","RESULT":"OK"} {"Peter":1122,"Ben":1100,"Joe":945} или {"SID":"хеш сессии","RESULT":"ERROR","DESCRIPTION":"SERVER_ERROR"} ограничения 1. кодировка ASCII - те только латиница, для полной унификации 2. длина NIKNAME - от 3х до 16 символов, 3. длина EMAIL - до 32 символов 4. длина PASSWORD - от 8 до 16 символов 5. ACHIVMENT - это его числовой идентификатор в системе (смотрим на сайте) 6. длина SCORE - от 1х до 16 цифр 7. количество получаемых записей рекордов от 1 до 10 8. время жизни сессии игры - 4 часа -------------------- Живы будем - Не помрем !
|
Текстовая версия | Сейчас: 20.10.2024, 1:23 |