Skip to content

Resources

Логика Varion-сервера организована в ресурсы. Ресурс может содержать серверный код, клиентские скрипты, ассеты, стримингуемые файлы или интеграцию с нативным модулем.

Полный справочник по полям — на отдельных страницах:

  • resource.toml — все поля дескриптора ресурса и stream.toml (канонический источник).
  • server.toml — все ключи конфигурации сервера.

Ниже — только структура и понятия.

Раскладка server-data

text
server.toml
resources/
  mymode/
    resource.toml
    server/
    client/
cache/
data/
modules/
sdk/
include/

Что внутри ресурса

  • resource.toml — дескриптор (см. resource.toml).
  • Серверный вход (main) — исполняется только для type = "js".
  • Клиентский вход (client-main) и client-files — уходят клиенту через манифест.
  • stream.toml — стримингуемые игровые файлы (см. канонический справочник).

Типы ресурсов

TypeНазначениеDocs
jsСерверный и/или клиентский JavaScriptJavaScript
csharpСерверный C# (preview, текущим сервером не исполняется)C#
goСерверный Go (preview)Go
asset-packСтатические файлы по HTTPresource.toml
dlc / rpfСтримингуемые игровые файлыresource.toml

Серверный host запускает только js (с непустым main), и JS-host стартует автоматически для таких ресурсов. Записывать их в server.tomlmodules не нужно — ключ modules/loadModules к запуску JavaScript отношения не имеет.

Выбор и зависимости

  • server.tomlresources: пустой список = загрузить ВСЕ подпапки resourcesDir с resource.toml (ресурсы с enabled = false пропускаются). Непустой список = загрузить именно эти папки по точным именам, в указанном порядке. Wildcard-ы (*, dir/*) в этом списке не раскрываются.
  • Зависимости объявляются в deps (алиас dependencies) и публикуются в манифесте, но текущий загрузчик не переупорядочивает ресурсы по ним — порядок задаётся списком resources.
  • Клиентские права required-permissions / optional-permissions могут присутствовать в дескрипторах, но текущим сервером не парсятся (зарезервировано).

Config ресурса

js
// сервер
const cfg = varion.getResourceConfig();
// клиент
const cfg = varion.getResourceConfig('mymode');

Varion Multiplayer Platform