Заказчик
Заказчик 2taptics | FL.RU

Заказчик

На сайте 10 месяцев (заходил 7 месяцев 18 дней назад)
1
349.33
Рейтинг
349.33
Все (1)       Заказы (1)        Вакансии (0)       Конкурсы (0)
Разместить заказ
24 Января 2024
По договоренности
Необходимо разработать серверное приложение на websocket для мобильной игры на языке программирования Java. Разработку серверного приложения планируется разбить на две части:

- Lobby – отвечает за подбор игроков с наиболее схожими параметрами;
- Rooms – клиенты с одинаковым ID-матча обмениваются сообщениями.

Серверное приложение должно удовлетворять следующий требованиям:

- Язык программирования – Java;
- Подключение клиентов через WebSocket соединение;
- Оптимизированая работа на обработку большого количества клиентов;
- Получение основных настроек из файла-конфига (таймауты, количество клиентов и т.п.);
- Правильное обрабатывание критических ошибок;
- Логирование критических ошибок, предупреждений и важных сообщений;
- Возможность стороннего мониторинга основных данных (просмотр через административную панель: количества соединений, количества матчей, сообщения по ID-матча).

Схема работы приложения в прикрепленном файле.

Часть 1 (Lobby)
Lobby должно иметь следующий функционал:

- Подключение клиента и получение информации об игроке (авторизация, без этих данных сервер не получает и не передает другую информацию);
- Подбор оппонента по наиболее схожим параметрам (описание подбора);
- Генерация уникального ID-матча;
- Отключение клиента по таймауту (противник не найден).

Принцип работы Lobby:

Игроки подключаются к серверному приложению и передают данные игрока. Далее клиент ожидает информацию о подобранном противнике. В случае успешного подбора, серверное приложение генерирует ID-матча и передает клиенту. Иначе отключает клиента по таймауту.

Часть 2 (Rooms)
Rooms должны иметь следующий функционал:

- Подключение клиента, получение информации матча и данных игрока (авторизация, без этих данных сервер не получает и не передает другую информацию);
- Ожидание подключения всех игроков матча;
- Получение сообщения-действие от клиента и трансляция его остальным клиентам, занесение его в отдельный массив;
- Отдача массив действий.

Принцип работы Rooms:

Клиенты подключаются к серверному приложению и передают информацию матча (ID-матча) и данные игрока. Серверное приложение запоминает эти данные и в дальнейшем группирует клиентов по общему ID-матча. Клиент отправляет на сервер сообщения-действия, а сервер в свою очередь заносит их в массив действий и транслирует всем клиентам с одинаковым ID-матча. Клиент, в случае потери соединения, может возобновить игру, повторно подключившись к серверному приложению и запросить массив действий для восстановления состояния матча на клиенте. Также клиент с функцией “наблюдатель” может запросить массив действий и восстановить состояние матча.

Требования к соискателю:

- Опыт работы в сфере деятельности объявления от двух лет;
- Наличие опыта разработки подобного серверного приложения (работа с сокетным соединением);
- Наличие оформленного портфолио с возможностью просмотра кода через репозиторий для определения уровня компетентности соискателя.

Также будет предоставлено более подробное ТЗ по работе Lobby и Rooms.

Прошло времени с момента публикации: 10 месяцев 28 дней 13 часов 1 минута
Раздел: Программирование / Веб-программирование

Рейтинг: 11600.9 Исполнитель определен:
Наши партнеры
Сведения об ООО «Ваан» внесены в реестр аккредитованных организаций, осуществляющих деятельность в области информационных технологий. ООО «Ваан» осуществляет деятельность, связанную с использованием информационных технологий, по разработке компьютерного программного обеспечения, предоставлению доступа к программе для ЭВМ и является правообладателем программы для ЭВМ «Платформа FL.ru (версия 2.0)».