You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Добавить возможность получить уникальный идентификатор игровой сессии на заданное количество игроков, так чтобы к сессии можно было подключиться только по нему и её проигнорировал обычный матчмейкинг.
Наша реализация:
Согласно архитектуре, предложенной всем, у нас есть возможность создать игру: host:8080/game/create?playerCount=count
Этот интерфейс мы и использовали. В нашей реализации, при создании игры, мы инкрементировали поле lastId, которое использовали, как идентификатор игровой сессии и, соответственно возвращали его как gameId. То есть, когда мы создаем сессию через getLinklastId так же инкрементится, и для общей очереди будет возвращаться уже следующий id. Благодаря этому коллизий между обычным и 'private' матчмейкингом не возникало. В итоге, нам не пришлось как-то делить пул игровых сессий или очередь на создание игры. Затем, получив gameId мы напрямую коннектимся к gs через вебсокет при нажатии на коннект, так же используя дефолтный интерфейс.
В идеале...
Не хотелось бы чтобы кто-то мог стучаться к нам в игру вводя случайные числа, как вариант в нашем случае - генерить идентификатор сессии посложнее, например UUID. Если же вы не отказались от ввода имени как мы - то создавать сессиию для определенных пользователей и пускать туда только их.
The text was updated successfully, but these errors were encountered:
Добавить возможность получить уникальный идентификатор игровой сессии на заданное количество игроков, так чтобы к сессии можно было подключиться только по нему и её проигнорировал обычный матчмейкинг.
Согласно архитектуре, предложенной всем, у нас есть возможность создать игру:
host:8080/game/create?playerCount=count
Этот интерфейс мы и использовали. В нашей реализации, при создании игры, мы инкрементировали поле
lastId
, которое использовали, как идентификатор игровой сессии и, соответственно возвращали его какgameId
. То есть, когда мы создаем сессию черезgetLink
lastId
так же инкрементится, и для общей очереди будет возвращаться уже следующий id. Благодаря этому коллизий между обычным и 'private' матчмейкингом не возникало. В итоге, нам не пришлось как-то делить пул игровых сессий или очередь на создание игры. Затем, получивgameId
мы напрямую коннектимся к gs через вебсокет при нажатии на коннект, так же используя дефолтный интерфейс.В идеале...
Не хотелось бы чтобы кто-то мог стучаться к нам в игру вводя случайные числа, как вариант в нашем случае - генерить идентификатор сессии посложнее, например UUID. Если же вы не отказались от ввода имени как мы - то создавать сессиию для определенных пользователей и пускать туда только их.
The text was updated successfully, but these errors were encountered: