Простая пошаговая многопользовательская сетевая игра на 2 или 4 пользователя. Представляет собой квадратное поле произвольного размера, состоящее из ячеек. Игрок может передвигаться из ячейки в ячейку. Ячейка, на которой игрок стоял до этого, становится недоступной. Побеждает тот, кто пройдет более длинный путь.
Игра состоит из двух серверов: боевого и игрового. Слайды.
Игровой сервер написан на python/django. Он предстравляет собой сайт, на котором можно зарегистрироваться, перейти в личный кабинет, управлять игровыми валютами. Также у игрового сервера есть API, позволяющее, используя HTTP-запросы, зарегистрироваться, авторизоваться и получить токен, получить информацию об игроке.
Подробное описание игрового сервера
Боевой сервер написан на erlang, работает по протоколу TCP. Он позволяет аутентифицировавшимся (по логину и паролю или по токену) пользователям играть в игру на поляне с другими игроками. Перед игрой игрок делает ставку в одной из игровых валют. Сервер подбирает игроку соперников. Бой ведется с меньшей ставкой из поставленных игроками. После игры ставки всех игроков переходят победителю.
Подробное описание боевого сервера
Что-то там еще про бота в телеграме дописать бы...
Серверы используют СУБД Postgres. Серверы обращаются к ней через порт 15432. База данных называется polyana, пользователь polyana, пароль polyana.
Проще всего запустить базу средствами vagrant с помощью этой конфигурации.
Для запуска игрового сервера нужно:
- установить зависимости
- создать структуру базы данных (выполнить миграции django)
- запустить сервер
Подробнее здесь.