Steam browser protocol: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 1: Line 1:
{{cleanup}}
{{cleanup}}
==Commands==
==Commands==
There are several commands available that interact with [[Steam]]. All of them open up Steam if it is not open. They can either be typed into a command box (Start-> Run) or through your browser's address bar.
There are several commands available that interact with [[Steam]]. All of them open up Steam if it is not open. They can either be typed into a command box (Start-> Run) or through your browser's address bar. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] in place of <id> (i.e. 211 for the Source SDK).
* '''<code>steam:<commands></code>''' This opens Steam with command line arguments, which can be found here: [[Steam Command Line Options]]
* '''<code>steam:<commands></code>''' This opens Steam with command line arguments, which can be found here: [[Steam Command Line Options]]
* '''<code>steam://appnews/<id></code>''' This opens up the appnews web page for the specified AppId.
* '''<code>steam://appnews/<id></code>''' This opens up the appnews web page for an app.
* '''<code>steam://backup/<id></code>''' This opens up Steam's backup utility. If a product id is specified then the product is checkmarked automatically. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://backup/<id></code>''' This opens up Steam's backup utility. If an AppId is specified then the product is checkmarked automatically.  
* '''<code>steam://connect/<IP or DNS name>[:port]</code>''' This connects the user to the server specified by the IP or [[Wikipedia:DNS|DNS name]].  Using this, you can connect to servers for third party mods without needing to know the mod's installation path.
* '''<code>steam://connect/<IP or DNS name>[:port]</code>''' This connects the user to the server specified by the IP or [[Wikipedia:DNS|DNS name]].  Using this, you can connect to servers for third party mods without needing to know the mod's installation path.
**Example: <code>steam://connect/1.0.0.27:27015</code>
**Example: <code>steam://connect/1.0.0.27:27015</code>
**Example: <code>steam://connect/dns.server.com</code>
**Example: <code>steam://connect/dns.server.com</code>
* '''<code>steam://defrag/<id></code>''' This optimizes cluster usage of the gcf's of the AppId specified.
* '''<code>steam://defrag/<id></code>''' This defragments the [[GCF]]s of an app.
* '''<code>steam://install/<id></code>''' This installs a product. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://install/<id></code>''' This installs an app.
* '''<code>steam://installaddon/<addon></code>''' This installs the specified add-on. Example: steam://installaddon/halflifehd installs HL High-Def Pack
* '''<code>steam://installaddon/<addon></code>''' This installs the specified add-on. Example: {{steamlink|steam://installaddon/halflifehd}} installs HL High-Def Pack
* '''<code>steam://open/<component></code>''' Opens a Steam window. Known <component> values:
* '''<code>steam://open/<component></code>''' Opens a Steam window. Known <component> values:
**<code>friends</code>
**<code>{{steamlinktitled|steam://open/friends|friends}}</code>
**<code>games</code>
**<code>{{steamlinktitled|steam://open/games|games}}</code>
**<code>main</code>
**<code>{{steamlinktitled|steam://open/main|main}}</code>
**<code>mymedia</code>
**<code>{{steamlinktitled|steam://open/mymedia|mymedia}}</code>
**<code>registerproduct</code>
**<code>{{steamlinktitled|steam://open/registerproduct|registerproduct}}</code>
**<code>servers</code>
**<code>{{steamlinktitled|steam://open/servers|servers}}</code>
**<code>settings</code>
**<code>{{steamlinktitled|steam://open/settings|settings}}</code>
* '''<code>steam://openurl/<url></code>''' Opens URL in default web browser.
* '''<code>steam://openurl/<url></code>''' Opens URL in default web browser.
* '''<code>steam://preload/<id></code>''' This preloads a product. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://preload/<id></code>''' This preloads an app.
* '''<code>steam://purchase/<id></code>''' This opens a dialog box to buy a product from Steam. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://purchase/<id></code>''' This opens a dialog box to buy an app from Steam.
* '''<code>steam://purchase/subscription/<id></code>''' This opens up a dialog box to buy a subscription to a Steam product/service. None are available yet.
* '''<code>steam://purchase/subscription/<id></code>''' This opens up a dialog box to buy a subscription to a Steam product/service. None are available yet.
* '''<code>steam://removeaddon/<addon></code>''' This uninstalls the specified add-on. Example: steam://removeaddon/halflifehd uninstalls HL High-Def Pack
* '''<code>steam://removeaddon/<addon></code>''' This uninstalls the specified add-on. Example: {{steamlink|steam://removeaddon/halflifehd}} uninstalls HL High-Def Pack
* '''<code>steam://run/<id></code>''' This opens a product. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://run/<id></code>''' This opens an app.
* '''<code>steam://runsafe/<id></code>''' This resets CVARs of the application with the specified [[Steam Applaunch IDs|Steam Applaunch ID]] (i.e. 211 for SDK).
* '''<code>steam://runsafe/<id></code>''' This resets CVARs of an app.
* '''<code>steam://store/<id></code>''' This opens up the store for the specified product, if no product is specified then the default one is opened. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://store/<id></code>''' This opens up the store for an app, if no app is specified then the default one is opened.
* '''<code>steam://support/?Issues=*</code>''' Launches the Steam Support utility, running all tests. Enter [[Steam Support Strings|valid support string]] to filter results.
* '''<code>steam://support/?Issues=*</code>''' Launches the Steam Support utility, running all tests. Enter [[Steam Support Strings|valid support string]] to filter results.
* '''<code>steam://updatenews/<id></code>''' This opens the news about the latest updates for the specified product. Use a [[Steam Applaunch IDs|Steam Applaunch ID]] for the id.
* '''<code>steam://updatenews/<id></code>''' This opens the news about the latest updates for an app.
* '''<code>steam://validate/<id></code>''' This Validates the files within gcf's of the Applaunch ID you choose.
* '''<code>steam://validate/<id></code>''' This validates the GCFs of an app.
===Suggested===
===Suggested===
* '''<code>steam://connect/<IP or DNS name>[:port]/<password></code>'''
* '''<code>steam://connect/<IP or DNS name>[:port]/<password></code>'''
Line 44: Line 44:
**Opens the "game info" window for the specified server. Maybe also integrated into the server browser, so you don't have to add a server to the favorites to have access to that window. --[[User:Koraktor|Koraktor]]
**Opens the "game info" window for the specified server. Maybe also integrated into the server browser, so you don't have to add a server to the favorites to have access to that window. --[[User:Koraktor|Koraktor]]
* '''<code>steam://runsingle/<AppID></code>'''
* '''<code>steam://runsingle/<AppID></code>'''
**Runs the specified App, then shuts down Steam once the game closes. -- [[User:AiusEpsi|AiusEpsi]]
**Runs an app, then shuts down Steam once the game closes. -- [[User:AiusEpsi|AiusEpsi]]


==Ability==
==Ability==

Revision as of 07:30, 4 June 2006

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.

Commands

There are several commands available that interact with Steam. All of them open up Steam if it is not open. They can either be typed into a command box (Start-> Run) or through your browser's address bar. Use a Steam Applaunch ID in place of <id> (i.e. 211 for the Source SDK).

Suggested

Ability

What can be done with these commands from a websites point of view? Its a pretty open and powerful system. A website link can start up steam and not only change any ConVar of a user, but it can also execute ConCommands like making a player join a specific server running a specific mod. It can even get the player to start up a dedicated server with a single click.

Here some examples:

steam:"-applaunch 70 -game "<mod>" +map "<map>"" - This starts up Half-Life running the specified mod then loads a specified map.

steam://connect/<IP or DNS name>[:port]" - If a mod was running at the specified server, Steam would attempt to start up that mod and connect there. This applies to any kind of Goldsource/Source server.

To view this browser based command system in action look at this server browser website and click on one of the servers.

Note.pngNote:If you forget the closing quote on a steam:"<command>", you will get an assertion failed error from Steam.exe/BootStrapperApp.cpp.