[/list] [/list] [/list] [b]Example Response:[/b] [code=json] { "response": { "result": "OK", "params": { "count": 4, "orders": [ { "orderid": "1233", "transid": "1234567890123456788", "steamid": "76561197972751825", "status": "PartialRefund", "currency": "USD", "time": "2024-01-23T18:30:00Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:15:00Z", "items": [ { "itemid": 100, "qty": 1, "amount": 99, "vat": 9, "itemstatus": "Refunded" }, { "itemid": 101, "qty": 1, "amount": 1299, "vat": 116, "itemstatus": "Succeeded" } ] }, { "orderid": "1234", "transid": "1234567890123456789", "steamid": "76561197972751825", "status": "Failed", "currency": "USD", "time": "2024-01-23T18:40:30Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:39:00Z", "items": [ { "itemid": 100, "qty": 1, "amount": 99, "vat": 9, "itemstatus": "Failed" } ] }, { "orderid": "1235", "transid": "1234567890123456790", "steamid": "76561197972751825", "status": "Succeeded", "currency": "USD", "time": "2024-01-23T18:40:40Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:39:30Z", "items": [ { "itemid": 101, "qty": 1, "amount": 1299, "vat": 116, "itemstatus": "Succeeded" } ] }, { "orderid": "1236", "transid": "1234567890123456791", "steamid": "76561197972751825", "status": "Chargedback", "currency": "USD", "time": "2024-01-23T19:55:00Z", "country": "US", "usstate": "WA", "timecreated": "2024-01-23T18:40:00Z", "items": [ { "itemid": 102, "qty": 1, "amount": 999, "vat": 89, "itemstatus": "Chargedback" } ] } ] } } } [/code] [section=GetUserAgreementInfo]GetUserAgreementInfo[/section] [code=http]GET https://partner.steam-api.com/ISteamMicroTxn/GetUserAgreementInfo/v2/[/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 [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]publisher key[/url] with [b]Microtransaction[/b] permissions.…
[/list] [/list] [/list] [b]Example Response:[/b] [code=xml] <response> <result>OK</result> <params> <state>WA</state> <country>US</country> <currency>USD</currency> </params> </response> [/code] [section=InitTxn]InitTxn[/section] [code=http]POST https://partner.steam-api.com/ISteamMicroTxn/InitTxn/v3/[/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 [url=https://partner.steamgames.com/doc/webapi_overview/auth#publisher-keys]publisher key[/url] with [b]Microtransaction[/b] permissions.…
This is the best choice for highly competitive games (such as Dota 2) or games with persistent servers that stay around after players leave (such as Team Fortress 2). [section]Steam Server Browser[/section] A large part of the game server experience on Steam comes from the unified server browser. …
[section]Example Query[/section] The following example retrieves the 3 most recent news entries for Team Fortress 2. The request specifies that the response should be returned as JSON and includes: a required appid parameter (Team Fortress 2's AppID is 440), and an optional count parameter to limit the number of results returned. …
Default set of icons: [no_glow] [table] [tr] [th]Icon[/th][th]Name[/th][th]Description[/th] [/tr] [tr] [td][docimg=marker_2.png][/docimg][/td][td]steam_marker[/td][td]Marker[/td] [/tr] [tr] [td][docimg=achievment_1.png][/docimg][/td][td]steam_achievement[/td][td]Achievement[/td] [/tr] [tr] [td][docimg=attack_1.png][/docimg][/td][td]steam_attack[/td][td]Attack[/td] [/tr] [tr] [td][docimg=bolt_1.png][/docimg][/td][td]steam_bolt[/td][td]Bolt[/td] [/tr] [tr] [td][docimg=bookmark_1.png][/docimg][/td][td]steam_bookmark[/td][td]Bookmark[/td] [/tr] [tr] [td][docimg=bug.png][/docimg][/td][td]steam_bug[/td][td]Bug[/td] [/tr] [tr] [td][docimg=cart.png][/docimg][/td][td]steam_cart[/td][td]Cart[/td] [/tr] [tr] [td][docimg=caution.png][/docimg][/td][td]steam_caution[/td][td]Caution[/td] [/tr] [tr] [td][docimg=chat.png][/docimg][/td][td]steam_chat[/td][td]Chat[/td] [/tr] [tr] [td][docimg=checkmark.png][/docimg][/td][td]steam_checkmark[/td][td]Checkmark[/td] [/tr] [tr] [td][docimg=chest.png][/docimg][/td][td]steam_chest[/td][td]Chest[/td] [/tr] [tr] [td][docimg=circle.png][/docimg][/td][td]steam_circle[/td][td]Circle[/td] [/tr] [tr] [td][docimg=combat.png][/docimg][/td][td]steam_combat[/td][td]Combat[/td] [/tr] [tr] [td][docimg=completed.png][/docimg][/td][td]steam_completed[/td][td]Completed[/td] [/tr] [tr] [td][docimg=crown.png][/docimg][/td][td]steam_crown[/td][td]Crown[/td] [/tr] [tr] [td][docimg=death.png][/docimg][/td][td]steam_death[/td][td]Death[/td] [/tr] [tr] [td][docimg=defend.png][/docimg][/td][td]steam_defend[/td][td]Defend[/td] [/tr] [tr] [td][docimg=diamond.png][/docimg][/td][td]steam_diamond[/td][td]Diamond[/td] [/tr] [tr] [td][docimg=edit.png][/docimg][/td][td]steam_edit[/td][td]Edit[/td] [/tr] [tr] [td][docimg=effect.png][/docimg][/td][td]steam_effect[/td][td]Effect[/td] [/tr] [tr] [td][docimg=explosion.png][/docimg][/td][td]steam_explosion[/td][td]Explosion[/td] [/tr] [tr] [td][docimg=fix.png][/docimg][/td][td]steam_fix[/td][td]Fix[/td] [/tr] [tr] [td][docimg=flag.png][/docimg][/td][td]steam_flag[/td][td]Flag[/td] [/tr] [tr] [td][docimg=gem.png][/docimg][/td][td]steam_gem[/td][td]Gem[/td] [/tr] [tr] [td][docimg=group.png][/docimg][/td][td]steam_group[/td][td]Group[/td] [/tr] [tr] [td][docimg=heart.png][/docimg][/td][td]steam_heart[/td][td]Heart[/td] [/tr] [tr] [td][docimg=info.png][/docimg][/td][td]steam_info[/td][td]Info[/td] [/tr] [tr] [td][docimg=invalid.png][/docimg][/td][td]steam_invalid[/td][td]Invalid[/td] [/tr] [tr] [td][docimg=minus.png][/docimg][/td][td]steam_minus[/td][td]Minus[/td] [/tr] [tr] [td][docimg=pair.png][/docimg][/td][td]steam_pair[/td][td]Pair[/td] [/tr] [tr] [td][docimg=person.png][/docimg][/td][td]steam_person[/td][td]Person[/td] [/tr] [tr] [td][docimg=plus.png][/docimg][/td][td]steam_plus[/td][td]Plus[/td] [/tr] [tr] [td][docimg=purchase.png][/docimg][/td][td]steam_purchase[/td][td]Purchase[/td] [/tr] [tr] [td][docimg=question.png][/docimg][/td][td]steam_question[/td][td]Question[/td] [/tr] [tr] [td][docimg=ribbon.png][/docimg][/td][td]steam_ribbon[/td][td]Ribbon[/td] [/tr] [tr] [td][docimg=screenshot.png][/docimg][/td][td]steam_screenshot[/td][td]Screenshot[/td] [/tr] [tr] [td][docimg=scroll.png][/docimg][/td][td]steam_scroll[/td][td]Scroll[/td] [/tr] [tr] [td][docimg=square.png][/docimg][/td][td]steam_square[/td][td]Square[/td] [/tr] [tr] [td][docimg=star.png][/docimg][/td][td]steam_star[/td][td]Star[/td] [/tr] [tr] [td][docimg=starburst.png][/docimg][/td][td]steam_starburst[/td][td]Starburst[/td] [/tr] [tr] [td][docimg=timer.png][/docimg][/td][td]steam_timer[/td][td]Timer[/td] [/tr] [tr] [td][docimg=transfer.png][/docimg][/td][td]steam_transfer[/td][td]Transfer[/td] [/tr] [tr] [td][docimg=triangle.png][/docimg][/td][td]steam_triangle[/td][td]Triangle[/td] [/tr] [tr] [td][docimg=trophy.png][/docimg][/td][td]steam_trophy[/td][td]Trophy[/td] [/tr] [tr] [td][docimg=view.png][/docimg][/td][td]steam_view[/td][td]View[/td] [/tr] [tr] [td][docimg=x.png][/docimg][/td][td]steam_x[/td][td]X[/td] [/tr] [/table] [/no_glow] [section=example]Example Code[/section] Below is a code sample for integrating Steam Timeline with Left 4 Dead. …
Here you'll find other game developers that can answer your question or provide advice based on their own feedback. Plus, many members of the Steam Team are active, answering questions as needed as well. [section]Steamworks YouTube Channel[/section] Tutorial videos, recorded talks, Q&A sessions. …
This is the best choice for highly competitive games (such as Dota 2) or games with persistent servers that keep running even after all players leave (such as Team Fortress 2). You can read more about it in the [doclink=features/multiplayer/game_servers][/doclink] documentation.…
This is the approach used by older Valve Source games such as Team Fortress 2 and Counter-Strike: Source. If you choose OpenGL then we recommend using the core functionality in OpenGL 3.0 for your game. …
The following libraries provide support for other aspects of game development: [list] [*] [url=http://www.freetype.org/index.html]FreeType[/url] - font rendering (both vector-based and bitmap fonts) on Linux [*] [url=http://www.freedesktop.org/wiki/Software/fontconfig]Fontconfig[/url] - configuring and customizing font access [*] [url=http://www.radgametools.com/miles.htm]Miles Sound System[/url] - a middleware sound engine for Linux development [*] [url=http://www.radgametools.com/bnkmain.htm]Bink Video[/url] - a video codec designed for game developers [*] [url=http://www.webmproject.org/]WebM[/url] - an open media file format; used for recording Team Fortress 2 video instead of QuickTime. [/list] [section]Linux Runtime[/section] Titles with native Linux support may select a specific version of the Steam for Linux runtime to execute under. …
Once you are on the Regions and Countries page, you can click the little plus symbol next to a region to expand and see further details including the number of wishlists from customers in that region. [subsection]Platform Breakdown[/subsection] You'll notice a section labeled 'Platform-specific wishlisting' on the right-hand side of your Wishlist reporting. …
You'll need to create an upload path in your game or separate tool. Plus, either hand-integrating content into your game or making your game load downloaded mods from disc. [/introblock] [section]Overview[/section] The Steam Workshop is designed as a place for your fans and community members to participate in the creation of content for your game. …
You can start off with a basic uploader that just asks the item-maker to select a .zip file and a preview image, or you can build more validation into your submission path. For example, Team Fortress 2 started with just a submission form that asked the item author to pick a .zip file and preview image. But as we iterated on the process, we added a test environment and validation to make sure that the file that was submitted to the Workshop would be easier to integrate into the game. …
[section]Parts of a Deluxe Edition[/section] A Deluxe Edition is typically comprised of the base game plus some additional content. In most cases you will also want to provide a path for customers to upgrade from your base game to add on the Deluxe Edition content. …
[b]Available app branches[/b] lists all of the branches you have created, plus the default branch. [docimg=RimWorld_BranchManagement.jpg]RimWorld_BranchManagement.jpg[/docimg] You can create a new branch using the appropriately named "Create new app branch" button. …
These files will not be downloaded by users through the Workshop, but will be viewable by the community to rate. This is the implementation that Team Fortress 2 uses. [/list] [/list] [*] Register a call result handler for [apitype]ISteamUGC::CreateItemResult_t[/apitype] [*] First check the [code-inline]m_eResult[/code-inline] to ensure that the item was created successfully. [*] When the call result handler is executed, read the [code-inline]m_nPublishedFileId[/code-inline] value and store for future updates to the workshop item (e.g. in a project file associated with the creation tool). [*] The [code-inline]m_bUserNeedsToAcceptWorkshopLegalAgreement[/code-inline] variable should also be checked and if it's [b]true[/b], the user should be redirected to accept the legal agreement. …
[code=cpp] "workshopitem" { "appid" "480" "publishedfileid" "5674" "contentfolder" "D:\\Content\\workshopitem" "previewfile" "D:\\Content\\preview.jpg" "visibility" "0" "title" "Team Fortress Green Hat" "description" "A green hat for Team Fortress" "changenote" "Version 1.2" } [/code] Notes: [list] [*] The keys map to the various ISteamUGC::SetItem[...] methods. …
[/b] The best way to contact us with questions about shipping your mod is by filing a support ticket on https://help.steampowered.com. [/list] [section=TF2FAQ]Team Fortress 2 Mods FAQ[/section] [list] [*] [h4]Q. Where do I get the TF2 SDK?[/h4] [b]A.[/b] The TF2 SDK is part of the Source SDK 2013, which is available on [url=https://github.com/ValveSoftware/source-sdk-2013]Github[/url] or via [url=steam://rungameid/243750]Steam[/url] . [*] [h4]Q. …
. [*] Documentation is available on the [url=https://developer.valvesoftware.com/wiki/KeyValues]Valve Developer Community wiki[/url] and on the [url=https://wiki.teamfortress.com/wiki/WebAPI/VDF]Official Team Fortress 2 wiki[/url]. [*] Arrays in the data are represented as a VDF array with the name of the type of the objects in the array, with a VDF array being an object with each item being prefixed with its numeric key as a quoted string. [*] Null is represented as an empty string. [*] [b]Example[/b]: [code=nohighlight] "appnews" { "appid" "440" "newsitems" { "0" { "gid" "1904306376092568991" "title" "Prince of Prolander Event " "url" "http://store.steampowered.com/news/externalpost/tf2_blog/1904306376092568991" "is_external_url" "1" "author" "" "contents" "<a href=\"http://rgl.gg/default.aspx\"><img src=\"https://steamcdn-a.akamaihd.net/steam/news/29555/prince.png?…
That can help build the most amount of buzz at the same time and give players another reason to get your game now, when a bunch of excitement is built up around the game. Plus, players with your game on their wishlist will get an e-mail notifying them that your game is on sale. This works really well combined with temporary artwork overrides as described above. …
. [*][b]On your store page[/b] - You can remove tags directly from your store page. To do so, click the '+' (plus) symbol next to the list of tags that appear to the right of your screenshots on your store page. That will open a dialog with the list of tags that are publicly visible. …
[section]Controllers[/section] The Steam Frame Controllers have the same capabilities as your standard console gaming controllers plus touch states, grip buttons, capacitive finger tracking, and 6-DOF spatial tracking. This gives you many more options on how to let players interact with your titles. …
[/list] [/list] [b]Example Response:[/b] [code=xml] { "response": { "itemdef_json":"[ { \"appid\":\"480\",\"itemdefid\":\"10\",\"Timestamp\":\"2014-09-12T01:29:10.4628321Z\",\"modified\":\"20140808T010203Z\",\"type\":\"generator\",\"name\":\"Drop Generator\",\"bundle\":\"100x100;101x50;102x25;103x2;110x20;111x20;120x5;121x3\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Drop Generator\",\"market_hash_name\":\"Drop Generator\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"generator\",\"itemslot\":\"generator\"}, { \"appid\":\"480\",\"itemdefid\":\"100\",\"Timestamp\":\"2014-09-12T01:28:44.4816369Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Plus ship decoration\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Plus ship decoration\",\"market_hash_name\":\"Plus ship decoration\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"decoration\",\"itemslot\":\"decoration\"}, { \"appid\":\"480\",\"itemdefid\":\"101\",\"Timestamp\":\"2014-09-12T01:29:25.5198429Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Star ship decoration\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Star ship decoration\",\"market_hash_name\":\"Star ship decoration\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"decoration\",\"itemslot\":\"decoration\"}, { \"appid\":\"480\",\"itemdefid\":\"102\",\"Timestamp\":\"2014-09-12T01:29:33.6544695Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Stripe ship decoration\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Stripe ship decoration\",\"market_hash_name\":\"Stripe ship decoration\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"decoration\",\"itemslot\":\"decoration\"}, { \"appid\":\"480\",\"itemdefid\":\"103\",\"Timestamp\":\"2014-09-12T01:29:39.5676519Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Hat ship decoration\",\"bundle\":\"\",\"price\":\"1;USD99\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Hat ship decoration\",\"market_hash_name\":\"Hat ship decoration\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"decoration\",\"itemslot\":\"decoration\"}, { \"appid\":\"480\",\"itemdefid\":\"110\",\"Timestamp\":\"2014-09-12T01:29:44.0715525Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Doublefire gun\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Doublefire gun\",\"market_hash_name\":\"Doublefire gun\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"weapon\",\"itemslot\":\"weapon\"}, { \"appid\":\"480\",\"itemdefid\":\"111\",\"Timestamp\":\"2014-09-12T01:29:48.9635307Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Fastfire gun\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Fastfire gun\",\"market_hash_name\":\"Fastfire gun\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"weapon\",\"itemslot\":\"weapon\"}, { \"appid\":\"480\",\"itemdefid\":\"120\",\"Timestamp\":\"2014-09-12T01:29:52.9633305Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Cloaking field\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Cloaking field\",\"market_hash_name\":\"Cloaking field\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"power\",\"itemslot\":\"power\"}, { \"appid\":\"480\",\"itemdefid\":\"121\",\"Timestamp\":\"2014-09-12T01:30:00.0237423Z\",\"modified\":\"20140808T010203Z\",\"type\":\"item\",\"name\":\"Shield generator\",\"bundle\":\"\",\"price\":\"\",\"quantity\":0,\"description\":\"\",\"background_color\":\"3C352E\",\"icon_url\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"icon_url_large\":\"http://cdn.beta.steampowered.com/apps/440/icons/c_fireaxe_pyro_xmas_large.fa878752e1aa09a721a03042a234063b6c929278.png\",\"market_name\":\"Shield generator\",\"market_hash_name\":\"Shield generator\",\"name_color\":\"7D6D00\",\"workshopid\":\"0\",\"flags\":1,\"game_type\":\"power\",\"itemslot\":\"power\"} ]" } } [/code] [b]Calling Example:[/b] [code] $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, 'https://api.steampowered.com/IInventoryService/GetItemDefs/v1?…
[/url] [section][b]Animated Stickers[/b][/section] [h4]Can be displayed in chat and in Steam profile item showcases. Stickers should be a looping APNG (plus one still frame PNG), clearly expressing some emotion or idea (without words) at 150x150px (under 300KB), with alpha transparency in each frame. …
[/td][/tr] [tr=k_ERemotePlayScancodeA][td][b]k_ERemotePlayScancodeA[/b][/td][td]4[/td][td]A[/td][/tr] [tr=k_ERemotePlayScancodeB][td][b]k_ERemotePlayScancodeB[/b][/td][td]5[/td][td]B[/td][/tr] [tr=k_ERemotePlayScancodeC][td][b]k_ERemotePlayScancodeC[/b][/td][td]6[/td][td]C[/td][/tr] [tr=k_ERemotePlayScancodeD][td][b]k_ERemotePlayScancodeD[/b][/td][td]7[/td][td]D[/td][/tr] [tr=k_ERemotePlayScancodeE][td][b]k_ERemotePlayScancodeE[/b][/td][td]8[/td][td]E[/td][/tr] [tr=k_ERemotePlayScancodeF][td][b]k_ERemotePlayScancodeF[/b][/td][td]9[/td][td]F[/td][/tr] [tr=k_ERemotePlayScancodeG][td][b]k_ERemotePlayScancodeG[/b][/td][td]10[/td][td]G[/td][/tr] [tr=k_ERemotePlayScancodeH][td][b]k_ERemotePlayScancodeH[/b][/td][td]11[/td][td]H[/td][/tr] [tr=k_ERemotePlayScancodeI][td][b]k_ERemotePlayScancodeI[/b][/td][td]12[/td][td]I[/td][/tr] [tr=k_ERemotePlayScancodeJ][td][b]k_ERemotePlayScancodeJ[/b][/td][td]13[/td][td]J[/td][/tr] [tr=k_ERemotePlayScancodeK][td][b]k_ERemotePlayScancodeK[/b][/td][td]14[/td][td]K[/td][/tr] [tr=k_ERemotePlayScancodeL][td][b]k_ERemotePlayScancodeL[/b][/td][td]15[/td][td]L[/td][/tr] [tr=k_ERemotePlayScancodeM][td][b]k_ERemotePlayScancodeM[/b][/td][td]16[/td][td]M[/td][/tr] [tr=k_ERemotePlayScancodeN][td][b]k_ERemotePlayScancodeN[/b][/td][td]17[/td][td]N[/td][/tr] [tr=k_ERemotePlayScancodeO][td][b]k_ERemotePlayScancodeO[/b][/td][td]18[/td][td]O[/td][/tr] [tr=k_ERemotePlayScancodeP][td][b]k_ERemotePlayScancodeP[/b][/td][td]19[/td][td]P[/td][/tr] [tr=k_ERemotePlayScancodeQ][td][b]k_ERemotePlayScancodeQ[/b][/td][td]20[/td][td]Q[/td][/tr] [tr=k_ERemotePlayScancodeR][td][b]k_ERemotePlayScancodeR[/b][/td][td]21[/td][td]R[/td][/tr] [tr=k_ERemotePlayScancodeS][td][b]k_ERemotePlayScancodeS[/b][/td][td]22[/td][td]S[/td][/tr] [tr=k_ERemotePlayScancodeT][td][b]k_ERemotePlayScancodeT[/b][/td][td]23[/td][td]T[/td][/tr] [tr=k_ERemotePlayScancodeU][td][b]k_ERemotePlayScancodeU[/b][/td][td]24[/td][td]U[/td][/tr] [tr=k_ERemotePlayScancodeV][td][b]k_ERemotePlayScancodeV[/b][/td][td]25[/td][td]V[/td][/tr] [tr=k_ERemotePlayScancodeW][td][b]k_ERemotePlayScancodeW[/b][/td][td]26[/td][td]W[/td][/tr] [tr=k_ERemotePlayScancodeX][td][b]k_ERemotePlayScancodeX[/b][/td][td]27[/td][td]X[/td][/tr] [tr=k_ERemotePlayScancodeY][td][b]k_ERemotePlayScancodeY[/b][/td][td]28[/td][td]Y[/td][/tr] [tr=k_ERemotePlayScancodeZ][td][b]k_ERemotePlayScancodeZ[/b][/td][td]29[/td][td]Z[/td][/tr] [tr=k_ERemotePlayScancode1][td][b]k_ERemotePlayScancode1[/b][/td][td]30[/td][td]1[/td][/tr] [tr=k_ERemotePlayScancode2][td][b]k_ERemotePlayScancode2[/b][/td][td]31[/td][td]2[/td][/tr] [tr=k_ERemotePlayScancode3][td][b]k_ERemotePlayScancode3[/b][/td][td]32[/td][td]3[/td][/tr] [tr=k_ERemotePlayScancode4][td][b]k_ERemotePlayScancode4[/b][/td][td]33[/td][td]4[/td][/tr] [tr=k_ERemotePlayScancode5][td][b]k_ERemotePlayScancode5[/b][/td][td]34[/td][td]5[/td][/tr] [tr=k_ERemotePlayScancode6][td][b]k_ERemotePlayScancode6[/b][/td][td]35[/td][td]6[/td][/tr] [tr=k_ERemotePlayScancode7][td][b]k_ERemotePlayScancode7[/b][/td][td]36[/td][td]7[/td][/tr] [tr=k_ERemotePlayScancode8][td][b]k_ERemotePlayScancode8[/b][/td][td]37[/td][td]8[/td][/tr] [tr=k_ERemotePlayScancode9][td][b]k_ERemotePlayScancode9[/b][/td][td]38[/td][td]9[/td][/tr] [tr=k_ERemotePlayScancode0][td][b]k_ERemotePlayScancode0[/b][/td][td]39[/td][td]0[/td][/tr] [tr=k_ERemotePlayScancodeReturn][td][b]k_ERemotePlayScancodeReturn[/b][/td][td]40[/td][td]Return[/td][/tr] [tr=k_ERemotePlayScancodeEscape][td][b]k_ERemotePlayScancodeEscape[/b][/td][td]41[/td][td]Escape[/td][/tr] [tr=k_ERemotePlayScancodeBackspace][td][b]k_ERemotePlayScancodeBackspace[/b][/td][td]42[/td][td]Backspace[/td][/tr] [tr=k_ERemotePlayScancodeTab][td][b]k_ERemotePlayScancodeTab[/b][/td][td]43[/td][td]Tab[/td][/tr] [tr=k_ERemotePlayScancodeSpace][td][b]k_ERemotePlayScancodeSpace[/b][/td][td]44[/td][td]Space[/td][/tr] [tr=k_ERemotePlayScancodeMinus][td][b]k_ERemotePlayScancodeMinus[/b][/td][td]45[/td][td]Minus[/td][/tr] [tr=k_ERemotePlayScancodeEquals][td][b]k_ERemotePlayScancodeEquals[/b][/td][td]46[/td][td]Equals[/td][/tr] [tr=k_ERemotePlayScancodeLeftBracket][td][b]k_ERemotePlayScancodeLeftBracket[/b][/td][td]47[/td][td]Left Bracket[/td][/tr] [tr=k_ERemotePlayScancodeRightBracket][td][b]k_ERemotePlayScancodeRightBracket[/b][/td][td]48[/td][td]Right Bracket[/td][/tr] [tr=k_ERemotePlayScancodeBackslash][td][b]k_ERemotePlayScancodeBackslash[/b][/td][td]49[/td][td]Backslash[/td][/tr] [tr=k_ERemotePlayScancodeSemicolon][td][b]k_ERemotePlayScancodeSemicolon[/b][/td][td]51[/td][td]Semicolon[/td][/tr] [tr=k_ERemotePlayScancodeApostrophe][td][b]k_ERemotePlayScancodeApostrophe[/b][/td][td]52[/td][td]Apostrophe[/td][/tr] [tr=k_ERemotePlayScancodeGrave][td][b]k_ERemotePlayScancodeGrave[/b][/td][td]53[/td][td]Grave[/td][/tr] [tr=k_ERemotePlayScancodeComma][td][b]k_ERemotePlayScancodeComma[/b][/td][td]54[/td][td]Comma[/td][/tr] [tr=k_ERemotePlayScancodePeriod][td][b]k_ERemotePlayScancodePeriod[/b][/td][td]55[/td][td]Period[/td][/tr] [tr=k_ERemotePlayScancodeSlash][td][b]k_ERemotePlayScancodeSlash[/b][/td][td]56[/td][td]Slash[/td][/tr] [tr=k_ERemotePlayScancodeCapsLock][td][b]k_ERemotePlayScancodeCapsLock[/b][/td][td]57[/td][td]CapsLock[/td][/tr] [tr=k_ERemotePlayScancodeF1][td][b]k_ERemotePlayScancodeF1[/b][/td][td]58[/td][td]F1[/td][/tr] [tr=k_ERemotePlayScancodeF2][td][b]k_ERemotePlayScancodeF2[/b][/td][td]59[/td][td]F2[/td][/tr] [tr=k_ERemotePlayScancodeF3][td][b]k_ERemotePlayScancodeF3[/b][/td][td]60[/td][td]F3[/td][/tr] [tr=k_ERemotePlayScancodeF4][td][b]k_ERemotePlayScancodeF4[/b][/td][td]61[/td][td]F4[/td][/tr] [tr=k_ERemotePlayScancodeF5][td][b]k_ERemotePlayScancodeF5[/b][/td][td]62[/td][td]F5[/td][/tr] [tr=k_ERemotePlayScancodeF6][td][b]k_ERemotePlayScancodeF6[/b][/td][td]63[/td][td]F6[/td][/tr] [tr=k_ERemotePlayScancodeF7][td][b]k_ERemotePlayScancodeF7[/b][/td][td]64[/td][td]F7[/td][/tr] [tr=k_ERemotePlayScancodeF8][td][b]k_ERemotePlayScancodeF8[/b][/td][td]65[/td][td]F8[/td][/tr] [tr=k_ERemotePlayScancodeF9][td][b]k_ERemotePlayScancodeF9[/b][/td][td]66[/td][td]F9[/td][/tr] [tr=k_ERemotePlayScancodeF10][td][b]k_ERemotePlayScancodeF10[/b][/td][td]67[/td][td]F10[/td][/tr] [tr=k_ERemotePlayScancodeF11][td][b]k_ERemotePlayScancodeF11[/b][/td][td]68[/td][td]F11[/td][/tr] [tr=k_ERemotePlayScancodeF12][td][b]k_ERemotePlayScancodeF12[/b][/td][td]69[/td][td]F12[/td][/tr] [tr=k_ERemotePlayScancodeInsert][td][b]k_ERemotePlayScancodeInsert[/b][/td][td]73[/td][td]Insert[/td][/tr] [tr=k_ERemotePlayScancodeHome][td][b]k_ERemotePlayScancodeHome[/b][/td][td]74[/td][td]Home[/td][/tr] [tr=k_ERemotePlayScancodePageUp][td][b]k_ERemotePlayScancodePageUp[/b][/td][td]75[/td][td]Page Up[/td][/tr] [tr=k_ERemotePlayScancodeDelete][td][b]k_ERemotePlayScancodeDelete[/b][/td][td]76[/td][td]Delete[/td][/tr] [tr=k_ERemotePlayScancodeEnd][td][b]k_ERemotePlayScancodeEnd[/b][/td][td]77[/td][td]End[/td][/tr] [tr=k_ERemotePlayScancodePageDown][td][b]k_ERemotePlayScancodePageDown[/b][/td][td]78[/td][td]Page Down[/td][/tr] [tr=k_ERemotePlayScancodeRight][td][b]k_ERemotePlayScancodeRight[/b][/td][td]79[/td][td]Right[/td][/tr] [tr=k_ERemotePlayScancodeLeft][td][b]k_ERemotePlayScancodeLeft[/b][/td][td]80[/td][td]Left[/td][/tr] [tr=k_ERemotePlayScancodeDown][td][b]k_ERemotePlayScancodeDown[/b][/td][td]81[/td][td]Down[/td][/tr] [tr=k_ERemotePlayScancodeUp][td][b]k_ERemotePlayScancodeUp[/b][/td][td]82[/td][td]Up[/td][/tr] [tr=k_ERemotePlayScancodeKeypadDivide][td][b]k_ERemotePlayScancodeKeypadDivide[/b][/td][td]84[/td][td]Keypad Divide[/td][/tr] [tr=k_ERemotePlayScancodeKeypadMultiply][td][b]k_ERemotePlayScancodeKeypadMultiply[/b][/td][td]85[/td][td]Keypad Multiply[/td][/tr] [tr=k_ERemotePlayScancodeKeypadMinus][td][b]k_ERemotePlayScancodeKeypadMinus[/b][/td][td]86[/td][td]Keypad Minus[/td][/tr] [tr=k_ERemotePlayScancodeKeypadPlus][td][b]k_ERemotePlayScancodeKeypadPlus[/b][/td][td]87[/td][td]Keypad Plus[/td][/tr] [tr=k_ERemotePlayScancodeKeypadEnter][td][b]k_ERemotePlayScancodeKeypadEnter[/b][/td][td]88[/td][td]Keypad Enter[/td][/tr] [tr=k_ERemotePlayScancodeKeypad1][td][b]k_ERemotePlayScancodeKeypad1[/b][/td][td]89[/td][td]Keypad 1[/td][/tr] [tr=k_ERemotePlayScancodeKeypad2][td][b]k_ERemotePlayScancodeKeypad2[/b][/td][td]90[/td][td]Keypad 2[/td][/tr] [tr=k_ERemotePlayScancodeKeypad3][td][b]k_ERemotePlayScancodeKeypad3[/b][/td][td]91[/td][td]Keypad 3[/td][/tr] [tr=k_ERemotePlayScancodeKeypad4][td][b]k_ERemotePlayScancodeKeypad4[/b][/td][td]92[/td][td]Keypad 4[/td][/tr] [tr=k_ERemotePlayScancodeKeypad5][td][b]k_ERemotePlayScancodeKeypad5[/b][/td][td]93[/td][td]Keypad 5[/td][/tr] [tr=k_ERemotePlayScancodeKeypad6][td][b]k_ERemotePlayScancodeKeypad6[/b][/td][td]94[/td][td]Keypad 6[/td][/tr] [tr=k_ERemotePlayScancodeKeypad7][td][b]k_ERemotePlayScancodeKeypad7[/b][/td][td]95[/td][td]Keypad 7[/td][/tr] [tr=k_ERemotePlayScancodeKeypad8][td][b]k_ERemotePlayScancodeKeypad8[/b][/td][td]96[/td][td]Keypad 8[/td][/tr] [tr=k_ERemotePlayScancodeKeypad9][td][b]k_ERemotePlayScancodeKeypad9[/b][/td][td]97[/td][td]Keypad 9[/td][/tr] [tr=k_ERemotePlayScancodeKeypad0][td][b]k_ERemotePlayScancodeKeypad0[/b][/td][td]98[/td][td]Keypad 0[/td][/tr] [tr=k_ERemotePlayScancodeKeypadPeriod][td][b]k_ERemotePlayScancodeKeypadPeriod[/b][/td][td]99[/td][td]Keypad Period[/td][/tr] [tr=k_ERemotePlayScancodeLeftControl][td][b]k_ERemotePlayScancodeLeftControl[/b][/td][td]224[/td][td]Left Control[/td][/tr] [tr=k_ERemotePlayScancodeLeftShift][td][b]k_ERemotePlayScancodeLeftShift[/b][/td][td]225[/td][td]Left Shift[/td][/tr] [tr=k_ERemotePlayScancodeLeftAlt][td][b]k_ERemotePlayScancodeLeftAlt[/b][/td][td]226[/td][td]Left Alt[/td][/tr] [tr=k_ERemotePlayScancodeLeftGUI][td][b]k_ERemotePlayScancodeLeftGUI[/b][/td][td]227[/td][td]Left GUI (windows, command, meta, etc.)…