Серверный программист

Дата размещения вакансии: 08.04.2026
Работодатель: РОЕ
Уровень зарплаты:
от 100000 до 180000 RUR
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

Требования:

Нужен человек для разработки авторитарного сервера для существующей игры про рыбалку.

Переход на сервер планируется осуществить в несколько этапов:

Логин (используя ID устройства, или логин пароль с привязкой почты).

Сохранение передается на сервер в неизменном формате (сейчас сохранение хранится в JSON).

Сохранение имеющееся на сервере передается на клиент после логина.

Конвертирование сохранений в серверный вариант.

Сохранения с клиента больше не конвертируются и хранятся только на сервере.

Передача статических данных с сервера на клиент (цены, информация о наборах в магазине, таблицы с множителями цен за продажу рыбы)

Постепенный перевод игры на авторитарный сервер:

Добавление и удаление предметов инвентаря происходит на сервере.

Покупки во внутриигровом магазине.

Продажа во внутриигровом магазине.

Рыба при поимке добавляется в инвентарь на сервере.

Переделать существующий сервер покупок через Юкассу для покупок на сервере, а не на клиенте.

Добавить на сервер покупку через Google.

Добавить админку:

Возможность давать и отбирать предметы и деньги у конкретного игрока.

Возможность давать и отбирать предметы и деньги у у всех игроков.

Добавить систему одноразового показа сообщений конкретному игроку.

Добавить систему одноразового показа сообщений всем игрокам.

Взаимодействие в сервером HTTP запросы.

При изменении данных при запросе, в ответе присылаются только изменившиеся данные и статус проверки.

Хайлевел описание методов:

Loogin

In: id устройства пользователя, сохранение в старом формате

out: статус, сохранение.

Если пользователь посылает сохранение и его ещё нет на сервере, и не закончен период конвертации сохранений, то сохранение конвертируется на сервере.

BuyShopItem

in: id набора

out: статус, вещи добавленные при покупке.

Находит набор и добавляет n предметов, если у пользователя хватает денег.

SellFishes

in: лист с InstanceId продаваемых рыб

out: статус, новое количество денег, лист с InstanceId уничтоженных предметов

Удаляет рыб из инвентаря и добавляет количество денег посчитанных из статических настроек и веса рыбы

DisposeItems

in: InstanceId уничтожаемых предметов

out: статус, лист InstanceId уничтоженных предметов

Уничтожает объекты в инвентаре по InstanceId

BuyIAPItem

in: id товара, код стора

out: статус, дата окончания премиума, количество денег

Выполняет покупку через ЮКассу или гугл, активирует премиум или добавляет деньги, в зависимости от покупки.

OnCatchFish

in: id рыбы, масса рыбы

out: статус, объект рыбы добавленный в инвентарь, новое количества опыта игрока, новое количество опыта скила, Id скила.

Добавляет пойманную рыбу в инвентарь, добавляет опыт игрока и опыт скила, и возвращает новые значения на клиент.