Garry's Mod Wiki

Revision Difference

File_Search_Paths#561717

<cat>Dev.Ref</cat> # File Search Paths Here is a list of file search paths for use by the <page>file</page> library. | Search Path | Description | | -------------- | | "GAME" | Structured like base folder (garrysmod/), searches all the mounted content (main folder, addons, mounted games, etc) | | "LUA" | All Lua folders (lua/) including gamemodes and addons | | "lcl" | All Lua files and subfolders (lua/) visible to the client <page text="state">States</page>. | | "lsv" | All Lua files and subfolders (lua/) visible to the server <page text="state">States</page>. | | "LuaMenu" | All Lua files and subfolders (lua/) visible to the menu <page text="state">States</page>. | | "DATA" | Data folder (garrysmod/data) | | "DOWNLOAD" | Downloads folder (garrysmod/download/) | | "garrysmod" & "MOD" | Strictly the game folder (garrysmod/), ignores mounting. | | "BASE_PATH" | Location of the root folder (where hl2.exe, bin and etc. are) | | "EXECUTABLE_PATH" | Bin folder and root folder | | "MOD_WRITE", "GAME_WRITE" & "DEFAULT_WRITE_PATH" | Strictly the game folder (garrysmod/) | | "THIRDPARTY" | Contains content from installed addons or gamemodes. | | "WORKSHOP" | Contains only the content from workshop addons. This includes all mounted .gma files. | | "BSP" | Only the files embedded in the currently loaded map (`.bsp` lump 40) | | "GAMEBIN" | Location of the folder containing important game files. (On Windows: garrysmod/bin on Linux: bin/linux32 or bin/linux64) | | <mounted folder> | Strictly within the folder of a mounted game specified, e.g. "cstrike", see note below | | <mounted Workshop addon title> | Strictly within the specified Workshop addon. See <page>engine.GetAddons</page>.<br/><br/>For GMA files, this will be the [title embedded inside the GMA file itself](https://github.com/Facepunch/garrysmod-issues/issues/5143#issuecomment-1014786514), not the title of the Workshop addon it was downloaded from. | ⤶ <note>⤶ Mounted games also get their own Search Path. Examples:⤶ ⤶ Mounted games also get their own Search Path. Examples:⤶ | Search Path | Game | | -------------- | | "cstrike" | Counter-Strike Source | | "hl2" | Half-Life 2 | </note>⤶ # Listing all active search paths in-game Garry's Mod provide a useful command that lists all currently active search paths for the current game state: `path` The command will out text like this: ``` --------------- Paths: --- ENGINECORE --- "path_to_folder1" "EXECUTABLE_PATH" "path_to_folder2" "BASE_PATH" "path_to_folder3" "GAMEBIN" "path_to_folder4" "LOGDIR" ... --- GAMECONTENT --- "path_to_vpk1" "GAME" (VPK) "path_to_vpk2" "hl2" (VPK) "path_to_vpk3" "GAME" (VPK) "path_to_vpk4" "cstrike" (VPK) ``` Each line will contain the real filesystem path and its Search Path designation that can be used with the <page>file</page> library. This may also be useful for general debugging. Content from paths that appear first will override content from paths that appear last.