Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.

Difference between revisions of "Glossary:Game data"

From PCGamingWiki, the wiki about fixing PC games
(→‎Windows data paths: updated Wine/Proton details)
(→‎Uplay: Ubisoft Connect now)
(32 intermediate revisions by 13 users not shown)
Line 6: Line 6:
 
* For non-Steam games right click the shortcut and choose ''Open file location''.
 
* For non-Steam games right click the shortcut and choose ''Open file location''.
 
* For Steam games right-click the game in the Steam library and choose ''Properties'', then go to the ''Local files'' tab and click ''Browse local files''.
 
* For Steam games right-click the game in the Steam library and choose ''Properties'', then go to the ''Local files'' tab and click ''Browse local files''.
* Activity in <code>%PROGRAMFILES%</code>, <code>%PROGRAMFILES(X86)%</code> and <code>{{p|windir}}</code> is redirected to <code>%LOCALAPPDATA%\VirtualStore</code> on Windows Vista and later for unprivileged programs<ref>[https://msdn.microsoft.com/en-us/library/bb530410.aspx#vistauac_topic3 Windows Vista Application Development Requirements for User Account Control Compatibility - MSDN]</ref><ref>[https://technet.microsoft.com/en-us/magazine/2007.06.uac.aspx#s2 Security: Inside Windows Vista User Account Control - TechNet]</ref>; Steam and many MMOs change folder permissions to save directly into the installation folder.
+
* Write operations against a location below <code>{{p|programfiles}}</code>, <code>{{p|programdata}}</code>, or <code>{{p|windir}}</code> are redirected to <code>{{p|localappdata}}\VirtualStore</code> on Windows Vista and later for processes running without elevation.<ref>[https://msdn.microsoft.com/en-us/library/bb530410.aspx#vistauac_topic3 Windows Vista Application Development Requirements for User Account Control Compatibility - MSDN]</ref><ref>[https://technet.microsoft.com/en-us/magazine/2007.06.uac.aspx#s2 Security: Inside Windows Vista User Account Control - TechNet]</ref>
 +
** To prevent this redirection many digital distribution platforms and MMOs therefor change the security permissions on their root folder(s) to allow write operations for regular users and non-elevated processes directly to the installation folder.
 +
** The '''Run as administrator''' option is used to elevate a process and allows it to run with elevated privileges, meaning it can write to the protected folders without having those writes be redirected to the VirtualStore folder.
  
 
===macOS (OS X)===
 
===macOS (OS X)===
Line 14: Line 16:
 
===Linux===
 
===Linux===
 
* For Steam games right-click the game in the Steam library and choose ''Properties'', then go to the ''Local files'' tab and click ''Browse local files''.
 
* For Steam games right-click the game in the Steam library and choose ''Properties'', then go to the ''Local files'' tab and click ''Browse local files''.
 +
* For GOG games, if you didn't change the destination folder during install, the default path is ''$HOME/GOG Games/HuniePop''.
 
<!-- TODO: Add a blurb about non-Steam games (/opt, /usr/games) and non-Steam games that do not use package managers -->
 
<!-- TODO: Add a blurb about non-Steam games (/opt, /usr/games) and non-Steam games that do not use package managers -->
  
Line 19: Line 22:
 
===Steam===
 
===Steam===
 
The Steam folder contains data for games using Steam integration; it uses the following locations by default:
 
The Steam folder contains data for games using Steam integration; it uses the following locations by default:
* 64-bit Windows: <code>%PROGRAMFILES(X86)%\Steam</code>
+
* 64-bit Windows: <code>%PROGRAMFILES(X86)%\Steam</code>{{Note|The default installation folder of Steam is '''C:\Program Files (x86)\Steam''' on 64-bit Windows.<ref>{{Refcheck|user=Aemony|date=2020-07-21|comment=I just uninstalled Steam and reinstalled it to confirm this, using a fresh download of the installer.}}</ref> This essentially means that on 64bit Windows, Steam is being installed to '''%PROGRAMFILES(X86)%''' as that particular environmental variable only exists in 64-bit Windows and points to '''C:\Program Files (x86)''' regardless of bitness of the running process. '''''Technically speaking''''', the Steam installer actually makes use of '''%PROGRAMFILES%''' on both 32-bit and 64-bit Windows, however as the installer itself is 32-bit even on 64-bit Windows, '''%PROGRAMFILES%''' points to '''C:\Program Files (x86)''' for the installer process, and so it gets installed there. Because of this, we use '''%PROGRAMFILES(X86)%''' to refer to the install location on 64-bit Windows, as the alternative would be much too cumbersome to perform for the average user.<ref>{{Refcheck|user=Aemony|date=2020-07-21|comment=Imagine asking the average user to run the '''32-bit''' command prompt by running <code>%WINDIR%\SysWOW64\cmd.exe</code>, then type in <code>explorer %PROGRAMFILES%</code> and hit {{Key|Enter}} solely to be taken to the '''C:\Program Files (x86)''' location ''the 'proper' way''. Pointing them to '''%PROGRAMFILES(X86)%''' so much easier.}}</ref> }}
 
* 32-bit Windows: <code>%PROGRAMFILES%\Steam</code>
 
* 32-bit Windows: <code>%PROGRAMFILES%\Steam</code>
 
* macOS (OS X): <code>~/Library/Application Support/Steam/</code>
 
* macOS (OS X): <code>~/Library/Application Support/Steam/</code>
 
* Linux: <code>~/.steam/steam/</code>
 
* Linux: <code>~/.steam/steam/</code>
  
Game data is saved within a folder called steamapps found within the Steam directory.
+
Game data is saved within a folder called '''steamapps''' found within the Steam directory.
  
 
===Origin===
 
===Origin===
Line 31: Line 34:
 
* 32-bit Windows: <code>%PROGRAMFILES%\Origin Games</code>
 
* 32-bit Windows: <code>%PROGRAMFILES%\Origin Games</code>
  
===Uplay===
+
===Ubisoft Connect===
The Uplay folder contains data for games using Uplay integration; it uses the following locations by default:
+
The Ubisoft Connect folder contains data for games using Ubisoft Connect integration; it uses the following locations by default:
 
* 64-bit Windows: <code>%PROGRAMFILES(X86)%\Ubisoft\Ubisoft Game Launcher</code>
 
* 64-bit Windows: <code>%PROGRAMFILES(X86)%\Ubisoft\Ubisoft Game Launcher</code>
 
* 32-bit Windows: <code>%PROGRAMFILES%\Ubisoft\Ubisoft Game Launcher</code>
 
* 32-bit Windows: <code>%PROGRAMFILES%\Ubisoft\Ubisoft Game Launcher</code>
Line 42: Line 45:
 
{{ii}} Note that some folders are hidden by default. To view them, enable "show hidden files and folders" and possibly disable "hide protected operating system files" in your Windows folder configuration.
 
{{ii}} Note that some folders are hidden by default. To view them, enable "show hidden files and folders" and possibly disable "hide protected operating system files" in your Windows folder configuration.
 
{{ii}} Below, the letter <code>C:\</code> refers to the drive where Windows is installed and on some computers this could be <code>D:\</code> or another letter.
 
{{ii}} Below, the letter <code>C:\</code> refers to the drive where Windows is installed and on some computers this could be <code>D:\</code> or another letter.
{{ii}} When running Windows games under Wine or Proton, the Windows 2000/XP paths are used unless otherwise noted.
+
{{ii}} When running Windows games under Wine or Proton, the Windows 2000/XP paths are used unless otherwise noted (treat all backslashes as forward slashes).
  
 
===User profile===
 
===User profile===
Line 51: Line 54:
  
 
====Documents====
 
====Documents====
{{ii}} The <code>Documents</code> folder is stored within the user profile folder. For Windows 2000/XP this folder is called <code>My Documents</code>.
+
{{ii}} The <code>Documents</code> folder is stored within the user profile folder. For Windows 2000/XP this folder is named <code>My Documents</code>.
  
 
===User application data===
 
===User application data===
Line 68: Line 71:
 
{{ii}} On Windows Vista/7/8/10, <code>{{p|programdata}}</code> points to a hidden folder at <code>C:\ProgramData\</code>.
 
{{ii}} On Windows Vista/7/8/10, <code>{{p|programdata}}</code> points to a hidden folder at <code>C:\ProgramData\</code>.
 
{{ii}} On Windows 2000/XP, <code>%ALLUSERSPROFILE%\Application Data\</code> points to <code>C:\Documents and Settings\All Users\Application Data\</code>.
 
{{ii}} On Windows 2000/XP, <code>%ALLUSERSPROFILE%\Application Data\</code> points to <code>C:\Documents and Settings\All Users\Application Data\</code>.
 +
 +
===Shared applications===
 +
{{ii}} <code>{{p|programfiles}}</code> always points to the appropriate '''Program Files''' folder based on the bitness of the running process. For 32-bit processes, it typically resolves to <code>C:\Program Files</code> on 32-bit Windows and <code>C:\Program Files (x86)</code> on 64-bit Windows. For 64-bit processes, it typically resolves to <code>C:\Program Files</code>.
 +
{{ii}} 64-bit Windows often have two more, but almost never used, environmental variables. <code>%ProgramFiles(x86)%</code> points to the 32-bit folder (typically <code>C:\Program Files (x86)</code>) whereas  <code>%ProgramW6432%</code> points to the 64-bit folder (typically <code>C:\Program Files</code>), both regardless of the bitness of the running process.
  
 
==Windows registry==
 
==Windows registry==
Line 76: Line 83:
  
 
===HKEY_LOCAL_MACHINE===
 
===HKEY_LOCAL_MACHINE===
 +
{{ii}} On 64-bit systems, 32-bit programs writing to {{Code|{{p|hklm}}\SOFTWARE}} are redirected to the {{Code|Wow6432Node}} underneath, so {{Code|{{p|hklm}}\SOFTWARE\Wow6432Node}}.<ref>[https://msdn.microsoft.com/en-us/library/windows/desktop/ms724072.aspx 32-bit and 64-bit Application Data in the Registry (Windows) - MSDN]</ref>
 
{{ii}} 32-bit programs writing to {{Code|{{p|hklm}}\SOFTWARE}} without elevation are redirected to {{Code|{{p|hkcu}}\Software\Classes\VirtualStore\MACHINE\SOFTWARE}} on Windows Vista and later.<ref>[https://msdn.microsoft.com/en-us/library/bb530198.aspx Registry Virtualization in Windows Vista - MSDN]</ref>
 
{{ii}} 32-bit programs writing to {{Code|{{p|hklm}}\SOFTWARE}} without elevation are redirected to {{Code|{{p|hkcu}}\Software\Classes\VirtualStore\MACHINE\SOFTWARE}} on Windows Vista and later.<ref>[https://msdn.microsoft.com/en-us/library/bb530198.aspx Registry Virtualization in Windows Vista - MSDN]</ref>
{{ii}} On 64-bit systems, 32-bit programs writing to {{Code|{{p|hklm}}\SOFTWARE}} are redirected to a {{Code|Wow6432Node}} key there<ref>[https://msdn.microsoft.com/en-us/library/windows/desktop/ms724072.aspx 32-bit and 64-bit Application Data in the Registry (Windows) - MSDN]</ref>
+
{{mm}} The above two bullets can happen simultaneously, so 32-bit programs running without elevation on 64-bit systems that are attempting to write to {{Code|{{p|hklm}}\SOFTWARE}} will be redirected to {{Code|{{p|hkcu}}\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node}} on Windows Vista and later.
  
 
===HKEY_CURRENT_USER===
 
===HKEY_CURRENT_USER===
{{ii}} Note that 32-bit programs writing to {{Code|{{p|hkcu}}\Software}} are NOT redirected to a {{Code|Wow6432Node}} key unlike local machine writes. They are stored in the same location, as programs per user edits are assumed to always be compatible between architectures. Per machine edits are too, 99.99% of the time{{CN|Source?}}, the restriction was mostly a poor choice by Microsoft.{{CN|Not clear enough. Which restriction?}}
+
{{ii}} On 64-bit systems, note that 32-bit programs writing to {{Code|{{p|hkcu}}\Software}} '''are ''not'' redirected''' to the {{Code|Wow6432Node}} underneath but are instead left untouched and allowed to write to {{Code|{{p|hkcu}}\Software}}. This is in contrast with writes to [[#HKEY_LOCAL_MACHINE|HKEY_LOCAL_MACHINE]] which are redirected by Windows.
  
 
==User ID==
 
==User ID==
Line 92: Line 100:
 
{{ii}} Origin uses randomized characters including letters (a-Z) and numbers mixed together, ending with two hyphens. For example, [[User:Hawaii_Beach|Hawaii_Beach]] has the following ID: <code>BobyAWXzmLlf6NasXubNEw--</code>
 
{{ii}} Origin uses randomized characters including letters (a-Z) and numbers mixed together, ending with two hyphens. For example, [[User:Hawaii_Beach|Hawaii_Beach]] has the following ID: <code>BobyAWXzmLlf6NasXubNEw--</code>
  
===Uplay===
+
===Ubisoft Connect===
 
{{ii}} Ubisoft uses the [[Wikipedia:GUID|GUID]] format.
 
{{ii}} Ubisoft uses the [[Wikipedia:GUID|GUID]] format.
  

Revision as of 21:50, 27 October 2020

This page is a stub: it lacks content and/or basic article components. You can help to expand this page by adding an image or additional information.

Installation folder

The game's installation folder is where the game's files are stored, displayed as <path-to-game>. Save files are sometimes stored here as well but many newer games will put them in a different location.

Windows

  • For non-Steam games right click the shortcut and choose Open file location.
  • For Steam games right-click the game in the Steam library and choose Properties, then go to the Local files tab and click Browse local files.
  • Write operations against a location below %PROGRAMFILES%, %PROGRAMDATA%, or %WINDIR% are redirected to %LOCALAPPDATA%\VirtualStore on Windows Vista and later for processes running without elevation.[1][2]
    • To prevent this redirection many digital distribution platforms and MMOs therefor change the security permissions on their root folder(s) to allow write operations for regular users and non-elevated processes directly to the installation folder.
    • The Run as administrator option is used to elevate a process and allows it to run with elevated privileges, meaning it can write to the protected folders without having those writes be redirected to the VirtualStore folder.

macOS (OS X)

  • For non-Steam games open Finder and click Applications on the side. Some games will be in folders.
  • For Steam games right-click the game in the Steam library and choose Properties, then go to the Local files tab and click Browse local files.

Linux

  • For Steam games right-click the game in the Steam library and choose Properties, then go to the Local files tab and click Browse local files.
  • For GOG games, if you didn't change the destination folder during install, the default path is $HOME/GOG Games/HuniePop.

Client folder

Steam

The Steam folder contains data for games using Steam integration; it uses the following locations by default:

  • 64-bit Windows: %PROGRAMFILES(X86)%\Steam[Note 1]
  • 32-bit Windows: %PROGRAMFILES%\Steam
  • macOS (OS X): ~/Library/Application Support/Steam/
  • Linux: ~/.steam/steam/

Game data is saved within a folder called steamapps found within the Steam directory.

Origin

The Origin Client folder contains data for games using Origin integration; it uses the following locations by default:

  • 64-bit Windows: %PROGRAMFILES(X86)%\Origin Games
  • 32-bit Windows: %PROGRAMFILES%\Origin Games

Ubisoft Connect

The Ubisoft Connect folder contains data for games using Ubisoft Connect integration; it uses the following locations by default:

  • 64-bit Windows: %PROGRAMFILES(X86)%\Ubisoft\Ubisoft Game Launcher
  • 32-bit Windows: %PROGRAMFILES%\Ubisoft\Ubisoft Game Launcher

Windows data paths

Documentation on how to incorporate these paths into any wiki articles can be found here.
To open the environmental variable path, either copy/paste or write the desired path variable to file explorer, to start menu search bar or to run dialog which can be opened with Win+R.
A list of the different paths for each version of Windows can be found here and a list of environment variables can be found here.
Note that some folders are hidden by default. To view them, enable "show hidden files and folders" and possibly disable "hide protected operating system files" in your Windows folder configuration.
Below, the letter C:\ refers to the drive where Windows is installed and on some computers this could be D:\ or another letter.
When running Windows games under Wine or Proton, the Windows 2000/XP paths are used unless otherwise noted (treat all backslashes as forward slashes).

User profile

%USERPROFILE% points to the current user's profile folder.
For Windows Vista/7/8/10, this points to C:\Users\(Username)\.
For Windows 2000/XP, this points to C:\Documents and Settings\(Username)\.
Some games use a path based on %USERNAME%; this method does not redirect when the user folder locations have been customised.

Documents

The Documents folder is stored within the user profile folder. For Windows 2000/XP this folder is named My Documents.

User application data

There are multiple folders for application settings for user profiles.
On Windows Vista/7/8/10, %APPDATA% points to C:\Users\(Username)\AppData\Roaming\, while %LOCALAPPDATA% points to C:\Users\(Username)\AppData\Local\ another possible location for app data.
Some newer games use %USERPROFILE%\AppData\LocalLow\, this location does not have a short environmental variable so must be specified in this longer form.
On Windows 2000/XP, %APPDATA% points to C:\Documents and Settings\(Username)\Application Data\, while C:\Documents and Settings\(Username)\Local Settings\Application Data\ is the other possible location with no default environment variable.

Shared profile

%PUBLIC% or %ALLUSERSPROFILE% contain application settings shared between all users.
For Windows Vista/7/8/10, %PUBLIC% points to C:\Users\Public\.
For Windows 2000/XP, %ALLUSERSPROFILE% points to the C:\Documents and Settings\All Users\.

Shared application data

%PROGRAMDATA% or %ALLUSERSPROFILE% contain application settings shared between all users.
On Windows Vista/7/8/10, %PROGRAMDATA% points to a hidden folder at C:\ProgramData\.
On Windows 2000/XP, %ALLUSERSPROFILE%\Application Data\ points to C:\Documents and Settings\All Users\Application Data\.

Shared applications

%PROGRAMFILES% always points to the appropriate Program Files folder based on the bitness of the running process. For 32-bit processes, it typically resolves to C:\Program Files on 32-bit Windows and C:\Program Files (x86) on 64-bit Windows. For 64-bit processes, it typically resolves to C:\Program Files.
64-bit Windows often have two more, but almost never used, environmental variables. %ProgramFiles(x86)% points to the 32-bit folder (typically C:\Program Files (x86)) whereas %ProgramW6432% points to the 64-bit folder (typically C:\Program Files), both regardless of the bitness of the running process.

Windows registry

  1. Open the Registry Editor:
    • Vista and later: open the Start screen/Start menu, type regedit, press Enter.
    • Windows XP: press Win+R, type regedit, press Enter.
  2. Go to the folder named.

HKEY_LOCAL_MACHINE

On 64-bit systems, 32-bit programs writing to HKEY_LOCAL_MACHINE\SOFTWARE are redirected to the Wow6432Node underneath, so HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node.[5]
32-bit programs writing to HKEY_LOCAL_MACHINE\SOFTWARE without elevation are redirected to HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE on Windows Vista and later.[6]
The above two bullets can happen simultaneously, so 32-bit programs running without elevation on 64-bit systems that are attempting to write to HKEY_LOCAL_MACHINE\SOFTWARE will be redirected to HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node on Windows Vista and later.

HKEY_CURRENT_USER

On 64-bit systems, note that 32-bit programs writing to HKEY_CURRENT_USER\Software are not redirected to the Wow6432Node underneath but are instead left untouched and allowed to write to HKEY_CURRENT_USER\Software. This is in contrast with writes to HKEY_LOCAL_MACHINE which are redirected by Windows.

User ID

A User ID is a unique identifier used to identify accounts. Files are sometimes saved to user specific location such as using profile name or numbered ID in filename/path indicated by <user-id>. This can vary between users.

Steam

Steam has multiple user ids, but the one most commonly used by users is the steamID64 which contains 17 numbers and starts with 7656.
The customURL is a customizable id which can be set in the Steam profile settings.

Origin

Origin uses randomized characters including letters (a-Z) and numbers mixed together, ending with two hyphens. For example, Hawaii_Beach has the following ID: BobyAWXzmLlf6NasXubNEw--

Ubisoft Connect

Ubisoft uses the GUID format.

macOS (OS X) paths

$HOME refers to the user's home folder, for example /Users/user/, where the account name is "user".

Note: The hidden Library folder can be reached via "Finder > Shift+ Command+G > ~/Library > Go" path.

Linux paths

The correct place on Linux to store save data and configuration files are specified by the XDG base directory specification.

XDG paths

Most distributions do not set a default option for these environmental variables.
Games using $XDG_DATA_HOME should default to $HOME/.local/share for the save path.
Games using $XDG_CONFIG_HOME should default to $HOME/.config for the configuration path.

Note: a game using the fall-back paths doesn't guarantee it is following the XDG specification. For example, Game Maker and Unity 4 titles do not actually use the relevant environmental variables, despite using the correct fall-back path.

Home

$HOME refers to the user's home folder, for example /home/user, where the account name is "user".


Notes

  1. The default installation folder of Steam is C:\Program Files (x86)\Steam on 64-bit Windows.[3] This essentially means that on 64bit Windows, Steam is being installed to %PROGRAMFILES(X86)% as that particular environmental variable only exists in 64-bit Windows and points to C:\Program Files (x86) regardless of bitness of the running process. Technically speaking, the Steam installer actually makes use of %PROGRAMFILES% on both 32-bit and 64-bit Windows, however as the installer itself is 32-bit even on 64-bit Windows, %PROGRAMFILES% points to C:\Program Files (x86) for the installer process, and so it gets installed there. Because of this, we use %PROGRAMFILES(X86)% to refer to the install location on 64-bit Windows, as the alternative would be much too cumbersome to perform for the average user.[4]

References

  1. Windows Vista Application Development Requirements for User Account Control Compatibility - MSDN
  2. Security: Inside Windows Vista User Account Control - TechNet
  3. Verified by User:Aemony on 2020-07-21
    I just uninstalled Steam and reinstalled it to confirm this, using a fresh download of the installer.
  4. Verified by User:Aemony on 2020-07-21
    Imagine asking the average user to run the 32-bit command prompt by running %WINDIR%\SysWOW64\cmd.exe, then type in explorer %PROGRAMFILES% and hit Enter solely to be taken to the C:\Program Files (x86) location the 'proper' way. Pointing them to %PROGRAMFILES(X86)% so much easier.
  5. 32-bit and 64-bit Application Data in the Registry (Windows) - MSDN
  6. Registry Virtualization in Windows Vista - MSDN