Each playtime generator grant will be tracked separately if any of the drop settings are specified ('drop_interval', 'use_drop_window', 'drop_window', 'drop_max_per_window' ). In other words, if the itemdef does [b]NOT[/b] any drop settings, then it shares drops with all other playtime generators without drop settings and they are all limited by the application's drop interval. …
Alternatively it can be used to prevent any future drops of a deprecated item if the value is set to zero. We will only acknowledge this setting if the [code-inline]use_drop_limit[/code-inline] is assigned to "true". …
[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]The app to use the account for[/td][/tr] [tr][td][b]memo[/b][/td][td]string[/td][td]✔[/td][td]The memo to set on the new account[/td][/tr] [/table] Creates a persistent game server account [section=SetMemo]SetMemo[/section] [code=http]POST https://api.steampowered.com/IGameServersService/SetMemo/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 user authentication key.[/td][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]✔[/td][td]The SteamID of the game server to set the memo on[/td][/tr] [tr][td][b]memo[/b][/td][td]string[/td][td]✔[/td][td]The memo to set on the new account[/td][/tr] [/table] This method changes the memo associated with the game server account. …
[list] [*]Make sure your Steam Deck/Machine is connected to the network, and all updates have been applied ([b]Settings > System[/b]) [*][b]On your Steam Deck/Machine[/b]: Go to Settings > System, and select [b]Enable Developer Mode[/b] under the System Settings section. Then in Settings > Developer, select [b]Pair new host [/b]under the Development Kit section [*][b]On your Dev PC:[/b] In the Devkit tool, look for your Steam Deck/Machine. …
[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]AppID of game[/td][/tr] [tr][td][b]starttime[/b][/td][td]uint32[/td][td][/td][td]Start time, set as a Unix timestamp[/td][/tr] [tr][td][b]endtime[/b][/td][td]uint32[/td][td][/td][td]End time, set as a Unix timestamp[/td][/tr] [tr][td][b]continue_token[/b][/td][td]string[/td][td][/td][td]Pagination token from the previous response. …
[/td][/tr] [tr][td][b]steamid[/b][/td][td]uint64[/td][td]*[/td][td]SteamID of the account that will confirm the build change. This parameter is required if betakey is set to public and the app is released[/td][/tr] [tr][td][b]description[/b][/td][td]string[/td][td][/td][td]optional description for this build[/td][/tr] [/table] The steamID is required when an app is released and the betakey is set to public. …
[/list] [/list] [subsection]Getting Started[/subsection] You can get started right away by setting up your curated Workshop page, adding a simple form within your game, and posting guidelines and style guide information for potential item creators. …
There are two parts to this: [olist] [*] Beta of your game (via Steam) - The first step is to create an updated build of your game and set it as a beta in Steam. This enables Steam to deliver a separate version of your game that customers have to opt in to and can be optionally password protected. [*] Beta of your Workshop (via Group) - You can set up a group in the Steam Community and use membership in that group to gate access to the Steam Workshop. …
[introblock=LIvestream_2.gif] [h5]In Brief[/h5]Set up a livestream to appear on your game's store page, developer homepage or special sale landing page. [h5]Level of integration[/h5]Basic streaming of your gameplay through Steam is built in. …
[/introblock] [subsection]Table of contents[/subsection] [table] [tr][td]Live Streaming[/td][td]This page[/td][/tr] [tr][td][doclink=store/broadcast/setting_up]Setting Up A Stream[/doclink][/td][td]Requirements, setup, and configuration[/td][/tr] [tr][td][doclink=store/broadcast/demo]Streaming Demos[/doclink][/td][td]Livestreaming a game demo to your store page[/td][/tr] [tr][td][doclink=store/broadcast/stats]Stats & Reporting[/doclink][/td][td]Viewership stats from your past streams[/td][/tr] [tr][td][doclink=store/broadcast/faq]FAQ[/doclink][/td][td]Frequently Asked Questions on Steam broadcast[/td][/tr] [/table] [section]Broadcasting on Steam[/section] Steam offers a feature that allows content to be streamed to Steam client and the web store. …
[/td][/tr] [tr=k_cbMaxGameServerGameDir][td][b]k_cbMaxGameServerGameDir[/b][/td][td]int[/td][td]32[/td][td]The maximum size (in UTF-8 bytes, including the null terminator) supported for the game server mod dir which is set with [api]ISteamGameServer::SetModDir[/api].[/td][/tr] [tr=k_cbMaxGameServerMapName][td][b]k_cbMaxGameServerMapName[/b][/td][td]int[/td][td]32[/td][td]The maximum size (in UTF-8 bytes, including the null terminator) supported for game server map names which is set with [api]ISteamGameServer::SetMapName[/api].[/td][/tr] [tr=k_cbMaxGameServerName][td][b]k_cbMaxGameServerName[/b][/td][td]int[/td][td]64[/td][td]The maximum size (in UTF-8 bytes, including the null terminator) supported for game server names which is set with [api]ISteamGameServer::SetServerName[/api].[/td][/tr] [tr=k_cbMaxGameServerTags][td][b]k_cbMaxGameServerTags[/b][/td][td]int[/td][td]128[/td][td]The maximum size (in UTF-8 bytes, including the null terminator) supported for game server tags which is set with [api]ISteamGameServer::SetGameTags[/api].…
[/td][/tr] [tr][td][b]actionSetHandle[/b][/td][td][apitype]ISteamInput::InputActionSetHandle_t[/apitype][/td][td]The handle of the action set you want to activate.…
[/td][/tr] [tr][td][b]actionSetLayerHandle[/b][/td][td][apitype]ISteamInput::InputActionSetHandle_t[/apitype][/td][td]The handle of the action set layer you want to activate.…
We generally suggest launch discounts around 10% to 15%, should you chose to set one. There is a limit of 40%. Launch Discounts are optional and are configured near your release date setting on your app landing page. …
See [doclink=/store/pricing]Pricing[/doclink] for more details and best practices on setting base prices. [subsection]30-Day Discount Cooldown[/subsection] A product cannot be discounted within 30 days of another discount. …
[introblock=ComingSoon2.gif] [h5]In Brief[/h5]Set up a page with information about your game to start building an audience and giving players a place to learn more and add to their wishlist. [h5]Level of integration[/h5]You'll need a set of branding images, written description, and ideally a gameplay trailer. [/introblock] [section]Overview[/section] You can put up a Coming Soon page for your product well in advance of your release date. …
[section=Functions]Functions[/section] These are global functions which do not require an interface to set up. You can read more about these functions in [doclink=sdk/api#steam_game_servers]Steamworks API Overview - Steam Game Servers[/doclink].…
[/td][/tr] [/table] Initializes the ISteamGameServer interface object, and set server properties which may not be changed. After calling this function, you should set any additional server parameters, and then call [api]ISteamGameServer::LogOnAnonymous[/api] or [api]ISteamGameServer::LogOn[/api]. …
[/td][/tr] [tr][td]7 days after[/td][td]Next Fest ends, and the Next Fest recap with the top demos goes live.[/td][/tr] [/table] [subsection=demo]Setting Up Your Demo[/subsection] After registration, you'll need to set up your demo on Steam. This means setting up a demo type app, which is attached to your base game on Steam. …
This is completely optional—if you do not have the experience or time to set up a livestream, it's fine to focus your energy on the demo experience and the game itself. A tutorial on [doclink=store/broadcast/setting_up]streaming to your store page[/doclink] is available. …
From September 2026 onwards, Steam will require you to create this branch manually first (if it doesn't already exist for your app), and will require it to be password-protected. [section]Setting Up Local Content Server[/section] First choose a simple, but high performance web server that only needs to serve static files. …
Find your local build in the list of current builds and select Local from the dropdown next to the desired local build, then click 'Preview Change'. [docimg=setLCSLive.png]setLCSLive.png[/docimg] [section]Configuring Steam Client To Use Your Local Content Server[/section] For the Steam client to know where to look for your game, you'll need to create a file, [code-inline]steam_dev.cfg[/code-inline] in the same directory that contains steam.exe. …
[b]See Also:[/b] [api]ISteamUserStats::ClearAchievement[/api], [api]ISteamUserStats::GetAchievementAndUnlockTime[/api], [api]ISteamUserStats::GetAchievement[/api], [api]ISteamUserStats::SetAchievement[/api] [subsection=SetAchievement]SetAchievement[/subsection] [code=cpp]bool SetAchievement( const char *pchName );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchName[/b][/td][td]const char *[/td][td]The 'API Name' of the Achievement to unlock.…
[/list] [b]See Also:[/b] [api]ISteamUserStats::StoreStats[/api], [api]ISteamUserStats::ResetAllStats[/api], [api]ISteamUserStats::GetAchievementAndUnlockTime[/api], [api]ISteamUserStats::GetAchievement[/api] [subsection=SetStat]SetStat[/subsection] [code=cpp]bool SetStat( const char *pchName, int32 nData ); bool SetStat( const char *pchName, float fData );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]pchName[/b][/td][td]const char *[/td][td]The 'API Name' of the stat. …
For sale landing pages, there is a robust set of tools that provide a lot of power and customization. Described here are the minimum set of requirements for a basic page. << [doclink=marketing/event_tools/sales/tools]Back to full sale page tools[/doclink] >> [doclink=store/assets]Go to full graphical asset list [/doclink] Sales page Events are made up of two parts: [olist] [*][b]The announcement[/b] - This is the part of the event that shows up as 'news' on your group's page and in the News Hub for any users that follow your group or developer homepage. [*][b]The landing page[/b] - The sale event page itself that features the games, broadcasts, and/or events that you configure. …
This will be posted within your publisher/developer homepage when you hit 'publish' [/list] [section]Required Artwork and Banners[/section] Download the full set of Photoshop templates here: [url=https://www.dropbox.com/scl/fo/mhf604o6bdbcfr1scq7bx/h?rlkey=9bk0ggiwuvs4o1jdnej4xsy0c&st=sb1voje6&dl=0] CURRENT TEMPLATES[/url] The minimum required banners and artwork are these two: [list] [*][b]Event Cover Image[/b] - This is the image that appears when your page is shared on social media and in lists on Steam [*][b]Store Sale Page Background[/b] - The image that appears at the top and background of your sale page. …
If you need the overlay enabled, you can do so by: [list] [*]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 [/list] [/callout] [section=activating]Activating the overlay from your app[/section] There are a set of functions in the Steamworks API that give you direct access to triggering the game overlay. …
It needs to be a full url, e.g. http://www.steamgames.com/. [*] [api]ISteamFriends::ActivateGameOverlayToStore[/api] This function can open the game overlay to the buy DLC for the current game (see [doclink=store/application/dlc][/doclink] for more info) [*] [api]ISteamUtils::SetOverlayNotificationPosition[/api] Sets which corner of the screen you want notifications ('toasts') to appear. Default is the bottom-right corner of the screen. [*] [api]ISteamUtils::IsOverlayEnabled[/api] Returns true if the overlay is running & the user can access it. …
Steam automatically outputs a number of debug to the [code-inline]logs[/code-inline] folder, for others you may need to use [doclink=#command_line_parameters][/doclink] or [doclink=#console_commands][/doclink] to enable them. Using [api]ISteamUtils::SetWarningMessageHook[/api] allows a Steamworks application to register a function that allows the Steamworks API to provide human-readable error messages to the application when something goes wrong. …
[list] [*] [b]find <string>[/b] - Lets you find other useful commands [*] [b]set_spew_level[/b] - Enables you to set a higher level of output in the steam console as well as log files. ex: "set_spew_level 4 4" - provides the most verbose logging and is very useful for troubleshooting problems [*] [b]app_info_print <AppID>[/b] - Displays all of the information the Steam servers provide about the game. [*] [b]enable/disable_license <PackageID>[/b] - This allows testing of app ownership, typically DLC. [*] [b]testappcloudpaths <AppID>[/b] - Allows testing of auto-cloud configuration before enabling auto-cloud for all customers. …
Any keynames and values stored in the "string" or "dword" keys will be the registry names and values that get set. To set the [url=https://msdn.microsoft.com/en-us/library/aa266441(v=vs.60).aspx]default value[/url] for a registry key, you should enter the key name as [code-inline](Default)[/code-inline]. …
See [doclink=#requirement_os]OS Specific Requirements[/doclink] for more details. [*] [b]AsCurrentUser[/b] - Optional flag, set it to 1 if it's important for that program to run as the current user. Otherwise, the Steam client might run it as Administrator to avoid elevation prompts in Big Picture or VR environments. …
[section]Pair your Steam Frame[/section] First, make sure you have Developer Mode on in [b]Settings > System > Developer Mode[/b]. Then go to [b]Settings > Developer > Pair new host[/b]. [docimg=steamframe-pairhost.png]steamframe-pairhost.png[/docimg] Then you can launch the SteamOS Devkit Client on your PC. …
[subsection]Command-line arguments and environment variables[/subsection] You can set command-line options under the game's [b]Properties [/b]in Steam like you would for any other application. The text in this field gets appended to the launch command (i.e. …
Once all your trading card assets are uploaded, click the edit link beneath “Release State” to configure your card drop settings and mark your assets as ready for review. Once set as ready for review, your cards will automatically appear in our queue to review by a Valve designer. After your assets are approved, you'll see the status update on your Steamworks home page. You’ll then be able to set the release state to “Released” and publish the items. You can check our [doclink=marketing/tradingcards]Steam Trading Cards[/doclink] documentation for more information.…