[/list] [b]Note[/b]: An account must have 'Edit App Metadata' privileges for the app in question in order to edit this section. It's also a good idea to browse other product hubs to get an idea of what customization options you might want to take advantage of. …
ref=4045-USHJ-3810]Steam Community Rules And Guidelines[/url]. They should be temporary in order to serve as a reminder of the discussion rules. If a player has received previous temp bans, it may be appropriate to permanently ban them from your Hub. …
[subsection=SteamPartyBeaconLocation_t]SteamPartyBeaconLocation_t[/subsection] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]m_eType[/b][/td][td][apitype]ISteamParties::ESteamPartyBeaconLocationType[/apitype][/td][td]The location type.…
[/td][/tr] [tr=k_ESteamPartyBeaconLocationType_ChatGroup][td][b]k_ESteamPartyBeaconLocationType_ChatGroup[/b][/td][td]1[/td][td]A Steam Chat Room Group.[/td][/tr] [tr=k_ESteamPartyBeaconLocationType_Max][td][b]k_ESteamPartyBeaconLocationType_Max[/b][/td][td][/td][td]Value is always one greater than the largest valid location type value.…
[/td][/tr] [tr][td][b]type_filter[/b][/td][td]string[/td][td][/td][td]Optional comma separated list of types to filter on[/td][/tr] [/table] Get a list of appIDs associated with a WebAPI key. Type_filter can used to specify certain app types to be returned. Possible values are "game,application,tool,demo,dlc,music". …
" under "Create A New Application" on the Steamworks landing page. [section=types_of_applications]Types of Applications[/section] The following are the different types of applications that you can create on Steam. …
[table] [tr] [td][b]Game[/b][/td] [td]All games, including VR and non-VR titles, will be under this application type.[/td] [/tr] [tr] [td][b]Software[/b][/td] [td]Products such as Audio Production, Design & Illustration, and Photo Editing will be under this application type.…
Some games have a particular mode, or portion of the game that matches a theme. However, in order to be eligible, a game must be primarily about the theme. For example, an adventure game that includes a racing mini-game would not be eligible for the Racing Sale. …
Do I need to register my game before entering a discount?[/b] A. Yes, you need to do the following things in order: [olist] [*]Follow the link in the invitation email, or click the opt-in link provided in each event's dedicated documentation. …
. [*][b]Your Game's Store Page[/b] - Your base game's store page lists the available DLC in an order that you can specify [*][b]Your Game's DLC Browse Page [/b]- Each game automatically has a page that displays all of the available DLC, whether that is a single item or hundreds of items. [*][b]Store DLC Hub[/b] - A dedicated DLC Hub is currently an experiment in Steam Labs, where players can explore DLC for the games they play. …
[docimg=doc_store_dlc_gamePageList.jpg]doc_store_dlc_gamePageList.jpg[/docimg] You can control which items and in which order they appear on your store page, by modifying the list of DLC in your edit store admin on the "Special Settings" tab. You can also highlight one item of DLC at the top of the DLC list in a bigger way. …
The user will need to click the button in the email and confirm their email address in order to start receiving emails. [/olist] …
[/td][/tr] [tr][td][b]max_members[/b][/td][td]int32[/td][td]✔[/td][td]Maximum number of members for this lobby.[/td][/tr] [tr][td][b]lobby_type[/b][/td][td]int32[/td][td]✔[/td][td][apitype]ISteamMatchmaking::ELobbyType[/apitype] - The type and visibility of this lobby.[/td][/tr] [tr][td][b]lobby_name[/b][/td][td]string[/td][td][/td][td]Unique lobby name if lobby_type = 4. …
[/td][/tr] [/table] Structure of the [code-inline]lobby_metadata[/code-inline] property: [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]key_name[/b][/td][td]string[/td][td][/td][td]Key name[/td][/tr] [tr][td][b]key_value[/b][/td][td]string[/td][td][/td][td]Key value[/td][/tr] [/table] When using the CreateLobby WebAPI, you'll probably want to set lobby_type to 4 (k_ELobbyTypePrivateUnique). …
[subsection=RetrieveMessage]RetrieveMessage[/subsection] [code=cpp]EGCResults RetrieveMessage( uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]punMsgType[/b][/td][td][apitype]steam_api::uint32[/apitype] *[/td][td][/td][/tr] [tr][td][b]pubDest[/b][/td][td]void *[/td][td][/td][/tr] [tr][td][b]cubDest[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td][/td][/tr] [tr][td][b]pcubMsgSize[/b][/td][td][apitype]steam_api::uint32[/apitype] *[/td][td][/td][/tr] [/table] Fills the provided buffer with the first message in the queue and returns k_EGCResultOK or returns k_EGCResultNoMessage if there is no message waiting. pcubMsgSize is filled with the message size. …
[b]Returns:[/b] [apitype]ISteamGameCoordinator::EGCResults[/apitype] [subsection=SendMessage]SendMessage[/subsection] [code=cpp]EGCResults SendMessage( uint32 unMsgType, const void *pubData, uint32 cubData );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unMsgType[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td][/td][/tr] [tr][td][b]pubData[/b][/td][td]const void *[/td][td][/td][/tr] [tr][td][b]cubData[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td][/td][/tr] [/table] Sends a message to the Game Coordinator. …
[subsection=GetFriendMessage]GetFriendMessage[/subsection] [code=cpp]int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]steamIDFriend[/b][/td][td][apitype]steam_api::CSteamID[/apitype][/td][td]The Steam ID of the friend that sent this message.…
[/td][/tr] [tr][td][b]cubData[/b][/td][td]int[/td][td]The size of [code-inline]pvData[/code-inline].[/td][/tr] [tr][td][b]peChatEntryType[/b][/td][td][apitype]steam_api::EChatEntryType[/apitype] *[/td][td]Returns the type of chat entry that was received.[/td][/tr] [/table] Gets the data from a Steam friends message. …
You can also add admin tags that are not visible to normal users. In order for these tags to work for filtering content, any tags entered should exactly match the name of the tag that is published by your game. …
[/list] [/list] [b]Example code[/b] [code] curl --request POST \ --header "Content-Type: application/x-www-form-urlencoded" \ --form appid=30400 \ --form 'itemdefs=[{"appid":"30400","itemdefid":"418","type":"item","display_type":"bag","name":"Bag of Stuff","description":"This bag contains stuff.","background_color":"993300","tradable": true,"marketable": true,"commodity": true,"tags":"class:human;type:bag"}, {"appid": "30400","itemdefid":"403","type":"item","display_type":"cat","name":"Cat of Bags","description":"This cat contains multitudes.…
[section=GetAccountList]GetAccountList[/section] [code=http]GET https://api.steampowered.com/IGameServersService/GetAccountList/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.…
[section=ResetLoginToken]ResetLoginToken[/section] [code=http]POST https://api.steampowered.com/IGameServersService/ResetLoginToken/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.…
[table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unBrowserHandle[/b][/td][td][apitype]ISteamHTMLSurface::HHTMLBrowser[/apitype][/td][td]The handle of the surface that is navigating.…
[/td][/tr] [tr][td][b]pchTarget[/b][/td][td]const char *[/td][td]The html link target type (i.e _blank, _self, _parent, _top ).[/td][/tr] [tr][td][b]pchPostData[/b][/td][td]const char *[/td][td]Any posted data for the request.…
[code] itemdefid: 500 type: tag_generator name: Tag Generator Paint tag_generator_name: paint_color tag_generator_values: red:33;blue:33;green:33;gold:1 itemdefid: 100 type: tag_tool name: Random Paint Can tag_generators: 500 tags_to_remove_on_tool_use: paint_color [/code] Then when a user applies the "Random Paint Can" tool to their "Hat" using the [api]ISteamInventory::ExchangeItems[/api] call, they have a 33% chance to get either "red," "green," or "blue" and a 1% chance to get "gold.…
Here's an example of an item that keeps track of kills on a rocket launcher. [code] itemdefid: 100 type: item name: Rocket Launcher itemdefid: 200 type: tag_tool name: Kill Stat Tracker tags: stat_tracker:kills tags_to_remove_on_tool_use: stat_tracker:kills [/code] Using the Steamworks API you can have the client update properties on the Rocket Launcher for the dynamic property "kills.…
[/list] [section]Frequently Asked Questions[/section] [h4]Q. Does my game have to be released in order to use Curator Connect?[/h4] [b]A.[/b] Your game needs to have at least a 'coming soon' page publicly visible before you can send copies of your game to Steam Curators. …
[/b] You must have "Generate CD Keys" permission within Steamworks in order to access the Curator Connect feature. If you have that permission, you will see a link under the "Marketing" section on your app landing page in Steamworks. …
[/td][/tr] [/tr] [/table] AddItem is used to add new items directly in a user's inventory. For each itemdef, an instance of that type is created and added to the target account. Items of type 'bundle' or 'generator' are unpacked at the time they are added. The response message provides information about the item or items that were actually inserted in the inventory. …
[/td][/tr] [/table] Structure of the [code-inline]updates[/code-inline] property: [table] [tr][th]Name[/th][th]Type[/th][th]Required[/th][th]Description[/th][/tr] [tr][td][b]itemid[/b][/td][td]uint64[/td][td]✔[/td][td]The id of the item being modified.…
Even if you are asking for feedback that will impact gameplay, customers need something to start with in order to give informed feedback and suggestions. 7. [b][i]Don't launch in Early Access if you are finished with development.[/i] [/b]If you have all your gameplay defined already and are just looking for final bug testing, then Early Access isn’t right for you. …
This notice will appear when either of the following criteria has been met: [list] [*]It has been more than 12 months since a build has been assigned to the 'default' branch in Steamworks. [*]It has been more than 12 months since the developer has posted an 'update' type event, communicating to players about the update (This includes all three 'update' type events: Major Update, Regular Update, or Patch Notes) [/list] [section]Frequently Asked Questions[/section] [list][*][h4]Q: Can my unreleased Early Access Game be listed as Coming Soon?…
Individual fields for CPartnerFinancials_SalesResult will only be filled for relevant line_item_type and package_sale_type values, demarcated below via the Package, MicroTxn, and CD-Key columns. [b][u]How to determine a CPartnerFinancials_SalesResult Category[/u][/b] [b]Package:[/b] line_item_type = "Package" and package_sale_type = "Steam" [b]MicroTxn:[/b] line_item_type = "MicroTxn" [b]CD-Key:[/b] line_item_type = "Package" and package_sale_type = "Retail" [b][u]Identifying Fields[/u][/b] Each CPartnerFinancials_DetailedSalesResult entry has within it a set of identifying fields (eg. packageid, appid, country_code, etc.) in addition to aggregated values (eg. gross_units_sold, gross_units_returned, gross_sales_usd etc.) …
Equivalent to "ItemID" from the old CSV feed.[/td][/tr] [tr][td]✔[/td][td][b]package_sale_type[/b][/td][td]string[/td][td]✔[/td][td][/td][td]✔[/td][td]The type of redemption, Steam sale or Retail key. Max size - 64 characters.…
[subsection=BReleaseSteamPipe]BReleaseSteamPipe[/subsection] [code=cpp]bool BReleaseSteamPipe( HSteamPipe hSteamPipe );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]hSteamPipe[/b][/td][td][apitype]ISteamClient::HSteamPipe[/apitype][/td][td]The pipe to release.…
[subsection=CreateLocalUser]CreateLocalUser[/subsection] [code=cpp]HSteamUser CreateLocalUser( HSteamPipe *phSteamPipe, EAccountType eAccountType );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]phSteamPipe[/b][/td][td][apitype]ISteamClient::HSteamPipe[/apitype] *[/td][td][/td][/tr] [tr][td][b]eAccountType[/b][/td][td][apitype]steam_api::EAccountType[/apitype][/td][td][/td][/tr] [/table] Create a Steam user that won't be shared with anyone else. …