загрузка контента стим что это

Загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Актуальная версия доступна на английском языке

Введение в систему управления контентом SteamPipe

Видеоурок Steamworks: создание игры в Steampipe

Техническое описание SteamPipe

SteamPipe uses the HTTP protocol for content delivery. Since downloads are regular web traffic, any third-party HTTP cache between the customer and Steam servers will increase download speed. Content can be hosted by external CDN providers, which can be easily added to our content network. Most consumer firewalls allow HTTP traffic and won’t block downloads.

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.

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

Before you can create any builds on Steam, you must have a Steam account in your Steamworks account with the «Edit App Metadata» and «Publish App Changes To Steam» permissions granted. For security reasons it’s recommended that you have a dedicated build account with just those permissions, you may create a new Steam account for this purpose at https://store.steampowered.com/join.

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:

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

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

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

Настройка отправок в 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.

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.

SteamCmd на macOS

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

Графический интерфейс 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.

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 :

Обратите внимание: 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]

Once the build is complete you can see it on your app builds page, in this case it would be https://partner.steamgames.com/apps/builds/1000. There you can set that build live for the default branch or any beta branch and users will be able to download this update with a couple of minutes.

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).

Managing Updates

Debugging Build Issues

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.

Building Retail Install Discs

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

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

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

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

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.

Источник

Мастерская Стим: всё, что нужно знать

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Мастерская в Стиме — это один из разделов клиента, где можно создавать, загружать и скачивать контент для популярных игр. Этот инструмент поддерживает многие предметы, в том числе скриншоты, обложки, карты и другое. Ниже рассмотрим, в чем особенности этой опции, для чего она нужна и как пользоваться мастерской Steam. Отдельно рассмотрим, какие возможности получают пользователи.

Что такое WorkShop в Стим

Работа в Мастерской Стим ведется на веб-сайте, который находится н сервере Steam и позволяет участникам голосовать за контент. Этот процесс доступен в отношении информации, которая открыта для просмотра. При этом приложения в этом разделе по умолчанию не видны, если в профиле не установлена доступность.

Раздел WorkShop Стим работает с 13 октября 2011 года, и на сегодняшний день сюда можно загружать предметы с более чем 140 игр. Добавленные вещи легко найти в галерее, а основным требованием является качественная текстура, продуманная анимация и соответствие личности выбранного персонажа.

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Для чего это нужно

Расширенный функционал имеется в Dota2. Здесь мастерскую Steam можно использовать для решения следующих задач:

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

Как пользоваться

Для начала разберемся, где находится Мастерская в Стиме. Для входа в нее сделайте следующее:

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Зная, как найти Мастерскую в Стиме, можно пользоваться ее возможностями. После входа в раздел удается создавать, искать и загружать игровой контент. С правой стороны представлено поле для поиска. Немного ниже доступны все WorkShop и работы пользователей. Их можно сортировать по алфавиту, новизне, популярности и иным параметрам.

После того, как вам удалось зайти в Мастерскую в Стиме, выберите любую из понравившихся работ и войти в нее. Здесь можно будет перейти в раздел описания, просмотра, комментариев и обновлений. Если какая-то работа понравилась, на нее можно подписаться. Для этого жмите на соответствующую кнопку.

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Разобраться, как работать в Мастерской Steam, не составляет труда. Общий алгоритм имеет следующий вид:

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

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

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Ниже представлены вещи для голосования, самые популярные карты и другое. В разделе «Ваша мастерская» можно посмотреть официальный контент, список голосований и другое.

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

Многие спрашивают, как сделать работу в Мастерской Steam. Если речь идет о коллекции, пройдите такие шаги:

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

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

Работа

Общий план, как сделать в мастерской Стим 3D-предметы такой на примере Team Fortress. Алгоритм такой:

Теперь остается разобраться, где в Стиме Мастерская, чтоб добавить новый предмет. Общий алгоритм такой:

Перед тем как пользоваться мастерской Стим для создания и добавления предметов, необходимо определиться с программным обеспечением. На выбор можно использовать разные программы, к примеру, Maya, 3Dcoat, Photoshop, Modo и другие. Для создания вещей рекомендуется пройти уроки по обучению в Ютуб или на специальных сервисах.

Зная, как работать в мастерской Steam, можно оптимизировать любимую игру с помощью уже имеющихся вещей или выступить в роли создателя новых элементов. В последнем случае придется научиться создавать разные 3D или 2D модели, а уже после добавлять их для прохождения модерации. При этом помните, что загрузка не выполняется прямо через клиент Стим. Это делается с помощью игры, которая поддерживает Steam Workshop. Вот почему для начала необходимо уточнить, предусмотрена ли такая поддержка.

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

Источник

Загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Введение

Steam поддерживает как бесплатный, так и платный доп. контент (DLC), который пользователь может добавить с помощью цифрового ключа или приобрести в магазине Steam. В списке игр пользователя в клиенте Steam игра с доп. контентом выглядит как одно приложение, а посмотреть доп. контент можно через диалоговое окно свойств игры.

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

Советы и рекомендации

Видеоурок

Настройки

In Steam, each piece of downloadable content is identified by its own app ID. Unlike the base game, the DLC uses the app ID as the depot ID.

Creating a new DLC app ID is done by viewing the base game’s «All Associated Packages, DLC, Demos And Tools» and clicking on the «Add New DLC» button.

Внутриигровые покупки

Steamworks games can support in-game downloadable content, which allows a user to browse, purchase, and download new content without leaving the game. Steam can display any available content to the user and conduct the entire purchase path through a web browser session that can be opened in the Steam overlay sitting on top of the game. When a user purchases downloadable content, the Steam client will automatically download the content, display an in-game Steam notification to the user when the download is complete, and notify your game that the download has completed and the user owns new content.

Steamworks games can use ISteamFriends::ActivateGameOverlayToStore to display downloadable content in the Steam overlay. ISteamFriends::ActivateGameOverlayToStore can display all downloadable content for your game (pass in your game’s app ID), or information about a specific piece of downloadable content (pass in the app ID of the downloadable content). Before directing a user to the store, Steamworks games should call ISteamUtils::IsOverlayEnabled to determine if the user has disabled the Steam overlay through the Steam client settings.

Note: To prevent version incompatibilities with the executing version of a game and downloadable content, Steam will only download new content if the user is running the newest version of the game.

Настройка дополнительных хранилищ доп. контента

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

DLC is typically downloaded and installed as soon as it is purchased by a Steam user. However DLC can be marked to not download automatically so that the game has control of when the DLC download occurs. This can be useful for supporting streaming installs or downloads based on game logic.

Тестирование

Before you begin testing downloadable content, check that you own the DLC by selecting your game in the Steam client’s games list, then selecting ‘Properties’, and finally selecting the ‘DLC’ tab. If the DLC does not appear there, you do not own it.

You can simulate gaining ownership of downloadable content through the Steam client. When your new content is added to Steam, you will be given you a package that grants your publisher group access to the content. Usually this package will have a name which contains «Developer Comp».

Предотвращение мошенничества

You run a risk of fraud any time you offer something of value that can be purchased.

DLC fraud involves a user purchasing high-value DLC with a stolen payment method (such as a credit card). The fraudsters’ goal is to move the any available contents of the DLC to another account, either owned by the fraudster or a player who is paying for those goods outside of the system. Alternatively, fraudsters may attempt to sell the entire account, again while being paid outside of the system.

As such, we do not recommend including in-game currency or tradable items in DLC. Those sales are better served by Microtransactions and the suggestions outlined in that document.

Steam catches most fraudulent transactions within 48 hours of the initial purchase. A DLC ownership check at launch or after 48 hours will reconcile changes to transactions according to their updated status.

Источник

Простая работа со Steamworks

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Unity, C#, Steamworks.NET и Facepunch.Steamworks

Введение

Как и большинству разработчиков игр, мне очень хочется выложить мою игру в Steam.

Как и большинству инди-разработчиков игр, мне не хватает доступа к ресурсам/знаниям, которые дали бы мне чётко понять, что же действительно значит «быть в Steam».

Сложно заполнить этот пробел в знаниях, потому что, несмотря на подробную документацию возможностей Steam, трудно понять, с чего начать в этом огромном хранилище документов и как связаны между собой его отдельные части. Кроме того, основные обсуждения платформы Steam проходят в закрытом форуме, доступном только для подтверждённых платформой через Steam Direct или реферальную ссылку Valve разработчиков. То есть для начинающих поиск ответов на простые вопросы может оказаться сложной задачей.

Поэтому я решил написать высокоуровневый обзор для людей, которые только начинают разбираться в том, как заставить Steam работать с их играми. В частности, я подробно рассмотрю Steamworks SDK, программную библиотеку Valve, предоставляющую доступ к таким аспектам, как мастерская (Workshop), таблицы лидеров (Leaderboards), достижения (Achievements) и так далее.

Steamworks хорошо задокументирована компанией Valve, но документация написана с точки зрения человека, использующего нативную библиотеку C++ и уже имеющего представление о том, как все эти функции пересекаются. Если это не ваш случай, то так даже лучше! Ниже представлено объяснение для другого человека, который пишет игру на языке более высокого уровня и просто хочет обеспечить простую интеграцию со Steamworks (а это возможно, я гарантирую!). Конкретнее, этот пост предназначен для людей, использующих в той или иной форме C#, а в идеале — работающих в игровом движке Unity.

Steamworks

Steamworks состоит из двух частей. Во-первых, это портал для разработчиков, предназначенный для управления всем, что связано с существованием игры в Steam, от изменения баннеров игры до управления продажами и списка поддерживаемых контроллеров. Во-вторых, это SDK, предоставляемый Valve для того, чтобы разработчик мог взаимодействовать со всем остальным в Steam, в том числе с мастерской, таблицами лидеров, серверами, достижениями и т.д. Не забывайте об этой системе! SDK «обязателен только для загрузки контента в Steam». Это означает, что можно полностью воздержаться от возни со всеми вышеперечисленными возможностями SDK и сосредоточиться только на том, как загрузить игру в Steam. Однако SDK предоставляет множество других полезных функций, так что давайте настроим его и заставим работать!

Если вы пишете на C++, то можете просто добавить библиотеку к вашей игре, следуя этим инструкциям.

Steamworks.NET обеспечивает взаимно однозначное преобразование функций Steamworks в функции C#, но это значит, что для работы вам потребуется полное понимание Steamworks как библиотеки. Для новичков, желающих отделаться простой работой, этого может оказаться слишком много. Если вы хотите сделать что-то посложнее, для Steamworks.NET придётся написать собственную обёртку поверх её обёртки, что лишает смысла саму идею обёртывания.

загрузка контента стим что это. Смотреть фото загрузка контента стим что это. Смотреть картинку загрузка контента стим что это. Картинка про загрузка контента стим что это. Фото загрузка контента стим что это

Facepunch.Steamworks

Из-за этих ограничений и по другим причинам, Facepunch Studios (известная по играм Rust и Garry’s Mod) захотела написать более удобную библиотеку Steamworks для C#/Unity.

Она избавляет от необходимости писать кучу кода для реализации простых (и сложных) задач в Steamworks, позволяя сосредоточиться на самой «работе» со Steam. Библиотека используется в Rust, то есть её работа тестируется на игре с одним из самых больших сообществ игроков в Steam. Сложные задачи абстрагируются в простые вызовы функций, сама библиотека состоит всего из трёх файлов, то есть не особо раздувает проект. Не могу выразить, насколько она полезна для новичков, это настоящая находка. Создатель Steamworks.NET даже сказал, что Facepunch.Steamworks — это «именно то, что во что я хотел превратить Steamworks.NET дальше» и что «для большинства разработчиков она должна стать выбором по умолчанию». Steamworks.NET по-прежнему доступна для тех, кто хочет реализовать собственную версию Facepunch.Steamworks, но, по-моему, что хорошо для Rust, то достаточно хорошо и для меня. Как же работает библиотека и что в ней особенного? Давайте начнём разбираться.

Начало работы

Во-первых, можно подумать, что для начала работы с Steamworks нужно быть подтверждённым разработчиком Steamworks, но на самом деле, использовать SDK можно сразу, не проходя процесс регистрации. Valve предоставила разработчикам тестовый «AppID» 480, для которого можно программировать.

AppID

AppID — это уникальный идентификатор игры в Steam (и в Steamworks). Его вы получаете в сразу после регистрации игры. Он «занимает» вам место в Steam/Steamworks и позволяет полностью распоряжаться всем, связанным с этим AppID. AppID 480 соответствует «SpaceWar», демонстрационной игре, созданной Valve. Она имеет открытые исходники и показывает некоторые из возможностей Steamworks (обязательно изучите её!).

Уникальный AppID — это удобно и очевидно необходимо для вашей игры на определённом этапе, тестовый же AppID (480) позволяет вам работать со службами Steam как будто ваша игра уже готова. Когда вы получите реальный AppID, то подставьте его, а пока вполне подойдёт 480. То есть не стоит создавать сервер с названием «Сервер с названием моей игры, ожидающей регистрации в качестве торговой марки».

Скачивание и импорт Facepunch.Steamworks

Unity

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

И… на этом всё! Если прикрепить этот скрипт к «GameObject» в сцене и перейти в игровой режим, то вы увидите, что в Steam вы играете в «Spacewar», а в консоли выводится базовая информация Steam о вас (если не получилось, проверьте, выполнен ли вход в Steam).

Жизнь с Facepunch.Steamworks

Возможности

После настройки доступ к более глубоким функциям Steam становится довольно простым, потому что библиотека FP обрабатывает и обёртывает почти все части стандартного Steamworks SDK. Однако по-прежнему стоит вопрос: какие же это части? Вот небольшой список с описаниями того, с чем можно работать (в библиотеке FP):

1. Серверы — создание серверов с помощью клиента игрока или запуск «безголового» сервера в любом другом месте. Используется для чувствительных к пингу игр, имеющих высокие требования к сети (таких как Dota 2, Overwatch и т.д.)

2. Лобби — это «места встреч» игроков, используемые для обмена SteamID или другой информацией пользователей.

3. Друзья — вы и ваши друзья-игроки в Steam.

4. Мастерская — загрузка/скачивание контента в мастерскую Steam Workshop и из неё.

5. Таблицы лидеров — создание и хранение глобальных таблиц лидеров для игры.

6. Достижения — создание и выдача достижений.

7. Сеть — отправка P2P-данных клиентам.

8. Steam Cloud — сохранение данных в облако Steam Cloud! Очень полезно для сохранений игр.

9. Голос — взаимодействие с голосовым API Steam для внутриигрового чата.

10. Статистика — задание статистики на стороне Steam для заданного игрока.

Наилучший способ научиться использованию нужных функций — посмотреть, есть ли её рабочий пример в тестовом проекте Facepunch.Steamworks (ПРИМЕЧАНИЕ: это не тестовый проект Unity), и смоделировать её реализацию в своей игре.

Большинство из возможностей задокументировано в wiki библиотеки FP, но на самом деле достаточное описание есть у нескольких классов. Если вы не можете найти пример, изучите код библиотеки и посмотрите, реализована ли функция вообще. Если нет, то посмотрите, насколько далеко вы можете зайти в её реализации со своей стороны или просто отправьте сообщение об ошибке в библиотеку. Обычно разработчики Facepunch очень отзывчивы, они могут вам рассказать, работают ли они над чем-то или нет, и даже могут посодействовать вам в помощи сообществу, если вы решите реализовать что-то самостоятельно.

Подписчики и обратные вызовы

Если вам нужно получить список всех лобби в игре с помощью библиотеки FP, то вы напишете следующее:

Заметьте, что здесь не выполняется возврат или присваивание. Но в таком случае как нам получить то, что мы запрашиваем? После вызова функции в Steamworks бэкенд Steam подготавливает всё необходимое, а затем отправляет вам данные через «обратный вызов» (callback). Steam почти буквально «вызывает вас», чтобы сообщить: «Эй, твои данные готовы!».

Для получения вызова нам нужно «поднять трубку», или, как это обычно называется, «подписаться» на обратный вызов. Это реализуется определением функции, получаемой передаваемые обратным вызовом данные. Иногда он не передаёт данных, тогда обратный вызов используется в основном как «обработчик» или как способ сообщить, что можно продолжать. Когда вы находитесь внутри обработчика обратного вызова, можно безопасно продолжать работу. Вот пример:

Понимание этого паттерна будет очень полезно при использовании библиотеки. Также очень полезно разобраться в том, что же в действительности делает Steamworks, так что стоит изучить его документацию. Если вы хотите более подробно изучить принцип работы, рекомендую прочитать документацию Valve по этой теме, а также некоторые разделы веб-сайта Steamworks.NET.

Двигаемся дальше

С этого момента вы можете делать всё, что угодно! Valve не ставит никаких требований, но если уж вы попали на платформу, то очевидно, что вам в первую очередь интересно связаться с ней и с её сообществом теми способами, которые предоставила Valve. После регистрации в Steam Direct вам достаточно просто заменить AppID и перенести все функции Steam, которые вы реализовали для тестового AppID.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *