[subsection=SteamGameServer_Init]SteamGameServer_Init[/subsection] [code=cpp]inline bool SteamGameServer_Init( uint32 unIP, uint16 usSteamPort, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString );[/code] [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]unIP[/b][/td][td]uint32[/td][td]The IP address you are going to bind to. (This should be in host order, i.e 127.0.0.1 == 0x7f000001). You can use INADDR_ANY to bind to all local IPv4 addresses.[/td][/tr] [tr][td][b]usSteamPort[/b][/td][td]uint16[/td][td]The local port used to communicate with the steam servers.…
[/td][/tr] [tr=eServerModeNoAuthentication][td][b]eServerModeNoAuthentication[/b][/td][td]1[/td][td]Don't authenticate user logins and don't list on the server list.[/td][/tr] [tr=eServerModeAuthentication][td][b]eServerModeAuthentication[/b][/td][td]2[/td][td]Authenticate users, list on the server list, don't run VAC on clients that connect.…
[b]Example:[/b] [code=nohighlight]http://api.steampowered.com/ISteamNews/GetNewsForApp/v0002/?appid=440&count=1&format=xml[/code] The following values can be passed for this parameter: [list] [*] [h4]JSON[/h4] [list] [*] The API always returns an object containing the named object with the result data. [*] Arrays are represented as an array with the name of the type of the objects in the array. [*] Null is represented as JSON's null. [*] 64 bit numbers are returned as a string. [*] [b]Example:[/b] [code=json] { "appnews": { "appid": 440, "newsitems": [ { "gid": "1904306376092568991", "title": "Prince of Prolander Event ", "url": "http://store.steampowered.com/news/externalpost/tf2_blog/1904306376092568991", "is_external_url": true, "author": "", "contents": "<a href=\"http://rgl.gg/default.aspx\"><img src=\"https://steamcdn-a.akamaihd.net/steam/news/29555/prince.png?…
</p><br>", "feedlabel": "TF2 Blog", "date": 1495218420, "feedname": "tf2_blog", "feed_type": 0, "appid": 440 } ], "count": 2385 } } [/code] [/list] [*] [h4]XML[/h4] [list] [*] XML Attributes are not used. [*] Arrays are represented as a series of sub-elements in the containing element of the type of the array. [*] Null is represented by the word "null" between the element's tags. [*] [b]Example[/b]: [code=xml] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE appnews> <appnews> <appid>440</appid> <newsitems> <newsitem> <gid>1904306376092568991</gid> <title>Prince of Prolander Event </title> <url>http://store.steampowered.com/news/externalpost/tf2_blog/1904306376092568991</url> <is_external_url>true</is_external_url> <author/> <contents><a href="http://rgl.gg/default.aspx"><img src="https://steamcdn-a.akamaihd.net/steam/news/29555/prince.png?…
For general information about communicating with customers, see our [doclink=marketing/community_moderation]Moderation Best Practices documentation[/doclink] and watch [url=https://www.youtube.com/watch?v=Fwv1G3WFSfI]Robin Walker’s full presentation[/url] from Steam Dev Days. [callout][b]Note[/b]: Customers expect to be able to download your game and future updates within the Steam client. …
We have found that for our own games it works best to release major updates every 1-2 months at most. This let us put together a big enough update to be exciting and compelling, and allowed for time to tease or pre-announce those updates before they ship to build anticipation. …
[docimg=PublisherSaleExample]PublisherSaleExample[/docimg] [*][b]Franchise Sales[/b] - such as the [url=https://store.steampowered.com/sale/falloutfranchise2024]Fallout Franchise Sale[/url] or the [url=https://store.steampowered.com/sale/TropicoFranchiseSale2026]Tropico Franchise Sale[/url]. [docimg=FranchiseBannerExample_1.]FranchiseBannerExample_1.[/docimg] [/list] [section=how]How It Works[/section] [olist] [subsection]1. Creator Home[/subsection] First, you'll need to set up your [doclink=store/creator_homepage]Creator Home[/doclink], as this group is the owner of your sale event and it needs to be correctly linked to the games that you'd like to have participate in your event. …
[section]HTML Supported[/section] This is the list of support HTML that we convert to their equivalent bbcode [list] [*]<a href="[i]url[/i]">[i]text[/i]</a> turns into URLs [*]<img src="[i]url[/i]"> turns into an image [*]<b></b>, <strong></strong> turns into bold [*]<i></i>, <em></em> turns into italics [*]<u></u>, <span></span> turns into underline [*]<p>, <br> turns into new lines [*]<h1> ... <h6> turns into headline [*]<ul>, <ol> turns into an unordered list [*]<li> turns into list items [*]<table> turns into table start [*]<th> turns into table header row [*]<tr> turns into table row [*]<td> turns into table column [/list] [subsection]HTML Ignored[/subsection] <html>, <head>, <doctype>, <thead>, <tbody>, <title>, <div>, <hr> and any tag not in the previous list. …
[section=PostGameDataFrame]PostGameDataFrame[/section] [code=http]POST https://partner.steam-api.com/IBroadcastService/PostGameDataFrame/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.…
Steam no longer supports Google Analytics. On July 1 2023, Google replaced their third-party traffic reporting system (Universal Analytics) with their own, called Google Analytics 4 (GA4). …
[list] [*] [doclink=features/steam_controller/device/steam_controller]Steam Controller[/doclink] [*] [doclink=features/steam_controller/device/ps4_controller]Playstation 4 Controller[/doclink] [*] [doclink=features/steam_controller/device/x360_controller]Xbox 360 Controller[/doclink] [*] [doclink=features/steam_controller/device/xb1_controller]Xbox One Controller[/doclink] [*] [doclink=features/steam_controller/device/nsp_controller]Nintendo Switch Pro Controller[/doclink] [*] Steam Link App Mobile Touch Controller [*] Playstation 3 Controller [*] Any DirectInput gamepad [/list] [docimg=controllers.jpg]controllers.jpg[/docimg] Note that the terms "Playstation 4 controller", "Xbox 360 controller", and "Xbox One controller" also refer to any variant devices (such as fighting game joysticks) that use the same input protocol as the base model.…
No configuration work is required for users to access all game functionality.[/td] [/tr] [tr] [td][docimg=playable_50_1.png]Playable badge[/docimg][/td] [td][b]Playable[/b][/td] [td]Your game functions on Deck/Machine, but may require manual work from the user. …
[/list] The Steam Hardware compatibility detail display for your game on Steam Deck/Machine and on Steam on Desktop will direct customers to view the post. [docimg=deck_compat_developer_post_desktop_1.png]deck_compat_developer_post_desktop_1.png[/docimg] [section]FAQ[/section] [b]What application types are eligible for compatibility review?…
[section=GetGameServerPlayerStatsForGame]GetGameServerPlayerStatsForGame[/section] [code=http]GET https://partner.steam-api.com/ISteamGameServerStats/GetGameServerPlayerStatsForGame/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.…
So if Game A and Game B were sold together in a bundle, the sale would appear as 1 unit of Game A and 1 unit of Game B. The CSV from the Sales & Activations Reports portal will also indicate if a package sale was recorded as being sold in a bundle. …
If you are also using the PC Café Server as a content server cache we recommend that it has enough storage to support 1TB of content data. [*][i]Do the client machines have to be on the same network as the Steam PC Café Server?[/i] Yes, the feature will only be properly functioning if server and stations are on the same subnet. …
Adding the following command line will deactivate the auto log off within your network, when the server is active: [b]@bSiteLicenseAllowCachedClientCredentials 1[/b] [/list]…
[section=ReportAbuse]ReportAbuse[/section] [code=http]POST https://partner.steam-api.com/ISteamCommunity/ReportAbuse/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]nIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP address of the server in host order, i.e 127.0.0.1 == 0x7f000001.[/td][/tr] [tr][td][b]nConnPort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The port used to connect to the server, in host order.…
[/td][/tr] [tr][td][b]nIP[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP address of the server in host order, i.e 127.0.0.1 == 0x7f000001.[/td][/tr] [tr][td][b]nConnPort[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The port used to connect to the server, in host order.…
[section]Icon Asset Templates[/section] [table] [tr][td][b]Templates[/b][/td] [td] [url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Download templates[/url] for sizing with examples. [/td][/tr] [tr][td][b]Contents[/b][/td] [td][list] [*]Shortcut Icon [*]App Icon [/list][/td][/tr] [/table] [section=client_icon]Shortcut Icon [color=#ca5029]Required[/color][/section] [docimg=shortcut.png]shortcut.png[/docimg] [b]Usage:[/b] This icon is used when creating desktop shortcuts to launch your application. …
[doclink=marketing/upcoming_events/themed_sales/desktop_companion_2027]More info[/doclink]. [/td][/tr] [tr][td]Jan 25 Feb 1[/td][td]Shop Keeper Fest[/td] [td][url=https://partner.steamgames.com/optin/sale/shop_keep_2027]Registration details[/url][/td] [td]Games about managing a store. …
[subsection][u]2027[/u][/subsection] [subsection]Next Fest | February 22 - March 1, 2027[/subsection] [b]Registration[/b]: [url=https://partner.steamgames.com/optin/sale/nextfest_feb_2027]View registration details[/url] [b]More Info[/b]: [doclink=marketing/upcoming_events/nextfest/feb_2027]View documentation[/doclink] [subsection]Next Fest | June 14 - 21, 2027[/subsection] [b]Registration[/b]: [url=https://partner.steamgames.com/optin/sale/nextfest_june_2027]View registration details[/url] [b]More Info[/b]: [doclink=marketing/upcoming_events/nextfest/june_2027]View documentation[/doclink]…
[section]Free to Play and In-Game Sales[/section] You have two choices for sales made within game and we believe strongly that option #1 will be better for your game and customers. [list] [*] You can add the new currencies to your in-game pricing table and using the [webapi]ISteamMicroTxn/GetUserInfo[/webapi] Web API, know which currency a user should be charged in. …
Please note that there is a considerable amount of overlap between stats and achievements, as such if you are integrating both be aware that a lot of calls can be consolidated. [section]Step 1 - Defining your game's Stats[/section] Stats are application specific and are setup on the [url=https://partner.steamgames.com/apps/stats/]Stats Configuration[/url] page in the Steamworks App Admin backend. …
[code=cpp] #define _STAT_ID( id,type,name ) { id, type, name, 0, 0, 0, 0 } enum EStatTypes { STAT_INT = 0, STAT_FLOAT = 1, STAT_AVGRATE = 2, }; struct Stat_t { int m_ID; EStatTypes m_eStatType; const char *m_pchStatName; int m_iValue; float m_flValue; float m_flAvgNumerator; float m_flAvgDenominator; }; [/code] Next we define a helper class that will wrap all of the Steam Stats API calls as well as creating all of the [doclink=sdk/api#callbacks]Steam callbacks[/doclink]. …
[/td][/tr] [tr][td][b]Templates[/b][/td] [td][url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Download templates[/url] for sizing and text placements on event images. [/td][/tr] [/table] [section=cover]Cover Image [color=#ca5029]Required[/color][/section] [docimg=cover.png]cover.png[/docimg] [b]Size:[/b] 800px wide x 450px tall [b]Design:[/b] This image should primarily contain the artwork and branding for your event. …
[section]Overview[/section] Steam started as a multiplayer gaming platform with the release of Counter-Strike 1.6 and multiplayer has always been a huge focus. Steam provides many different features and APIs to improve the multiplayer experience for developers and customers alike. …