Store:Steam
Developers | |
---|---|
Valve Corporation | |
Release dates | |
Windows | September 12, 2003 |
macOS (OS X) | May 12, 2010 |
Linux | February 14, 2013 |
Steam is a video game digital distribution service and storefront developed by Valve Corporation.
In addition to distributing games and apps, Steam also offer various features, including achievements, social networking and game streaming. Steam can also support CD-key activation for games and apps, and third-party stores like Humble Bundle do distributes the CD-keys.[1] Steam also has its own controller wrapper, the Steam Input, for better compatibility with third-party, non-XInput controllers. Cloud save is supported with Steam Cloud.
Games and apps distributed through Steam are usually protected with Steam's own DRM. It should be noted that some games are either DRM-free or protected with third-party DRM. (See DRM-free and contain third party DRM for more info.) In addition, Steam has its own anti-cheat measure in the form of Valve Anti-Cheat, which can apply to the whole Steam account if a user was caught using cheat software in VAC-enabled games.
To protect user from having their account hacked, Steam also support two-factor authentication using either the email or the dedicate Steam mobile app's Steam Guard authentication function.[2]
Steam was launched on September 12, 2003 for Windows.[3] Initially only for Valve-published games, it was later expanded to distribute third-party titles in late 2005, with major publishers beginning to publish their games on Steam in 2007. MacOS and Linux versions of the client were launched on May 12, 2010[4] and February 14, 2013[5] respectively.
Over the years, support for older operating systems has been dropped, including Windows 9x on June 30, 2007,[6] Windows XP SP1 on August 31, 2012,[7], Windows XP and Vista on January 1, 2019[8] and Windows 7, 8, and 8.1 on January 1, 2024.[9]
On Linux OS, it is recommended to install Linux Steam Integration for better integration. Third-party clients, such as the Flatpak version of the client, is available at the FlatHub database,[10] though it is noted that most games have issues with the Steam Cloud sync when using the Flatpak client.[11] For better security, it is suggested to follow the Snap version progress.
General information
- Official Store
- Official Support
- Account Details
- Steam Community Discussions
- Steam Translation Server
- Steam Database
- Steam Charts
Installation
- Download and run the latest installer from the About page of Steam.
- Beta participation for the Steam client can be toggled in the settings.
- Changelog
- Beta Changelog
Client data
Configuration file(s) location
Element | Location |
---|---|
Cloud saves | See the related section for details. |
Games launch configuration[12] | <Steam-folder>\appcache\appinfo.vdf |
Games setup configuration | <library-folder>\SteamApps\appmanifest_<game-id>.acf <path-to-game>\*.vdf(optional) |
Games dependencies status | HKEY_CURRENT_USER\SOFTWARE\Valve\Steam\Apps HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Valve\Steam\Apps |
User settings | HKEY_CURRENT_USER\Software\Valve\Steam <Steam-folder>\config\ <Steam-folder>\userdata\<user-id>\config\ <Steam-folder>\SteamApps\libraryfolders.vdf <Steam-folder>/steamapps/libraryfolders.vdf on Linux |
-
localconfig.vdf
contains the main client preferences, the user apps configuration, and the game licenses and legacy CD keys cache.
Big Picture
Big Picture is a 10-foot user interface mode of the Steam client designed for readability and interaction on a TV with a game controller; although it supports keyboards and mice and is accessible on all computers and form factors as well. Most features and functionality of the desktop mode of the client is supported in Big Picture mode as well, although a few limitations might exist (such as the inability to configure Steam Cloud synchronization). Big Picture mode is also the UI that Steam will launch and make use of when streaming to the Steam Link streaming box.
- See PC gaming on a TV and couch for general setup information.
- Allows Steam to be used with a controller.
Open Big Picture mode from desktop mode: |
---|
|
Family Sharing
- Allows sharing games between accounts. Each account gets separate saves (if supported by the game), achievements, et al. except for DRM keys, which are shared.[13]
- If the account's main owner is playing a game from their own account, or someone else is using family share on that account, you are presented with the "buy" option instead of install/play for the selected game.[14]
- VAC bans can apply to the both the perpetrator and the owning account of a shared game, and the Family Share feature can be revoked entirely.[13]
- Games with 3rd party DRM tied to account-locked keys (such as Ubisoft Connect), have the feature specifically turned off by their publisher.[13]
Instructions[citation needed] |
---|
|
Offline Mode
Offline Mode is a mode of Steam where installed games can still be accessed and played without an online connection. It is mostly relevant when users have limited or no Internet access, and will automatically be engaged when the client detects that there's no Internet access available.
- Requires the user to have signed in and launched downloaded games at least once with online connectivity in advance to properly configure both the account and the individual games for offline play.
- The Steam installation under
<Steam-folder>
is portable, meaning that it can be copied to any PC and Steam will start normally. This way, every game with standard Steam DRM can be played on another computer without internet connection, if you login into offline mode successfully. In case the Steam client wants to check for updates after startup, which can prevent the offline mode from working, see Disable client update check on startup. - Additional third-party DRM (including Steam CEG) might prevent offline play. Certain use of the Steam Cloud and/or Steam API can also inadvertently prevent offline play (e.g. Mega Man Legacy Collection 2 and Caladrius Blaze).
Prepare Steam and games for offline mode[15] |
---|
|
Notes
- Start dialog box can be removed by setting SkipOfflineModeWarning to 1 in
<Steam-folder>\config\loginusers.vdf
. Note that this setting gets reset to 0 after Steam quits.
Steam Cloud
For a list of games, see games using Steam Cloud over on the Steam storefront. Some games might not be listed even though they use the feature.
Steam Cloud is a feature of the Steam client that allows game data to sync between players' computers by uploading it to the online Steam platform after a game has been played, and downloading/synchronizing the local data when the Steam client or the game is launched. The implementation of the feature is game-specific and up to the developers of the game. Some developers choose to only sync save game data, or both save game data and configuration files, yet others force users to choose only a single slot to be synced. Some games list Steam Cloud as a supported feature, but do not sync any data whatsoever. An examples of such a game is Capsized.
- Automatically backs up saves/settings on supported games.
- Not every game is supported; up to the developers to implement it and decide on to sync.
- Can only be toggled through the desktop mode of the Steam client.
Location
- The below table lists where Steam Cloud data may be stored for games locally.
- Note that games rarely use these locations for the actual local storage of their save files and configurations; which is most often saved elsewhere. If save games or configuration files can be seen here, chances are those files are merely cached copies used by Steam Cloud of files stored elsewhere (e.g. in %USERPROFILE%). They are often not an indication that a game works directly toward these locations.
System | Location |
---|---|
Windows | <Steam-folder>\userdata\<user-id>\<app-id>\ |
Linux | $HOME/.SteamCloud/<user-id>/<app-id>/[citation needed] |
macOS (OS X) |
Subfolders
- remote - Contains locally cached data synchronized with Steam Cloud. Files contained within are synchronized with the cloud servers before a game is started or after it is closed.
- local - Contains data not meant to be synced towards Steam Cloud. This folder is rare, and is often an indication that a game uses Steam Cloud as its primary storage, and does not store save games or configuration files elsewhere.
Game-specific setting
- Disabling the feature system-wide takes precedence over the game-specific setting.
Toggle the feature for a specific game: |
---|
|
System-wide setting
Toggle the feature system-wide: |
---|
|
Delete files stored in the cloud
Upload empty files[16] |
---|
|
Games without a remote folder |
---|
|
Steam Community Overlay
The Steam Community Overlay is an in-game overlay component of Steam that is available in all supported games launched through the Steam client. It enables users to access the Steam Community platform, list of achievements for the game, the Steam Chat, a general-purpose web browser, as well as a FPS counter OSD, all without leaving the confines of the game window. It also features in-game notifications for events such as achievement unlocked, invite received, new chat message, etc. Most common graphics APIs are supported, and compatibility with games are quite high.
- Used by Steam Input, Steam Controller, and in-game features like DLC purchase, game invites, screenshots, etc. Disabling the overlay globally or game-specific will limit the functionality within affected games.
- Add an external game to the Steam Library as a Non-Steam Game and launch it through Steam to allow the use of the Steam Overlay within the external game.
- Toggle using ⇧ Shift+Tab ↹ or the Home/Guide button on a controller.
Game-specific setting
- Disabling the feature system-wide takes precedence over the game-specific setting.
Toggle the feature for a specific game: |
---|
|
System-wide setting
Toggle the feature system-wide: |
---|
|
Steam Input
Steam Input is a feature of the Steam client and an umbrella term referring to the entire collection of software, hardware, and configuration utilities that Steam uses to interface with games. It acts like a wrapper using the Steam Community Overlay to intercept and manipulate player input before passing it on along to the game. This allows it to bind certain game-specific actions to specific inputs (on games that supports action-based input), or to add or extend the functionality of input devices in various ways, such as adding XInput, keyboard, or even mouse support to input devices that otherwise would not support them. The feature was previously known simply as Steam Controller as there was no distinction from the controller with the same name and its supporting environment and features, which eventually was renamed to Steam Input.
- Disabling the Steam Community Overlay prevents Steam Input from being active as well.
- Allows supported input devices that lacks native XInput support to function in XInput-based games.
- Can interfere with the functionality of a controller in some games, based on Steam Input configuration and whether Steam Community Overlay is enabled for the game or not.
- See the Steam Input section of the Steamworks documentation for much more in-depth information.
Steam Input API
For a list of games, see List of games that support Steam Input API.
Steam Input API (SIAPI, previously known as Steam Controller API or SCAPI) refers to the accompanied API that games can make use of to add support for action-based input, as opposed to button-based input. The main difference from other APIs like XInput and DirectInput is that when a game implements support for the Steam Input API the game itself does not need to add support for any particular input device or method. Instead the Steam Input layer and API acts as a hardware abstraction layer and converts the input received from a supported input device to the proper game-specific action the user has configured the input to. This means that when Steam adds more supported input devices or methods to the Steam Input layer, games will automatically support those new devices and methods without any additional development time required by the game developers.
Controller Configurator
- How the game-specific controller configurator functions depend on the level of support the game have for Steam Input. Refer to supported games for details.
- Community configurations and pre-built templates (from either Valve or the game developer) are available and can be adjusted to one's liking.
Steam Controller Configurator is used to rebind actions (for games that natively support the Steam Input API) or buttons (for games that do not natively support the API). If a game does not support the Steam Input API natively, the Steam Controller Configurator will fall back to a "legacy mode" where the user can instead rebind buttons on their controllers (e.g. bind Numpad 5 to X on the gamepad) as well as tweak various functionality of their controllers (e.g. rapid fire, deadzone, sensitivity etc).
Open controller configuration for compatible controllers: |
---|
Notes
|
Supported configurations
Steam Input supports four different configurations, three of which are known as "base" configurations while the one remaining is game-specific. What configuration is currently active depends on what environment Steam Input currently believes it is being used in, using the Steam Overlay to properly detect games. This can result in scenarios where the desktop configuration is applied for a game because the Steam Overlay is disabled or not functioning properly for the game.
Configuration | Explanation |
---|---|
Game-specific | Used when Steam Input detects the presence of a game. The actual configuration is game-specific. |
Big Picture | Used for Big Picture mode of Steam. |
Desktop | Used while outside of a game, on the desktop of the operating system.
Will be used if Steam Input fails to properly detect a game. |
Guide Button Chord | Global accessible override configuration by holding down the Guide/Home button of the controller.
Can result in unwanted input if accidentally triggered while turning off certain wireless controllers. |
Supported games
- Some games might not natively support Steam Input API but still provide button prompts for the Steam Controller, see the Steam Controller article for more information.
- Subreddit with a list of games with native/official bindings support
All games the Steam Community Overlay is capable of hooking are supported; although the level of support varies based on the game-specific support for the Steam Input API.
Support | Mode | Rebind | Explanation |
---|---|---|---|
Native Steam Input API support | Native | Actions | The game supports Steam Input API and allows for full use of the controller configurator for all compatible devices. The game can include native button prompts, action sets, haptic feedback and official configurations with aliased text for games features.
For a list of games, see List of games that support Steam Input API support. |
No Steam Input API support; provides official bindings | Legacy | Buttons | The game does not support Steam Input API, however it does provide one or more official controller config(s) for the configurator.
For a list of games, see List of games that support Steam Input presets.
|
No Steam Input API support | Legacy | Buttons | The game does not support Steam Input API nor provide any official config for the controller configurator. The user has to use a community-created config or create their own.
Supported input devices will be limited to emulating XInput and/or mouse/keyboard input. |
Toggle Steam Input for a specific game: |
---|
Notes
|
Supported input devices
- Supported style of input options differs based on the controller. Refer to the controller-specific page for more information.
- Enabling controller support can cause double input or similar input issues in certain games, or while using certain configurations for the controller.
- In some instances Steam Input will be enabled for a controller even without the user having explicitly enabled support for it. This is typically seen in games where developers have expressively tagged them as requiring Steam Input to support certain types of controllers, as well as in external configuration tools or launcher where Steam Input automatically uses the desktop configuration to spoof mouse and keyboard input, even for controllers without enabled support. Forcefully disabling Steam Input for that specific game is necessary to circumvent this behavior.
To make use of the Steam Input feature users must have a compatible Steam Input device, such as the Steam Controller, DualShock 3, DualShock 4, Dualsense, Dualsense Edge, Switch Pro controller, Xbox 360 controller, Xbox Wireless controller, Xbox Elite controller, Xbox Elite Series 2 controller, Amazon Luna Controller or any other generic XInput or DirectInput controller.[17] However only support for the Steam Controller is enabled by default; support for all other compatible controllers must be manually enabled within Steam before the controller can make use of the features.
Enable controller configuration support for compatible controllers: |
---|
|
Steam Play
- ProtonDB - Community-driven database of Proton compatibility for games.
Steam Play refers to features and functionality of Steam that allows some form of cross-operating system access to purchased games. Back in 2010 when the feature was first announced it referred to titles where a single purchase regardless of operating system granted users access to versions of that game on other operating systems as well, thereby making OS transitions easier as purchased games did not have to be purchased anew for the new operating system.
On August 21, 2018, Valve announced[19] a new version of Steam Play that focused on enhancing and integrating existing third-party Windows compatibility layers and wrappers for Linux into the Steam client and games. It makes use of Proton, a tool that is based on a custom version of the compatibility layer Wine as well as additional libraries developed alongside it and the Vulkan-based Direct3D 11, 10 and 9 translation layer; DXVK. Some of the improvements include a Vulkan-based Direct3D 12 implementation called vkd3d, as well as the "esync" patchset to improve multi-threaded performance in Wine. Proton is available to use through the Steam client on Linux for both officially supported Proton compatible titles, such as DOOM (2016), as well as third-party titles that Valve have not yet verified compatibility with (such as HITMAN2).
Issues fixed
Steam Support Knowledge Base
- Expansive official knowledge base covering everything from account issues, general client issues, and OS-specific issues, to name a few.
Troubleshoot the issue according to Steam Support's Knowledge Base |
---|
Steam fails to launch or log in
- For network connectivity issues, see the Troubleshooting Network Connectivity support article or the Network/Connection Issues category.
General troubleshooting[15] |
---|
|
Try to launch Steam.exe with -tcp parameter[20]
|
---|
Game fails to launch or function properly
- Launch the game after each individual step to see if the issue is resolved.
General troubleshooting[15] |
---|
|
Dependencies install at every launch
Delete install VDF and redist folder |
---|
|
Unable to download any games
Follow this support article: Update & Installation Issues[15] |
---|
Steam CEG protected games crash or freeze the system (AMD Bulldozer CPU)
- Might also just have them run with very poor performance.[21]
Update your BIOS to the latest version[22][21] |
---|
|
Other information
Change the language of a game
Instructions |
---|
Notes
|
Playing without game updates
- The Only update this game when I launch it option does not allow playing without updates; the only way to avoid updates is by playing in Offline Mode.[26]
- Some developers make earlier versions available under the Betas tab in the game's properties in the Steam client. Once selected and downloaded, this alternate version can be played without further updates.
- It is possible to download older game versions and play the older version indefinitely (unless external game-specific services prevents it) if it is stored in another location than the download or game folder.
Download older game versions
- Downloading an older version of a game requires a full download of the specific version and sufficient free space on your device. The download does not overwrite existing game files.
- There's no way to monitor or throttle the download progress without using external third-party tools.
Take note of the required information[27] |
---|
|
Download using Steam's console[28] |
---|
|
Download using DepotDownloader[29] |
---|
|
Notes
- Move the older version to a folder separate from the regular version to prevent Steam from removing the older version when a new update is released. Alternatively, keep a copy of the older version somewhere else.
- Some games might require a
steam_appid.txt
file containing the app ID and nothing else before they can be launched from another location.
Copying a game from a different computer
Instructions[citation needed] |
---|
|
Disable client update check on startup
Instructions[citation needed] |
---|
BootStrapperInhibitAll=enable BootStrapperForceSelfUpdate=disable |
- This is especially useful when you use Steam in Offline Mode and/or want to copy your Steam installation to another offline pc.
- Make sure to undo these settings, when you want to go online again, to keep the Steam client updated.
Client architectures
Technical specs | Supported | Notes |
---|---|---|
Software renderer |
Executable | 32-bit | 64-bit | Notes |
---|---|---|---|
Windows | The client itself is 32-bit, despite a Steam update in 2018 that allowed Valve to update individual features to 64-bit.[30] | ||
macOS (OS X) | As no PowerPC client for Mac was ever released,[31] it is unknown to which extent any PPC/Intel universal apps bought on Steam could be installed on PPC Macs. | ||
Linux | User requests for a native 64-bit client have been denied by Valve on numerous occasions since 2014, purportedly since such a client would be unable to launch 32-bit games. |
- All clients can launch 32-bit and 64-bit games. Only the macOS client can launch ARM games, which it has been able to since September 2021.[32]
Windows-specific
Add Microsoft Store games as non-Steam games
Use UWPHook[citation needed] |
---|
- For manual configuration, see this forum post.
Speed up loading of web pages in Steam
See Speed up loading of web pages in Windows. |
---|
Launch batch file via Steam for non-Steam game
Treat cmd as a non-Steam game[33] |
---|
|
Linux-specific
Downloading game files with SteamGet
SteamGet is a script created by Ryan C. Gordon (aka Icculus) which requires SteamCMD to work. What it does is that it will download all the files from the selected game you own in your account without requiring you to rely Wine to do that or use the SteamCMD itself as this script makes its task more simple. This can be very useful if you wish to use the game files for the source port of the game or an open source engine.
Optimize PulseAudio to audio in Steam games
Edit daemon.conf[34] |
---|
Open daemon.conf file from /etc/pulse/ as root and add the following text: # Start as daemon daemonize = yes allow-module-loading = yes # Realtime optimization high-priority = yes realtime-scheduling = yes realtime-priority = 9 # Scales the device-volume with the volume of the "loudest" application flat-volumes = no # Script file management load-default-script-file = yes default-script-file = /etc/pulse/default.pa # Sample rate resample-method = speex-float-9 default-sample-format = s24-32le default-sample-rate = 192000 alternate-sample-rate = 176000 exit-idle-time = -1 # Optimized fragements for steam default-fragments = 5 default-fragment-size-msec = 2 # Volume deferred-volume-safety-margin-usec = 1 Save the file and run both |
Use Native Steam runtime mode
- Improves the performance for both games and the software itself.
Basic
Install Linux Steam Integration and enable Use Native Runtime. |
---|
Advanced
- On a 64-bit system you must install the 32-bit version of these libraries: openal, nss, gtk2, gtk3, libcanberra, gconf, dbus-glib, libnm-glib, libudev0-shim and libappindicator-gtk2 (so the tray icon would work).
- Some games may still require some additional libraries to work. You can use this page to learn which ones are needed for the specific software regardless of the linux distribution you are using. Most of the Ubuntu-based distros may already include them.
While the current Steam package already includes required libraries to work, they are sadly outdated as they are from Ubuntu 12.04. However, Valve included an option to force Steam to use the libraries used in your system, also known as Steam Native mode. This can be done by adding STEAM_RUNTIME=0
before the command for launching Steam.
It's best to create a separate executable file for it in order to allow easily switch between the Runtime and Native.
Create a Steam Native executable script |
---|
#!/bin/sh export STEAM_RUNTIME=0 # Workaround for dbus fatal termination related coredumps (SIGABRT) # https://github.com/ValveSoftware/steam-for-linux/issues/4464 export DBUS_FATAL_WARNINGS=0 # Override some libraries as these are what games linked against. export LD_LIBRARY_PATH="/usr/lib/steam:/usr/lib32/steam" exec /usr/lib/steam/steam "$@"
|
Once done, you will be able to run Steam Native with the steam-native
command on Terminal, you can add it to the Start/Program Menu if you wish, but it is also best to add its .desktop
file as well, so it'd be available and automatically added.
Create a Steam Native Desktop script |
---|
|
Arch Linux-based distributions only require installing steam-native-runtime
package which will automatically install required repositories and automatically set everything for you, once you install Steam.
Notes
References
- ↑ Retail CD Keys - Steam Support - last accessed on 2023-09-27
- ↑ Steam Guard - Steam Support - last accessed on 2023-09-27
- ↑ News - Steam Client Released - last accessed on 2023-12-19
- ↑ News - Steam For Mac Launch Details Revealed - last accessed on 2023-09-27
- ↑ News - Steam for Linux Now Available - last accessed on 2023-12-19
- ↑ Windows 98/ME support ending this July – The Steam Review - last accessed on 2023-06-09
- ↑ News - Steam client update released - last accessed on 2023-12-19
- ↑ Windows XP and Windows Vista Support - Steam Support - last accessed on 2023-12-19
- ↑ Windows 7 and Windows 8 Support - Steam Support - last accessed on 2023-09-27
- ↑ Steam Is Now Available As A Flatpak App Via Flathub - GamingOnLinux - last accessed on May 2023
- ↑ Flatpak, Steam Cloud, XDG Base, and why Linux doesn’t sync progress - Ctrl.blog - last accessed on September 27, 2023
- ↑ Decoder for the binary Valve Data Format : ReverseEngineering - Reddit - last accessed on May 2023
- ↑ StackExchange :: Why is Steam only showing me “Buy” instead of “Play” option for a game shared via Family Sharing?
- ↑ 15.0 15.1 15.2 15.3 Verified by User:Aemony on 2018-04-09
- ↑ How to Delete Steam Cloud Saves - last accessed on May 2023
- ↑ Steamworks Documentation > Features > Steam Input > Steam Input Devices - last accessed on 2018-04-03
- ↑ Steam - Steam Client Beta - July 19, 2018 - last accessed on 2018-07-20
- "Added support for PS3 Controllers as a separate controller type. Does not include support for the DS3 gyro or analog face buttons. If you’re using a DS3 on Windows you’ll have to obtain the Sony driver through PlayStation Now."
- ↑ Steam for Linux - Introducing a new version of Steam Play - last accessed on 2019-03-10
- ↑ Cannot connect to Steam servers :: Steam Community Discussions - last accessed on May 2023
- ↑ 21.0 21.1 [READ FIRST] AMD Bulldozer CPU Crashes CS:GO - Steam Users' Forums (retrieved)
- ↑ Does Your AMD FX Platform BSOD with Steam? Read This. - Tom’s Hardware
- ↑ A fix for Valve CEG games causing BSOD on Bulldozer -issue - XtremeSystems Forums - last accessed on May 2023
- ↑ The Book of Bulldozer - Revelations: Episode 2 (SuperPI / x87) - XtremeSystems Forums
- ↑ See XCOM: Enemy Unknown#References
- ↑ New Steam version removes option to disable automatic updates - Steam Users' Forums (retrieved)
- ↑ Verified by User:SuperSamus on 2023-07-01
- ↑ Verified by User:SuperSamus on 2023-07-01
- ↑ Verified by User:Aemony on 2020-07-26
- ↑ Valve May Soon Release a Native 64-Bit Version of Its Steam for Linux Client - last accessed on 2021-05-06
- ↑ Steam for Mac System Requirements - OSXDaily - last accessed on May 2023
- ↑ Apple M1 - Testing Steam's ARM Updates - last accessed on 22 February 2022
- ↑ Verified by User:SirYodaJedi on 2020-04-15
- Using launch parameters found here.
- ↑ Optimize PulseAudio settings for Steam Games - last accessed on May 2023