. [*] [url=http://store.steampowered.com/about/]The Steam for Linux client[/url]. [*] The basic Linux development tool set (e.g. g++, gcc, and a make utility); contained in the build-essential package. Install this package either by using Ubuntu Software Center or from an open terminal window with the apt-get command: sudo apt-get install build-essential. [*] The latest version of the [url=https://github.com/ValveSoftware/steam-runtime]Steam Linux Runtime[/url] which includes the tools and a complete set of libraries required to ship Linux games on Steam. …
Typically, proprietary drivers out-perform open-source drivers and have a larger feature set. In addition, the age of the driver can vary between proprietary and open-source versions. [b]Q: The [doclink=features/overlay][/doclink] won't work when launching from outside of Steam.…
These are the standard store graphical assets. Most of these are required as part of setting up your game on Steam. [section]Store Capsule Rules[/section] [b][color=#ca5029]IMPORTANT NOTE:[/color][/b] Please see [doclink=store/assets/rules]Graphical Asset Rules[/doclink] for important rules on what can and cannot be included in your graphical asset capsules. …
[b]Size: [/b] 1438px x 810px [section=bundle]Bundle Assets[/section] Bundles use the same set of assets as other products on Steam, with one addition: [subsection]Bundle Header[/subsection] [docimg=civ6.jpg]civ6.jpg[/docimg] [b]Usage:[/b] This image appears at the top of the bundle detail page on Steam. …
That will give you more control to configure your broadcast, and let you point Steam directly at your game appID rather than SteamVR.exe. [*][h4]Q. Can I test a stream on my store page by setting it to friends only?[/h4] A. No. Only public streams can appear on your store page. [*][h4]Q. Help, my stream is not showing up on my game product page?…
Click "Edit Store Page " on the app landing page, and add broadcaster(s) into the whitelist in the "Steam Broadcast (Beta) " section on "Special Settings" tab. The event method is preferred since the event start/stop date/time limits how long the stream will show up the store page and can be used to provide context for the content of the stream. …
For more info on how to use the Steamworks Web API please see the [doclink=webapi_overview][/doclink]. [section=SetItemPaymentRules]SetItemPaymentRules[/section] [code=http]POST https://partner.steam-api.com/IWorkshopService/SetItemPaymentRules/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
[/td][/tr] [tr][td][b]make_workshop_files_subscribable[/b][/td][td]bool[/td][td]✔[/td][td]Allow users to subscribe to the workshop items?[/td][/tr] [/table] Sets the payment rules for a specific item. [b]NOTE:[/b] This call requires a publisher API key to use this method. As such this API [b]MUST[/b] be called from a secure server, and can never be used directly by clients! …
The Steam Inventory Service is a set of features that allow a game to enable persistent player inventories without having to run special servers to manage users or items. …
You can get there from here: https://partner.steamgames.com/apps/inventoryservice/ [*] [b]Enable Inventory Service[/b] Once you have item definitions, turn on the Inventory Service by checking "Enable Inventory Service" on the page you uploaded your item definitions. Note that while your item visibility is set to Private in the Steam Economy Settings, only accounts in your Steamworks Partner group will be able to access your items in-game. [*] [b]Download Users Inventory[/b] Have your game client download the users inventory by calling [api]ISteamInventory::GetAllItems[/api]. …
any unread data on the socket will be thrown away if bNotifyRemoteEnd is set, socket will not be completely destroyed until the remote end acknowledges the disconnect This is part of an older set of functions designed around the Berkeley TCP sockets model it's preferential that you use the P2P functions, they're more robust and these older functions will be removed eventually. …
[/td][/tr] [tr][td][b]m_nRemoteIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP of remote host if set. Could be a Steam relay server. This only exists for compatibility with older authentication api's.[/td][/tr] [tr][td][b]m_nRemotePort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The Port of remote host if set. …
Read on for more details on these two options. [subsection]Optional separate store page[/subsection] When setting up your demo store presence, you can optionally choose to enable an entire separate store page for your demo, giving you space to more fully describe your demo. …
[section]Testing your demo[/section] To work properly for customers, your application type must be set as 'Demo' and the App ID of your base game must be entered in the General Application Settings section of the Steamworks website for your demo. …
In many cases, we urge you to consider whether recurring subscription is really the right path for your product. Many products have set off down this path and discovered that customer appetite for signing up to be billed on a recurring basis is limited and as a result many products have subsequently switched to a traditional single up-front payment method. …
Please see [doclink=features/microtransactions/recurring_billing][/doclink] for details on getting this set up. [b]General Experience:[/b] [list] [*] The game is typically a free-to-play, but could also work with a standard purchaseable game. [*] From within the game, a user would find a purchase option to sign up for a recurring subscription. …
In cases where an API key is required, it can be provided either as a standard parameter or by setting the 'x-webapi-key' request header value. [section=user-keys]User Keys[/section] The standard user keys are available to everyone, all that is required is a Steam account and the domain name that will be associated with this key. …
[/i] [*] Ensure the applications associated with the group are correct before creating a key. [*] Select [b]Create WebAPI Key[/b]. [*] Select the set of desired key permissions. [*] Select [b]Save Changes[/b] [*] The newly created key will display in the right-hand sidebar of that page. …
By default, all tags submitted by the game to Steam will show up listed for customers to see in the right-hand column of your application's Workshop home page. These tags are defined with [doclink=api/ISteamUGC#SetItemTags]ISteamUGC::SetItemTags[/doclink] when an item is uploaded from your game or submission tool. [docimg=tags_public.jpg]tags_public.jpg[/docimg] [section]Overriding Tags[/section] You can override the list of tags by specifying the specific tags and category titles that you wish to be visible. …
If you need the overlay enabled, you can do so by: [olist] [*]Making sure your Steam account has the Edit App Metadata permission [*]Navigate from the App's landing page to > Edit Steamworks Settings > Installation tab > General Installation [*]Check box for Enable Steam Overlay for Application [*]Publish [/olist] [/callout] [section=activating]Integrating Steam Timeline functionality in your app[/section] The Steam Timeline API calls can be found here: [api]ISteamTimeline[/api] [section=icons]Timeline Icons[/section] Steam Timelines includes a set of icons ready to use for your game. …
= C_BasePlayer::GetLocalPlayer()->GetUserID() ) return; const char* eventname = pEvent->GetName(); if ( V_strcmp( "survival_round_start", eventname ) == 0 ) { SteamTimeline()->SetTimelineGameMode( k_ETimelineGameMode_Playing ); } else if ( V_strcmp( "round_end", eventname ) == 0 ) { SteamTimeline()->SetTimelineGameMode( k_ETimelineGameMode_Staging ); } else if ( V_strcmp( "heal_success", eventname ) == 0 ) { SteamTimeline()->AddTimelineEvent( "medkit32", "Healed", CFmtStr( "Restored %d Health", pEvent->GetInt( "health_restored" ) ), 0, -5.f, 5.f, k_ETimelineEventClipPriority_Standard ); } else if ( V_strcmp( "player_incapacitated_start", eventname ) == 0 ) { C_TerrorPlayer* pAttacker = (C_TerrorPlayer*)UTIL_PlayerByUserId( pEvent->GetInt( "userid" ) ); const char* pszAttacker = pAttacker ? …
If your game is eligible for a marketing message, we will reach out to you to notify you and set that up. [h4]Q: Can I change my capsule art to reflect Advance Access?[/h4] A: No, you should not change your capsule art to include any banners indicating Advance Access status. …
[/h4] A: The content (bits being delivered to the user’s client) will become playable if the DLC is in the package that’s set for advance access regardless of having a publicly visible store page. You will still need to set the store page live. [h4]Q: What happens with retail keys I've ordered for the Advance Access Package?…
Before directing a user to the store, Steamworks games should call [api]ISteamUtils::IsOverlayEnabled[/api] 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. …
If you need to add additional DLC depots to support alternate languages, OS's, or architectures, follow the steps below: [olist] [*] Open the Steamworks [url=https://partner.steamgames.com/apps]App Admin[/url] for the base App (All depots are managed in the base App, not in the DLC). [*] Navigate into Steamworks Settings, SteamPipe, Depots. [*] Click the Add New Depot button, set the name, and click OK. Give it a name similar to the existing DLC depot so you can easily identify it. [*] Set the correct language, OS or architecture. [*] Choose the correct DLC from the dropdown box to associate this depot with the DLC. [*] Click Save Changes. …
[table] [tr][td][doclink=features/steamvr/info]Overview[/doclink][/td] [td]Overview of SteamVR.[/td] [/tr] [tr][td][doclink=features/steamvr/settings][/doclink][/td] [td]Explains launch options and Steamworks settings for distributing Virtual Reality applications on Steam.[/td] [/tr] [tr][td][doclink=features/steamvr/input][/doclink][/td] [td]Overview of the SteamVR Input and Skeletal systems.…
This documentation is a collection of resources and FAQs on the ways that working with a publisher might impact how your game is set up and managed within Steamworks. [section]General Resources[/section] How should you choose whether or not to work with a publisher? …
Moderated by Connor Malone from Valve[/sup] [section]Game Access Within Steamworks[/section] When multiple entities (such as a developer team and a publishing company) need access to the same application within Steamworks, some special configuration will be necessary to make sure the right permissions are defined. For a complete break-down on the ways access can be set up, please see [doclink=gettingstarted/managing_apps]Managing Applications[/doclink].…
This will make your store page and community hub visible to customers and listed as upcoming, with whatever release date you set. This is a great way to start building an audience and providing customers the ability to add your game to their wishlist in anticipation of your launch. …
[section]Pre-Purchase[/section] Pre-Purchases are not a self-served feature and will need to be set up by Valve. We normally don't recommend pre-purchase launches since spreading out sales across a few weeks during a pre-purchase can make it difficult for your game to have a successful launch day on Steam. …
[subsection]Remote debugging process startup: "early attach" support:[/subsection] The remote debug service can be configured to wait for the user to attach before launching the title. This allows you to set a breakpoint in WinMain or other initialization code. This requires that you first install a Microsoft extension in Visual Studio on your development host: https://marketplace.visualstudio.com/items?itemName=vsdbgplat.MicrosoftChildProcessDebuggingPowerTool [docimg=child-process-debug-extension.png]child-process-debug-extension.png[/docimg] Once the extension is installed, enable child process debugging per the documentation (Debug > Other Debug Targets > Child Process Debugging Settings) Check "Wait for a debug client to attach" in your devkit tool, and upload your title. Launch your title normally. …
For more information on editing packages, please see [doclink=store/application/packages][/doclink]. [section=external]External Testing Options - Setting up closed or open testing[/section] Setting up pre-release testing is easy and free on Steam, and can be configured to small private tests or large public tests, or any combination. …
If you’re interested in releasing a beta version of your game that any customer can buy, check out [doclink=store/earlyaccess]Early Access[/doclink]. There are two common ways of setting up testing for external audiences: [olist] [*]Using the Steam Playtest feature. [*]Using the main game's App ID with release override keys. …
Use the "next_cursor" value returned in the response to set up the next query to get the next set of results.[/td][/tr] [tr][td][b]numperpage[/b][/td][td]uint32[/td][td][/td][td](Optional) The number of results, per page to return.…
That value will correspond to [api]ISteamRemoteStorage#EWorkshopFileType[/api][/callout] [section=SetDeveloperMetadata]SetDeveloperMetadata[/section] [code=http]POST https://partner.steam-api.com/IPublishedFileService/SetDeveloperMetadata/v1/[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key[/b][/td][td]string[/td][td]✔[/td][td]Steamworks Web API publisher authentication key.…
This name is used within the Steam store, including search results. [*][b]Steamworks Info[/b] - On the "General Application Settings" tab under Steamworks Settings. This name is used within the Steam library and the Steam Community. [*][b]Package Info[/b] - Each store package that sells your game. …