Подключите нашего Telegram-бота для уведомлений о новых проектах

Разработать серверную часть на websocket для мобильной игры

2
Заказчик
Отзывы фрилансеров: + 0 - 0
Зарегистрирован на сайте 9 месяцев
Бюджет: 1 000 — 2 000 ₽/час
Дедлайн: 29.02.2024
Исполнитель определен: Алексей Громов  
Необходимо разработать серверное приложение на websocket для мобильной игры на языке программирования Java. Разработку серверного приложения планируется разбить на две части:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Также будет предоставлено более подробное ТЗ по работе Lobby и Rooms.
Разделы:
Опубликован:
24.01.2024 | 16:53 [поднят: 24.01.2024 | 16:53]

Теги: нужен программист, резюме программиста, требуется программист, резюме веб программиста

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