In order to support the new filesystem changes in Strata Source, modifications have been
made to Source's existing GameInfo.txt format.
Mounts Block
The mounts block is designed to supplement the user-editable mounts.kv file in
cfg. This block should be used to setup the required paths for your mod.
This block should be placed in the "GameInfo" block like everything else.
An example of the mounts block:
mount
{
// The AppID of your mod
620
{
"required" "1" // If 1, the game will not launch if this couldn't be mounted.
"head" "0" // If 1, this will add the search path to the head of the list
// 'update' is the name of the folder to look in
"update"
{
"vpk" "pak01" // The vpk directive tells the engine to look for update/pak01_XXX.vpk
}
"portal2_dlc2"
{
"vpk" "pak01" // Add portal2_dlc2/pak01_XXX.vpk
"dir" "maps" // Add the portal2_dlc2/maps directory to the search path
"dir" "models" // Add the portal2_dlc2/models directory to the search path
}
"portal2_dlc1"
{
"vpk" "pak01"
}
"portal2"
{
"vpk" "pak01"
}
}
}
Custom Folder
Strata Source supports many Source 2013/TF2-style constructs in the gameinfo, such as the custom folder.
To support the custom folder, simply add game "<your mod>/custom/*" to your SearchPaths block.
Anything under the <your mod>/custom/ folder will be mounted as if it were a game.
Other Considerations
When making a P2CE mod, you should omit the gamebin entry from the
SearchPaths block. This will cause the game to attempt to load binaries from
your mod's bin directory instead of P2CE's.
When adding p2ce to your gameinfo, add it as game+mod. Otherwise, the game will not be
able to find steam.inf unless your mod ships it.
Example GameInfo.txt
The following is an example gameinfo.txt from our template mod repo found here
"GameInfo"
{
game "Portal 2: My Cool Template Mod"
GameData "p2ce.fgd"
// Mounts content from Portal 2 and P2CE.
// To add additional mounts, see cfg/mounts.kv
mount
{
// Portal 2 is required for this mod
620
{
"required" "1"
// Priority is determined by the order
// in which folders are defined.
// For example, assets in "portal2_dlc1" will
// be overridden by assets in "update"
"update
{
"vpk" "pak01"
}
"portal2_dlc2"
{
"vpk" "pak01"
}
"portal2_dlc1"
{
"vpk" "pak01"
}
"portal2"
{
"vpk" "pak01"
}
}
}
FileSystem
{
SteamAppId 440000 // Identifies this as a P2CE mod.
SearchPaths
{
Game+mod+default_write_path |gameinfo_path|.
// p2ce should be marked as a mod too so it can pull important files that are missing from your mod
Game+mod p2ce
GameBin p2ce/bin
Game hammer
Game update
Platform+game platform
}
}
}