Gameinfo.gi: Difference between revisions
No edit summary |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 2: | Line 2: | ||
{{Source2 topicon}} | {{Source2 topicon}} | ||
<center style=color:white;font-size:20px;font-weight:bold;padding:5px>Game Definition Files</center> | <center style=color:white;font-size:20px;font-weight:bold;padding:5px>Game Definition Files</center> | ||
{{ | {{TabsBar|main=Gameinfo.txt}} | ||
{{langsp|title={{mono|gameinfo.gi}}}}{{Toc-right}} | {{langsp|title={{mono|gameinfo.gi}}}}{{Toc-right}} | ||
Line 15: | Line 15: | ||
{{KV|intn=0|Game|string|The name of the mod in [[w:ASCII|ASCII]]. Displayed in Steam and used as the window title. Only displayed in the main menu if {{Code|preset=1|Title}} isn’t specified.}} | {{KV|intn=0|Game|string|The name of the mod in [[w:ASCII|ASCII]]. Displayed in Steam and used as the window title. Only displayed in the main menu if {{Code|preset=1|Title}} isn’t specified.}} | ||
{{KV|intn=0|Title|string|A [[w:Unicode|Unicode]] string displayed in the main menu of your mod. You can also new line the menu text by adding another key of the same name {{Code|preset=1|Title}}, but append either 2 or a higher number onto it. {{Note|The higher the number, the further down the text will be.}} }} | {{KV|intn=0|Title|string|A [[w:Unicode|Unicode]] string displayed in the main menu of your mod. You can also new line the menu text by adding another key of the same name {{Code|preset=1|Title}}, but append either 2 or a higher number onto it. {{Note|The higher the number, the further down the text will be.}} }} | ||
{{KV|intn=0|Title_PW|string| | {{KV|intn=0|Title_PW|string|Most likely game title in Chinese (CS2 Perfect World). Obfuscated using unknown Unicode encoder.{{confirm}} {{only|{{cs2}}}} }} | ||
===Options=== | ===Options=== |
Latest revision as of 12:27, 6 April 2025




GameInfo.gi is a KeyValues config file that describes a Source 2 games/mod. Most of the basic are slightly different compared to the Source 1 counterpart (gameinfo.txt), and Source 2 also introducing new keyvalues and subkey. For example, GameInfo.gi can contain a Source 2 equivalent of an "autoexec.cfg", which is defined in the "ConVars" KeyValue.


Basic settings
Name
Keys that affect the menu and window title.
- Game <string>
- The name of the mod in ASCII. Displayed in Steam and used as the window title. Only displayed in the main menu if Title isn’t specified.
- Title <string>
- A Unicode string displayed in the main menu of your mod. You can also new line the menu text by adding another key of the same name Title, but append either 2 or a higher number onto it.
Note:The higher the number, the further down the text will be.
- Title_PW <string>
- Most likely game title in Chinese (CS2 Perfect World). Obfuscated using unknown Unicode encoder.[confirm] (only in
)
Options
Keys that affect what tabs and options that show up in the Options panel. Also see Customizing Options: Keyboard.
- Type <string>
- Affects which tabs appear in which order in the Options panel, the value will either be Singleplayer_Only or Multiplayer_Only. Omit this key if your mod has both SP and MP modes.
- NoCrosshair <boolean>
- Hides the multiplayer crosshair selection menu.
- AdvCrosshair <boolean>
- Enables the special advanced crosshair options. Todo: How to implement.
- NoModels <boolean>
- Hides the multiplayer model selection menu.
- NoHIModel <boolean>
- Hides toggle checkbox for
cl_himodels
, which was used for multiplayer models inGoldSrc. Only displayed properly if
cl_himodels
exists in the first place.

Counter-Strike 2 exclusive
- LayeredOnMod <string>
- Inherits the gameinfo.gi data from specified game/mod folder.
- SatelliteDir <string>
- Unknown. Specified as csgo_gc.
Engine and tools
Keys that affect how the engine/tools runs and some options for the tools themselves.
- Nodegraph <boolean>
- Whether or not to enable building nodegraphs (.ain files) for maps. Disabled in Half-Life: Alyx.
- Tonemapping <boolean>
- Show Tonemapping UI in tools mode.
- GameData <string>
- Path to a FGD file, relative to Hammer’s location. This is needed for instances to be compiled into maps. It is not used by Hammer itself.
- InstancePath <string> (in all games since
)
- The default location in which to look for Instance VMFs.
SupportsXbox360 <boolean>- Deprecated.
Likely deprecated. Only present in previous version of Counter-Strike 2. Mark the game whether if it was supported on Xbox 360 or not.
FileSystem
Keys that are within the subkey FileSystem
.
- SteamAppID <integer>
- The Steam AppID of the game. On Source 2 this is likely not needed, and only present in gameinfo.gi on
core
folder (using non-existent/private AppID "890", aswell ascsgo_core
in CS2, which uses the old CS:GO Beta Dev AppID).


ToolsAppId <integer>- Deprecated.
This is the AppID of the SDK currently in use. Deprecated and leftover from Source. Only present in gameinfo.gi oncore
folder (using non-existent/private AppID "895"_
SearchPaths


SearchPaths
is a subkey within FileSystem
. It contains a key for every search path. When the engine needs a file it traverses the search paths, stopping when the desired file has been found, hence the order of the search paths is important.
Loadorder is defined by two things: Primarily, whether files are in a VPK or not, and secondarily the "Top-Down" order in which the Search paths are listed.
The absolute highest priority over everything is given to whichever vpk file (such as hl2_misc_dir.vpk or pak01_dir.vpk) is highest in the search path. Even if it is the third path in the list, VPK has priority.
All subsequent vpk files according to the Gameinfo.txt's "Top-Down" rule will load all data that has not yet been found in the previous VPK file(s).
Once all VPK files are loaded, it goes back to the top most search path and loads any loose files that are not yet in any VPK file. Then it continues along the Gameinfo.txt's "Top-Down" rule to check for any additional loose files not yet loaded.
Directories
The directory, which is the value of the key, will either be relative to the SteamAppID
’s root directory (i.e. where the executable of the game is located), relative to GameInfo.gi or absolute. A example of each one respectively would be this:
In Source 2, mounting a directory will also mount the VPKs inside it.
The 2 variables above will start the search in a certain directory, |All_Source_Engine_Paths|
will start the directory within the root folder, and |GameInfo_Path|
will start it in the folder where GameInfo.txt is located. Both of these variables can be appended with any number of folders. There are also some special commands you can append in addition to the folders and variables, the known ones are:
../
Goes back one folder, this will useful for mounting other games’ content likePortal, since AdditionalContentID is deprecated. If you wanted to mount Portal, and your game is in, say for example
"<SteamFolder>\SteamApps\Common\MyGame\FolderWhereGameInfoIs"
, you would create a search path like this to mount it’s content:
Here is also an example of how to mount a SourceMod:
.
This stops the search in the current directory, this should only be used if you want to directly mount where|All_Source_Engine_Paths|
or|GameInfo_Path|
are. An example of both:
/*
Mount every sub-folder and VPK in the current directory, this command is what makes the custom folder work in most up-to-date Source games. An example of its use:
Keys
Source 2, like Source 2013, introduces few new keys that add more control.
The current keys known so far are:
Game
Adds the path as a simple search path. Will add any content it finds, including VPKs. Core engine files (located incore
folder), are also mounted after the game folder.Game_LV
(only in)
Marks the directory as leading to Low Violence files.Mod
Marks the search path as a Mod path. This is usually where GameInfo.gi is.Write
Marks the search path as a write path. This is usually where GameInfo.gi is. It marks the directory as the default directory for writing for this game.Default_Write_Path
Marks the search path as a Default write path. This is usually where GameInfo.gi is. It marks the directory as the default directory for writing config.cfg, node graphs, screenshots and some other files for this mod. Also a fallback for when Write isn’t specified.[confirm]AddonRoot
Mount game addons located in specified folder. Usually set to game_name_addons.
New KeyValues
This section contains new keyvalues introduced in Source 2.
Engine2
Counter-Strike 2
DepotBuildDateTimeInTitleBar
Show depot build date & time in titlebar.InitFilterTextEarly
UnknownCNPW
Unknown, has a password for something.LvConfig
Low violence config?
Half-Life: Alyx
HasModAppSystems
Capable64Bit
Mark if the game is 64-bit capable.URLName
Website name? Set to "hlvr" (same as game/mod folder) in Half-Life: AlyxUsesPanorama
Mark if the game use Panorama.UsesBink
Mark if the game use Bink.PanoramaUIClientFromClient
RenderingPipeline
SkipPostProcessing
- Skip rendering post processing effect?PostProcessingInMainPipeline
TonemappingVRForward
Tonemapping_UseLogLuminance
ToolsVisModes
OpaqueFade
AmbientOcclusionProxies
RetinaBurnFx
- Renders retina burn effect.
MSAADefaultNonVR
- Changes MSAA sample count (or disable it), when the game runs in non-VR mode.SuppressNonConsoleVGuiInVR
Supress non-console VGUI in VR
ConVars
Executes the console variable when starting the game.
In Counter-Strike 2 for example, grass quality, Steam Audio and other commands are set to specific value and FPS are capped to 400.
Hammer
Contains KeyValues for Hammer 5.x.
SupportedLanguages
List of languages supported by the game.
Examples
Counter-Strike 2 Example
A GameInfo.gi from Counter-Strike 2.

Build date: Jan 21, 2025