[/td][/tr] [tr][td][b]unIPServer[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The IP of the game server in host order, i.e 127.0.0.1 == 0x7f000001.[/td][/tr] [tr][td][b]usPortServer[/b][/td][td][apitype]steam_api::uint16[/apitype][/td][td]The connection port of the game server, in host order.…
[/td][/tr] [tr][td][b]m_bAuthorized[/b][/td][td][apitype]steam_api::uint8[/apitype][/td][td]Did the user authorize the transaction ([b]1[/b]) or not ([b]0[/b])?[/td][/tr] [/table] [subsection=SteamServerConnectFailure_t]SteamServerConnectFailure_t[/subsection] Called when a connection attempt has failed. …
[/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.…
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]…
[subsection=CreateSocketPair]CreateSocketPair[/subsection] [code=cpp]bool CreateSocketPair( HSteamNetConnection *pOutConnection1, HSteamNetConnection *pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity *pIdentity1, const SteamNetworkingIdentity *pIdentity2 );[/code] Create a pair of connections that are talking to each other, e.g. a loopback connection. …
The other two lanes will share bandwidth, with the second and third lanes sharing bandwidth using a ratio of approximately 4:1. (The weights { NA, 4, 1 } would be equivalent.) Notes: [list] [*] At the time of this writing, some code has performance cost that is linear in the number of lanes, so keep the number of lanes to an absolute minimum. 3 or so is fine; >8 is a lot. …
[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.…
[section=GetCurrentClientConnections]GetCurrentClientConnections[/section] [code=http]GET https://api.steampowered.com/ISiteLicenseService/GetCurrentClientConnections/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]siteid[/b][/td][td]uint64[/td][td][/td][td]Site ID to see; zero for all sites[/td][/tr] [/table] See current activity at one or more sites. …
[/td][/tr] [/table] [code-inline]game_names[/code-inline] has the following structure: [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]id[/b][/td][td]uint32[/td][td]ID number of entry; referenced in site info below[/td][/tr] [tr][td][b]name[/b][/td][td]string[/td][td]Game name[/td][/tr] [/table] [code-inline]sites[/code-inline] has the following structure: [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]siteid[/b][/td][td]uint64[/td][td]64-bit SiteID of the site[/td][/tr] [tr][td][b]site_name[/b][/td][td]string[/td][td]Site name you have assigned to the site[/td][/tr] [tr][td][b]clients[/b][/td][td]see below[/td][td]list of active clients at the site[/td][/tr] [/table] [code-inline]clients[/code-inline] has the following structure: [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]ip_address[/b][/td][td]string[/td][td]IP address of client computer[/td][/tr] [tr][td][b]hostname[/b][/td][td]string[/td][td]machine name of client computer[/td][/tr] [tr][td][b]games[/b][/td][td]see below[/td][td]list of active game sessions on the client computer[/td][/tr] [/table] [code-inline]games[/code-inline] has the following structure: [table] [tr][th]Name[/th][th]Type[/th][th]Description[/th][/tr] [tr][td][b]id[/b][/td][td]uint32[/td][td]ID of game in the [code-inline]game_names[/code-inline] section of the response[/td][/tr] [tr][td][b]start_time[/b][/td][td]string[/td][td]time this game session started (RFC 3339 UTC format)[/td][/tr] [tr][td][b]license_type[/b][/td][td]string[/td][td]see below[/td][/tr] [/table] [code-inline]license_type[/code-inline] may have one of the following values: [table] [tr][th]Value[/th][th]Description[/th][/tr] [tr][td][b]user[/b][/td][td]The user owns a license for the game[/td][/tr] [tr][td][b]commercial[/b][/td][td]The user is playing via a paid commercial license applied to the site[/td][/tr] [tr][td][b]free[/b][/td][td]The user is playing via a free commercial license applied to the site[/td][/tr] [/table] [section=GetTotalPlaytime]GetTotalPlaytime[/section] [code=http]GET https://api.steampowered.com/ISiteLicenseService/GetTotalPlaytime/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]start_time[/b][/td][td]string[/td][td]✔[/td][td]Report activity starting on or after this time. …
[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=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] [/table] Gets the specified file's last modified timestamp in Unix epoch format (seconds since Jan 1st 1970). [b]Returns:[/b] [apitype]steam_api::int64[/apitype] The last modified timestamp in Unix epoch format (seconds since Jan 1st 1970). …
[/td][/tr] [tr=k_ERemoteStoragePlatformWindows][td][b]k_ERemoteStoragePlatformWindows[/b][/td][td](1 << 0)[/td][td]This file will download on Windows.[/td][/tr] [tr=k_ERemoteStoragePlatformOSX][td][b]k_ERemoteStoragePlatformOSX[/b][/td][td](1 << 1)[/td][td]This file will download on macOS.…
[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. …
For details on the necessary graphical assets, please download our [url=https://www.dropbox.com/scl/fo/cvkwbosmrimklcl9h0qko/AF5IPErKP-mQM_3YO1Dw2lA?rlkey=b3ad0izykq367g4luasrinw9z&dl=0]Bundles Asset Templates[/url]. You will upload these by switching to the 'Graphical Assets' tab and uploading the desired capsule images. [*] [b]Bundle Description (optional)[/b]: You can enter a written description for your bundle. …
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. …
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]. …
[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. …
We've added that here: [subsection]The most recent day is excluded[/subsection] Wishlist data is updated daily for the previous date (ie. as of March 2nd, you can see all of the data up to March 1st) [subsection]Regional Wishlisting Data[/subsection] You can see a breakdown of wishlist numbers by region or country in the "Regional sales report" page for each app. …
If you send POST data with [code-inline]pchPostData[/code-inline] then the data should be formatted as: [code-inline]name1=value1&name2=value2[/code-inline]. You can load any URI scheme supported by Chromium Embedded Framework including but not limited to: [code-inline]http://[/code-inline], [code-inline]https://[/code-inline], [code-inline]ftp://[/code-inline], and [code-inline]file:///[/code-inline]. …
[/td][/tr] [tr=k_eHTMLKeyModifier_AltDown][td][b]k_eHTMLKeyModifier_AltDown[/b][/td][td]1 << 0[/td][td]One of the alt keys are pressed.[/td][/tr] [tr=k_eHTMLKeyModifier_CtrlDown][td][b]k_eHTMLKeyModifier_CtrlDown[/b][/td][td]1 << 1[/td][td]One of the ctrl keys are pressed.…
[/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. …
[docimg=xbox360_controller_shoulder_buttons.png]xbox360_controller_shoulder_buttons.png[/docimg] [subsection=LTRT]LT and RT (Shoulder triggers)[/subsection] [b]Analog, 1 axis (each)[/b] Like the PlayStation 4 controller, and unlike the Steam controller, the LT and RT analog triggers on the Xbox 360 Controller do [i]not[/i] have a distinct digital "click" at the end of the normal analog range distinguishing a "full pull" from a "soft pull". …
[/td][/tr] [/table] Adds a key-value tag pair to an item. Keys can map to multiple different values (1-to-many relationship). Key names are restricted to alpha-numeric characters and the '_' character. Both keys and values cannot exceed 255 characters in length. …
[/td][/tr] [tr][td][b]unPage[/b][/td][td][apitype]steam_api::uint32[/apitype][/td][td]The page number of the results to receive. This should start at 1 on the first call.[/td][/tr] [/table] Query for all matching UGC. You can use this to list all of the available UGC for your app. …
Wishlist data is updated daily for the previous date (ie. as of March 2nd, you can see all of the data up to March 1st). You can also find some past analysis of wishlist behavior written up in the Steamworks Developer Group [url=https://steamcommunity.com/groups/steamworks/announcements/detail/950630846501680764]here[/url], including averages on conversion rate from wishlist e-mails and conversions of wishlists over time. …
[h4]Q: Is there a cooldown on how often an email is sent for a particular product?[/h4] [b]A:[/b] Yes, there is a 1-2 week cooldown between wishlist emails. This can be extended during periods of high traffic (like seasonal sales). [h4]Q: Where can a user configure their e-mail preferences?…