Блог zloy.net

Свой сервер игры на zloy.net

У игры на zloy.net теперь может быть свой сервер — с правилами самой игры. Возможность экспериментальная и пока открыта по флагу «Внешние платформы».

  • Клиент шлёт намерения, сервер решает. Игра просит «посадить морковь» или «выстрелить», а урон, рост урожая, деньги и счёт считает сервер по своим часам. Подменить число в запросе бесполезно.
  • Сервер — wasm-компонент, по умолчанию на Rust. Исходники лежат в папке backend/ игры, готовый файл — в dist-backend/, настройки — в zloy_wasm.json. Работает в песочнице платформы: без сети и файлов, с пределами процессора и памяти.
  • Сервер работает с кубиками. Он читает и пишет хранилище, рейтинг и банк от своего имени, а данные, которым он доверяет, закрыты от записи с клиента новыми режимами кубиков client: read | none.
  • Связь — сокет или опрос по HTTP, формат — JSON по умолчанию или Protobuf.
  • В Zloy Studio у любой игры появилась вкладка «Сервер»: сборка, загрузка, запуск песочницы, журнал и расход ресурсов.
  • Агент Zloy Master сам решает, нужен ли игре свой сервер: если подмена данных вредит только самому игроку — хватит кубиков, а для общего мира, PvP, экономики и общих рейтингов он сначала описывает архитектуру в zloy_config_server.md, потом пишет сервер.

Заодно в кубиках закрыты дыры: лимит ключей больше не обходится счётчиком, закрытую комнату нельзя открыть перебором номера, а чат комнаты видят только её участники.

👍 0👎 0

Комментарии 0

Пока нет комментариев.

Войдите, чтобы комментировать. Войти