[/td][/tr] [tr][td][api]ISteamController[/api][/td][td]Steam Controller support API (deprecated and replaced with ISteamInput)[/td][/tr] [tr][td][api]ISteamFriends[/api][/td][td]Interface to access information about individual users and interact with the [doclink=features/overlay][/doclink].…
[/td][/tr] [tr][td][api]ISteamInput[/api][/td][td]Interface for supporting Xbox, PlayStation, Switch and Steam Controllers.[/td][/tr] [tr][td][api]ISteamInventory[/api][/td][td]Steam Inventory query and manipulation API.…
. [*] [b]toolname[/b] - "drmtoolp" is currently the only supported toolname parameter. [*] [b]flags[/b] - Bitmask of the following numeric flags specifying tool behavior. [list=1] [*] [b]0[/b] - Normal wrap (most protection) [*] [b]6[/b] - Compatibility mode (disables obfuscation) [*] [b]32[/b] - Skip debugger check [*] [b]38[/b] - compatibility mode and also skip debugger check (least protection) [/list] [/list] Example run_build.bat script to login, apply DRM, build and upload the build to Steam (where App ID is 480): [code] builder\steamcmd.exe +login mysteamaccount +drm_wrap 480 "D:\src\steamworkssdk\steamworksexample\release\steamworksexample.exe" "D:\src\steamworkssdk\tools\ContentBuilder\content\windows_content\SteamworksExample.exe" drmtoolp 0 +run_app_build ..…
My C# / .Net game doesn't run after applying the Steam wrapper[/b] [b]A.[/b] The Steam wrapper doesn't support .Net applications. Instead of using the DRM wrapper, use [doclink=sdk/api#SteamAPI_RestartAppIfNecessary]SteamAPI_RestartAppIfNecessary[/doclink]. …
This will enable management of [doclink=features/anticheat]Anti-Cheat[/doclink] and [doclink=features/auth#encryptedapptickets] SDK Auth[/doclink] settings for an Application.[/td] [/tr] [tr] [td][b]Economy/Workshop Support[/b][/td] [td]Allows the user to view/grant economy items in the partner site economy support tool.[/td] [/tr] [tr] [td][b]Economy/Workshop Supervisor[/b][/td] [td]Currently same functionality as Support just above.…
Welcome to the Steamworks Web API Reference! Here you will find a complete listing of the currently supported Web API interfaces and methods. To learn more about how to use the Steamworks Web API please see the [doclink=webapi_overview][/doclink]. …
[/td][/tr] [tr][td][webapi]ISteamMicroTxn[/webapi][/td][td]This is the interface used to support [doclink=features/microtransactions]Microtransactions (In-Game Purchases)[/doclink].[/td][/tr] [tr][td][webapi]ISteamNews[/webapi][/td][td]Provides access to the Steam News functionality.…
[section=Overview]Overview[/section] The Xbox One controller, originally designed for Microsoft's Xbox One home game console, was the second 3rd-party device to get official Steam Input support (simultaneous with the Xbox 360 controller and generic XInput devices). In contrast to the PlayStation 4 controller and Steam controller, it has neither trackpads nor gyroscope. …
Action set layers are intended for narrow use cases and a good practice is to apply and remove them only on specific game state changes. [/callout] For games with native Steam Input support, the developer can define specific action set layers activated by the game's code. Additionally, in legacy mode, players can define their own action set layers and the inputs that trigger them, just as they can define their own player-triggered action sets. [section]A practical example[/section] Imagine a class-based shooter with vehicles. This game has native Steam Input support and makes use of action set layers. For basic gameplay, a base action set is always active and covers running around, picking up items, jumping, etc. …
[docimg=inventory_tag_filtering.png]inventory_tag_filtering.png[/docimg] To use tags, first define the categories and tags directly in the Item Definitions, then provide user-visible localized strings in English and any other languages you plan to support. Tags that do not have at least an English localization string will be ignored by inventory features. The values used in the item definition should be short, simple text tokens. …
[subsection]Item Tag Localization[/subsection] Once you've defined tags for your items, to make them visible to users you must provide user-visible translations at least in English, but preferably in all supported languages. This can be set as part of your SteamWorks configuration, on the [url=https://partner.steamgames.com/apps/inventoryservice]Inventory Service[/url] page for your application. …
[/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].…
If you are having problems solving any Steam Family sharing related issues using these APIs, please contact Steam Support. …
This includes the Steam controller and all third party devices supported by the system. This is [i]not[/i] a detailed listing of methods used for interacting with the software from within your game. …
[section]Overview[/section] The Steam HTML Surface API enables the display and render of HTML-based pages directly in a game or application. It is built upon the Chromium Embedded Framework and supports HTML5 markup. [section=GettingStarted]Getting Started with ISteamHTMLSurface[/section] The [api]ISteamHTMLSurface[/api] interface is implemented in [code-inline]isteamhtmlsurface.h[/code-inline] and can be found in the [code-inline]public/steam[/code-inline] folder in the [doclink=sdk]Steamworks SDK[/doclink]. …
It's rarely a good idea to default to always-on though, and if your game supports more than 4 players then always-on is never recommended. Then when the player releases their push-to-talk hotkey, or the gameplay session ends you should call [api]ISteamUser::StopVoiceRecording[/api] to stop recording. …
When a user has been banned by the RequestPlayerGameBan API in the ICheatReportingService, the following happens: [list] [*] The account cannot join secure servers for the AppIDs that are banned [*] The ban is publicly displayed on their Steam Community profile [*] If the user is accessing the game via [url=https://support.steampowered.com/kb_article.php?ref=3784-QLBM-5731]Family Library Sharing[/url], the ban is also applied to the actual owner of the game [/list] [section]Requirements[/section] [b]Multi-player[/b] Banning depends on the game server to exclude banned users from games. …
[/td][/tr] [/table] This method has previous versions which are no longer officially supported. They will continue to be usable but it's highly recommended that you use the latest version. Change history: [list] [*] [b]Version 2[/b] - Fixes returning the leaderboard name in XML. …
[/td][/tr] [tr][td][b]appid[/b][/td][td]uint32[/td][td]✔[/td][td]appid of game[/td][/tr] [/table] This method has previous versions which are no longer officially supported. They will continue to be usable but it's highly recommended that you use the latest version. Change history: [list] [*] [b]Version 2[/b] - Fixes returning the leaderboard name in XML. …
Because Steam Cloud is cross platform the files need to have valid names on all supported OSes and file systems. See Microsoft's documentation on [url=https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx]Naming Files, Paths, and Namespaces[/url]. [*] The current user's Steam Cloud storage quota has been exceeded. …
Because Steam Cloud is cross platform the files need to have valid names on all supported OSes and file systems. See Microsoft's documentation on [url=https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx]Naming Files, Paths, and Namespaces[/url]. [*] The current user's Steam Cloud storage quota has been exceeded. …
Valid options are: "Day", "Week", "Month", "Year" [*] [b]frequency[0][/b] - Frequency (in number of days) for recurring billing. Supported values: 1 - 255 [*] [b]recurringamt[0][/b] - Amount to be billed for future recurring billing transactions. [/list] A user may only have one active billing agreement per game. …
[/h4] Yes, the PC Café Server and the clients need to be able to communicate with Steam for it to manage the licenses and allow users to play. We will not support “offline” mode within the program. [*][h4]Will the pool of commercial game licenses be usable across all the PCs in my location?…
. [*] If you need to specify another port then 80, it must be "ip:port" in quotes [*] Don't add "http://" in front, HTTPS is not supported [/list] Note: The default location of the Steam executable is: [list] [*] [b]For Windows[/b]: [code]C:\Program Files (x86)\Steam\[/code] [*] [b]For macOS[/b]: [code]Steam.app/contents/macOS/[/code] [*] [b]For Linux[/b]: [code]~/.local/share/Steam/[/code] [/list] [b]Note[/b] As of September 2026, Steam will begin requiring newly-created "local" app branches to be [b]password-protected[/b]. …
You can check our [doclink=store/types][/doclink] documentation for more information on the types of releases we support. [docimg=ReleaseOptions_2.png]ReleaseOptions_2.png[/docimg] After you click "Release App", you'll see a summary of actions that the release process will do, including publishing the store package, setting a launch discount live if you chose to have one, setting the game to playable and released and applying the release timestamp of "NOW". …
Learn more: [doclink=store/broadcast/moderation]Broadcast Moderation[/doclink]. [*] [b]Use a streaming tool that supports RTMP[/b] - This will give you more control over your stream and let you show your webcam so players know you are there. For common streaming issues see: [doclink=store/broadcast/faq]Broadcasting FAQs[/doclink] or [doclink=store/broadcast/demo]Broadcasting Game Demos[/doclink]. …