Как установить steamworks на сервер кс го

Обновлено: 02.07.2024

При создании контента для LCS, сборщик хранилищ должен общаться с главным сервером хранилищ Steam (MDS), но при этом он не отправляет контент. В Steam будут отправляться только метаданные о локальных хранилищах, поскольку локальный контент управляется через сайт Steamworks точно так же, как и общедоступный контент.

LCS используется как хранилище контента и не устанавливает приоритет над любыми другими настройками игры. Контент в хранилище на локальном сервере всегда зашифрован (как и в случае с общедоступными серверами). Даже если кому-то удастся скачать блоки хранилищ с вашего локального сервера, им не удастся расшифровать данные, поскольку у них не будет ключей.

Simple Build Script

Let's start with the most basic build script possible. In our example we have a game (AppID 1000) that has one depot (DepotID 1001) and want to upload all files from a content folder and it's subfolders. We just need a single build script for that, take a look at "simple_app_build.vdf" included in the SDK :


Adjust the AppID and DepotID for your game as needed. To kick off a build you need to run steamcmd and pass a couple of parameters :
tools\ContentBuilder\builder\steamcmd.exe +login +run_app_build ..\scripts\simple_app_build.vdf +quit

Обратите внимание: Your first attempt at running a build may fail due to Steam Guard. If the login fails due to Steam Guard, check your email for the Steam Guard code, and run steamcmd as: steamcmd.exe "set_steam_guard_code ", and try again. After logging in with Steam Guard once, a sentry file is used to verify the login is genuine.

If you are using steamcmd from a machine or VM that gets re-imaged frequently, you should include the sentry and config file in your image so you won't be prompted for a Steam Guard every time. The sentry file is located in \ssfn, and the config file is located in \config\config.vdf.

The following steps occur during a SteamPipe build:
[olist]
[*] Steamcmd.exe will update itself to the latest version.
[*] Steamcmd.exe is logging into the Steam backend using the given builder Steam account.
[*] The app build start is registered with the MDS (Master Depot Server), which will ensure the user has the proper privileges to modify this app.
[*] For each depot included in the app build, a file list is generated based on the files in the content folder and the filter rules defined in depot build config file.
[*] Each file is scanned and divided into small chunks of about 1MB. If the depot has been built before, this partitioning will preserve as many of the unchanged chunks as possible.
[*] New file chunks are compressed, encrypted, and then uploaded to the MDS.
[*] A final manifest is generated for this depot version; each manifest is identified by a unique 64-bit manifest ID.
[*] Once all depots have been processed, the MDS finishes this app build and assigns it a global BuildID.
[*] After the build is done, there may be *.csm and *.csd files in the build ouput folder. These are temporary and can be deleted, but they speed up subsequent build times.[/olist]

Персональный скин, точка спавна, и сет с лутом при респавне, стартовый лут для всех!

123new опубликовал тему в Версия 1.0 и выше, 8 марта 2019

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

Войти

Наш выбор

Создаем свой серверный мод. [DayZ 1.4 to Discontined]

123new опубликовал тему в Версия 1.0 и выше, 9 июля 2019

В данной теме я распишу возможность создания серверного мода для сервера на собственном примере и объясню как его собрать.

Создание одного установочного диска/комплекта для нескольких приложений

To build a GM containing multiple Steam Pipe apps. Build each app installer one by one but point them all to the same output folder. Each build will merge itself with the already existing install image.

Начальная настройка приложений SteamPipe

  1. Найдите номер приложения (App ID, его можно узнать, выбрав приложение на главной странице Steamworks)
  2. Перейдите в раздел «Общие параметры установки» вашего приложения.
  3. Создайте как минимум один вариант запуска (путь и, опционально, условия, требуемые для запуска игры). При наведении на значок (?) вы увидите всплывающую подсказку о каждом из полей.

На примере ниже представлены четыре варианта запуска, два для Windows и по одному для MacOS и Linux. Launch option 3 will only be shown on Windows if the user also owns the DLC specified.

  1. Нажмите на название хранилища, чтобы его отредактировать. Выберите подходящее узнаваемое название (к примеру, Base Game Content или Windows Content).
  2. Leave the language set to [All languages] unless this is a language-specific depot.
  3. Оставьте параметр [Все ОС], кроме случаев, когда это хранилище относится к той или иной операционной системе (если приложение запускается на всех ОС, либо только на ПК, либо только на Mac, оставьте [Все ОС]). Этот параметр можно изменять, только если хранилище относится к той или иной операционной системе.
  4. Для добавления нового хранилища нажмите соответствующую кнопку.
  5. Нажмите «Сохранить» для сохранения изменений.
Примечание: если исполняемый файл находится в подпапке папки основной установки, добавьте имя вложенной папки в поле «исполняемый файл». Не используйте косую черту (/) в начале или точки.

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

SteamCmd на macOS

  1. Откройте папку tools\ContentBuilder\builder_osx\osx32 в Терминале
  2. Выполните команду chmod +x steamcmd
  3. Перейдите в папку tools\ContentBuilder\builder_osx
  4. Введите bash ./steamcmd.sh
  5. SteamCmd запустится, обновится до последней версии, после чего вы увидите командную строку SteamCmd
  6. Введите exit и нажмите кнопку Enter, чтобы закрыть командную строку

Настройка розничного установочного диска

See Customizing a gold master for more details on customizing your retail install disk.

Debugging Build Issues

  • "app_status [appid]" . Показывает текущее состояние приложения на данном клиенте.
  • "app_info_print [appid]" . Показывает текущие настройки приложения в Steamworks (хранилища, варианты запуска и проч.).
  • "app_config_print [appid]" . Показывает текущие пользовательские настройки для приложения (язык, папка установки и проч.).
  • file "logs\content_log.txt" - Lists all logged SteamPipe operations and errors.
  • file "steamapps\appmanifest_[appid].acf" . Показывает текущее состояние установки данного приложения (KeyValues).

Building Retail Install Discs

To build retail install disc for SteamPipe games, you must first setup a build project file.
In this example, the SKU file is called "sku_goldmaster.txt":
  • Создайте новую папку, где будут записаны образы дисков, к примеру, "D:\retail_disks". Будут добавлены только хранилища, включённые в папку included_depots, без исключений.
  • Для сборки установочных дисков вы можете использовать Steam.exe (с параметрами командной строки -dev и -console) или steamcmd.exe. В обоих случаях используется команда "build_installer".
  • Войдите в аккаунт Steam, который владеет игрой и всеми хранилищами, которые вы хотите записать на розничный диск. Аккаунту не потребуются иные специальные права, так что создавать установочные диски может кто угодно.
  • Если вы используете Steam.exe, остановите все загрузки.
  • Перейдите в консоль и запустите команду build_installer:

Managing Updates

After your app releases to customers, your customers will be receiving the build marked as the Default build. When uploading a new build it's always a good idea to test it before shipping it to your customers, for more information on how to successfully do this see Тестирование в Steam.

Увеличение карты х2

vitacite опубликовал тему в Картостроение, 6 октября 2020

Доброго времени суток комрады. После успешного портирования карты 2048 на 2048 ProvingGrounds, решил исполнить свою "детскую мечту" и сделать ее большой ;)))) С этой целью для начала я решил увеличить ее в два раза.

О проекте S-Platoon

. На нашем сайте вы сможете найти множество гайдов по установке различных дополнений и скриптов для DayZ EPOCH, DayZCC, а так же таких модов как DayZ Origins, Overpoch, Overwatch, Epidemic и ARMA3: DayZ EPOCH, гайды по ARMA3: Exile, ARMA3: Altis Life, админский софт, античиты и различные программы для упрощения работы с серверами и модами, дополнения для карты Черноруси, Napf и остальных, а так же всегда сможете задать интересующий вас вопрос в разделе помощи по серверам.


Будущее проекта S-Platoon
Наш проект имеет огромные амбиции, а команда портала делает всё что бы помочь пользователям и не дать угаснуть идее. Мы всем сердцем хотим развиваться и не стоять на месте. Именно наш настрой, а так же дружелюбный коллектив пользователей форума является первым шагом и фундаментом к дальнейшей работе и развитию.

--> Первостепенным направлением проекта является создание серверов DayZ Standalone и создание серверов DayZ мода. На нашем сайте вы сможете найти множество гайдов по установке различных дополнений и скриптов для DayZ EPOCH, DayZCC, а так же таких модов как DayZ Origins, Overpoch, Overwatch, Epidemic и ARMA3: EPOCH, гайды по ARMA3: Exile, ARMA3: Altis Life, админский софт, античиты и различные программы для упрощения работы с серверами и модами, дополнения для карты Черноруси, Napf и остальных, а так же всегда сможете задать интересующий вас вопрос в разделе помощи по серверам.

Цель данной документации — предоставить вам информацию и ресурсы, которые потребуются для выпуска вашей продукции на одной из ведущих развлекательных платформ в мире: Steam.

В этом разделе вы найдете информацию о том, как стать партнёром Steamworks. Steamworks представляет собой набор инструментов, с помощью которых вы сможете распространять свою продукцию среди пользователей Steam, а также набор функций, которые вы можете интегрировать в ваш продукт, такие как подбор игр, списки лидеров, Мастерская Steam и проч. Управление продуктами, аккаунтом и информацией о компании осуществляется на партнёрском сайте Steamworks.

Настройка аккаунта Steamworks

Начните с регистрации в качестве партнёра Steamworks.

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

Загрузка SDK Steamworks

После завершения процесса регистрации загрузите SDK Steamworks, содержащий все скрипты и шаблоны для создания и отправки вашего продукта в Steam.

Последнюю версию SDK Steamworks можно найти здесь, а дополнительную информацию о нём — в соответствующем разделе документации.

Создание сборок и хранилищ для Steam

Настройка функций Steamworks

Вы можете использовать столько функций Steamworks, сколько хотите. Дополнительная информация доступна в разделе Список возможностей.

Создание страницы в магазине и установка цен

В процессе работы над приложением вы также можете начать подготовку страницы вашей игры (или программы) в магазине. Если у вас возникнут вопросы, вы можете задать их на форумах, посвящённых страницам в магазине и маркетингу. Дополнительная информация доступна в разделе Облик в магазине.

Подготовка к выпуску

Большую часть работы для подготовки вашего продукта к выпуску в Steam можно провести самостоятельно, используя существующие инструменты и документацию. Однако непосредственно перед выпуском сотрудникам Valve понадобится провести проверку страницы вашего продукта в магазине, предлагаемую цену и сборку игры.

SteamPipe has an efficient patching algorithm based on binary deltas, only changing the modified portions of existing content files. When this content is updated, only these deltas need be sent. This means both developer and user transfers are smaller and faster. Most partners will find that using a Локальный сервер контента SteamPipe not necessary since they can efficiently patch builds on private branches.

Настройка отправок в SteamPipe через SDK

Download and unzip the latest version of the Steamworks SDK on the machine you will be uploading builds on.

The SteamPipe tools can be found within the SDK in the tools folder which contains 2 relevant sub-directories.

  • builder — изначально содержит только steamcmd.exe, т.е. консольный клиент Steam.
  • builder_linux — steamcmd для Linux.
  • builder_osx — steamcmd для macOS.
  • content — здесь хранятся все файлы игры, которые затем будут собраны в хранилища.
  • output — эта папка будет содержать логи сборок, блоки кэша и промежуточный вывод. Обратите внимание: из этой папки можно в любое время удалить всё содержимое или даже её саму, но после удаления время следующей отправки увеличится.
  • scripts — сюда необходимо поместить все сценарии сборок для хранилищ игры.

It's recommended that you run steamcmd.exe directly in the builder folder for your platform once to bootstrap your build system. This should populate your builder directory with all the files it needs to build depots.

The ContentServer directory contains the tools for running your own Локальный сервер контента SteamPipe if you choose to do so.

Настройки локального сервера

Сначала выберите простой, но высокопроизводительный веб-сервер, который должен обслуживать только статические файлы. Мы используем открытый веб-сервер mongoose, так как скорость загрузки Apache под Windows была слишком маленькой (3 Мб/сек.), а настройка — слишком сложной.

В SDK Steamworks вы найдёте папку /tools/ContentServer/. Эта папка содержит заранее настроенную версию mongoose-3.1.exe. Запустите этот файл в папке ContentServer.

Создайте новый сценарий app_build в формате .vdf. Обычно мы следуем формату app_build_[AppID]_Local.vdf .

Этот сценарий схож с обычным сценарием отправки в SteamPipe, но один из параметров здесь local.

Запустите новый сценарий app_build в SteamCmd.

Как только вы создали локальную версию игры, перейдите на страницу сборок SteamPipe.

setLCSLive.jpg

Найдите локальную сборку в списке текущих сборок и выберите «локально» в выпадающем списке справа, после чего нажмите «Предпросмотр».

Advanced Build Scripts

If your app has a lot of depots with complex file mapping rules, you can create a depot build script for each depot which will be referenced by the app build script. First let's take a look at available parameters in the app build script:

This app build script references two depot build script files that specify all file mappings and file properties. The following instructions are available in a depot build script ( and also if the section is included directly into the app build script).

  • DepotID - The DepotID for this section
  • ContentRoot - Lets you optionally override the ContentRoot folder from the app build script on a per depot basis
  • FileMapping - This maps a single file or a set of files from the local content root into your depot. There can be multiple file mappings that add files to the depot. The LocalPath parameter is a relative path to the content root folder and may contain wildcards like '?' or '*'. It will also apply to matching files in subfolders if Recursive is enabled. The DepotPath parameter specifies where the selected files should appear in the depot (use just '.' for no special mapping)
  • FileExclusion - will excluded mapped files again and can also contain wildcards like '?' or '*'
  • InstallScript - will mark a file as install scripts and will sign the file during the build process. The Steam client knows to run them for any application which mounts this depot.
  • FileProperties - will mark a file with special flags:
    • userconfig - This file is modified by the user or game. It cannot be overridden by an update, and it won't trigger a verification error if it's different from the previous version of the file.
    • versionedconfig - Similar to userconfig, however if the file is updated in the depot, it will be overwritten locally when the user's game updates. Only update the file in the depot when there is a necessary format change or bug fix.
    "DepotBuild" < "DepotID" "1002" "ContentRoot" "C:\content\depot1002" // override ContentRoot from app build script "FileMapping" < // all source files and folders in ".\bin" will be mapped into folder ".\executables" in depot "LocalPath" "bin\*" "DepotPath" "executables\" "Recursive" "1" // include all subfolders >"FileMapping" < // override audio files in \\audio with German versions "LocalPath" "localization\german\audio\*" "DepotPath" "audio\" >"FileMapping" < // copy install script for german version into depot root folder "LocalPath" "localization\german\german_installscript.vdf" "DepotPath" "." >"FileExclusion" "bin\server.exe" // exclude this file "FileExclusion" "*.pdb" // exclude all .PDB files everywhere "FileExclusion" "bin\tools*" // exclude all files under bin\tools\ "InstallScript" "localization\german\german_installscript.vdf" "FileProperties" < "LocalPath" "bin\setup.cfg" "Attributes" "userconfig" // this file will be modified during runtime >>
    ВНИМАНИЕ: You can name these scripts what ever you want, but we use the names app_build_ and depot_build_ for consistency. If you know that you'll be building apps on this machine, it might be a good idea to create sub-directories in your scripts directory for each application, to help organize each application's build scripts.

    Building Efficient Depots for SteamPipe

    The old Steam content system would patch updates on a file level, which meant that if a single byte in a file changed, the entire new file would be downloaded by all users. This was especially inefficient if the game used pack files, which are collections of game content files in a single big file. Pack files can easily exceed 1 GB, so updates often led to unnecessarily large downloads. A common way to avoid these large downloads was to add new pack files that overrode content of already shipped pack files. That worked for updates, but it hurt new users long-term, since they ended up downloading unused, already-patched content.

    The new content system fixes this problem by splitting each file into roughly 1-MB chunks. Each chunk is then compressed and encrypted before being distributed by the Steam content system. If the game content has large redundant parts, these chunks are reused and the user only has to download each repeated chunk once. However, the real strength of this system is building efficient update patches. While the system is building a patch, the new content is scanned for already known chunks. If it finds them, it reuses them. This means if you change or inject a few bytes in a big file, the user only has to download the changes.

    This works well in most cases, but there are still a few pitfalls that need to be avoided when designing the content layout of a game. You may not want to compress or encrypt your game data. This is already done for in-flight downloads and retail discs by the Steam content system. If you do it too, it can reduce the effectiveness of delta patching. Compression and encryption are only advised if each individual asset within a package file is separately compressed and/or encrypted. Otherwise, a change to one asset will always require downloading several other potentially unchanged assets.

    If you package multiple assets in a single pack file, make sure that with each re-packaging, no unnecessary changes are made. One problematic practice is including the full name of the original source files on disk, because the names may change, depending on the build machine. Another bad pattern is including build time stamps for each file. If possible, always add new content to the end of your pack files and keep the order of existing files. Also, keep your pack file’s metadata (offset and sizes to individual assets) in one place and don’t intersperse it with the asset data. Use a binary difference tool like BeyondCompare to look at two builds of your pack files to make sure that hundreds of unwanted changes don’t show up.

    If you follow these rules you will minimize patch sizes and only new content will need to be downloaded. Your customers will thank you for that and you will be able to increase the quality of your product by shipping more updates.

    If you suspect that your game packaging is not interacting well with the SteamPipe update process, please contact your Valve representative and we can look into enabling advanced features to help with this.

    Создайте аккаунт или войдите в него для комментирования

    Вы должны быть пользователем, чтобы оставить комментарий

    Создание файлов настроек SteamPipe

    To upload files for your app with SteamPipe, you must create scripts which describe your build and each depot that will be included in it. The example scripts shown here are in the Tools\ContentBuilder\scripts folder in the Steamworks SDK.

    Графический интерфейс SteamPipe

    If you're running on Windows and would prefer a GUI tool to help create these config files and upload your builds you can use the SteamPipeGUI which is available in the tools folder of the Steamworks SDK. Included in the zip are additional instructions to get you started.

    If you choose to use the GUI tool then reading the following sections is still recommended to help you become more familiar with how the SteamPipe system works.

    Установка доп. контента с розничного диска

    In some circumstances, you may wish to create a retail installer that includes your DLC packages. In such cases, the process to create the installer requires only a few changes.
    In "sku_goldmaster.txt", include the DLC AppIDs under the "included_depots" section. Once you have run the "build_installer" process, find the generated sku.sis file for the installer and open it with a text editor.
    Add the DLC AppID in the "apps" section. For example, if I had a game with AppID 1000 and DLC AppID 1010, I would adjust the "apps" section as follows:
    This will ensure that Steam checks for ownership of the DLC and prompt the user for a key if the DLC is not owned by the account that they are logging into on Steam.

    Preloading Games before Release

    By default, all content is always encrypted, on all retail discs and on all content servers. Switching a game to preload mode means owners can download the content, but it stays encrypted on the users' disk and can't be played. Once the game becomes officially released, Steam will decrypt the preloaded content and the user can play the game.

    Аккаунт для сборок

    Any administrator of your Steamworks account can add a Steam account and grant the necessary permissions. More information on this process can be found in the Управление аккаунтом Steamworks documentation. An example of what this account might look like is:

    create_build_account.jpg

    Создание розничного диска с помощью бета-ветки

    The process above will create a retail installer based on the default branch. If you need to create an installer based on a beta branch, you must first create a beta branch named "baseline". Then use the following command to build from the baseline branch:
    build_installer steamcmd ex: build_installer sku_goldmaster.txt "D:\retail_disks" baseline superSecret script ex: steamcmd.exe +login user_name password +build_installer "..\Build\GameDataSku.txt" c:\destination beta_key beta_password +exit

    Читайте также: