A simple program to get the acheivement for a game called Garry's Mod. This acheivement requires you to open and close the game 1000 times.
You can find the latest release Here.
A config.json is created next to the executable after the first run:
{
"steam_app_id": 4000,
"process_names": ["hl2_linux", "gmod"],
"idle_read_threshold_mb_s": 10.0
}The game is launched through Steam's steam://rungameid/<steam_app_id> URL handler, so Steam resolves the install location itself — no game path is required, on any platform. The app id is the same on every branch, so launching works whatever beta you've selected.
-
steam_app_id— the Steam app id of the game (4000for Garry's Mod). -
process_names— the running process(es) used to detect when the game is up and to close it. All listed names are matched, so a single config can cover more than one branch. Accepts either a single string ("gmod.exe") or a list. The name depends on the branch and how Steam runs it:Branch / runtime Process name Windows (any branch) gmod.exeLinux — default (32-bit) hl2_linuxLinux — x86-64 branch gmodLinux — forced Proton gmod.exeThe Linux default lists both
hl2_linuxandgmod, so the same config works on the default and x86-64 branches. If your setup differs, setprocess_namesto whateverpgrep -af gmod(orcat /proc/<pid>/comm) reports while the game is running. -
idle_read_threshold_mb_s— read throughput (MB/s) below which the game is treated as done loading and closed. The tool watches disk read activity rather than CPU: loading reads assets at hundreds of MB/s, and once the menu appears that drops to ~zero — even while the window is focused (CPU, by contrast, stays high at the menu and only falls when minimized). Default10.0; raise it if your machine has heavy background read activity, lower it (above zero) to be stricter. Must be positive — a value of0or less is rejected and reset to the default. (Linux only — without/proc, other platforms instead wait a fixed ~60s settle before closing.)
Note
hl2_linux is the shared Source-engine binary name, so matching it could also close another native Source game if one is running. Narrow process_names (e.g. to just ["gmod"] on the x86-64 branch) if that matters to you.
Note
Steam must be installed and its steam:// URL handler registered (the default after any normal Steam install). Any per-game launch flags should be set in the game's Launch Options in the Steam client.
