В разработке, ещё не финальная версия
Launcher имеет возможность напрямую запускать «content bundles» без подключения к серверу. Content bundles — это самодостаточные zip-файлы, содержащие контент, который будет загружен клиентом игры. Content bundles также могут базироваться на обычной загруженной версии контента, и в этом случае сначала будут загружены и смонтированы эти ресурсы.
Изначальный вариант использования content bundles — это реплеи в Space Station 14. Пакет содержит данные реплея вместе с необходимыми метаданными, чтобы заставить launcher загрузить соответствующую версию игры. Это упрощает распространение реплеев в виде простых zip-файлов, которые можно легко передать в launcher администраторам или игрокам.
Content bundles — это универсальная система, поэтому она также может быть полезна для распространения других вещей.
Формат
Content bundles — это обычные zip-файлы. Вы знаете, что это такое.
Содержимое zip-файла монтируется непосредственно в корень VFS игры. /foo.txt будет доступен как /foo.txt для игры.
Если указана базовая сборка (см. ниже), контент для базовой сборки будет загружен и также загружен вместе с content bundle. Такой контент базовой сборки имеет приоритет над content bundle, поэтому заменить файлы в базовой сборке невозможно.
Специальный файл /rt_content_bundle.json интерпретируется игрой для получения базовых метаданных, необходимых для работы, таких как версия engine.
rt_content_bundle.json
Вот JSON-данные, которые могут быть в rt_content_bundle.json:
// JSON-комментарии не принимаются launcher, они только для пояснения.
{
// Обязательно: версия engine для использования.
"engine_version": "0.124.0.0",
// Опционально: удалённая сборка для загрузки как базовая.
// Если не указана, удалённая сборка не загружается.
"base_build": {
// Эти свойства в основном эквивалентны тому, что возвращается через HTTP /info API сервера.
"fork_id": "wizards",
"version": "2f6d909e443ecb501b916b69a2996acb351cc216",
"download_url": "https://cdn.centcomm.spacestation14.com/builds/wizards/builds/2f6d909e443ecb501b916b69a2996acb351cc216/SS14.Client.zip",
"hash": "a306c7b16b6bca9d7bd56a017c6fb50ba6205bd9f58b40752fe9ed9bd21ed195",
"manifest_download_url": "https://cdn.centcomm.spacestation14.com/cdn/version/2f6d909e443ecb501b916b69a2996acb351cc216/download",
"manifest_url": "https://cdn.centcomm.spacestation14.com/cdn/version/2f6d909e443ecb501b916b69a2996acb351cc216/manifest",
"manifest_hash": "1657E0BD25D640946453E11F1B7E95D5FAF5B4E1087330D0692BAB2EFD1E6F00"
}
}
Безопасность side-loading
Content bundles теоретически делают довольно лёгким внедрение читов в игру вместе с остальным официальным контентом сервера. Теоретически можно создать content bundle, который просто содержит дополнительный читательский код в /Assemblies/ и в остальном загружает последнюю версию любого сервера, к которому вы подключаетесь.
Для смягчения этого Content Manifests позволяют ограничить список сборок, которые будут загружены из /Assemblies/, через свойство clientAssemblies. Так как content bundles всегда загружаются после содержимого игры, они не могут заменить какие-либо файлы, и серверы могут ограничить загружаемые сборки только теми, которые они предоставляют.
Аутентификация
Content bundles запускаются с отключённой аутентификацией. Launcher не будет предоставлять клиенту токен аутентификации, поэтому невозможно подключиться к серверам с аутентификацией через content bundle (чтобы вы там ни пытались сделать…).
(Да, я знаю, что только что написал целый раздел про side-loading выше. Я передумал и не хочу его удалять. Аааа.)Последнее изменение 21 июня 2026 г.