{"id":19293519,"url":"https://github.com/reloaded-project/reloaded.universal.steamhook","last_synced_at":"2025-11-16T15:04:38.439Z","repository":{"id":94519860,"uuid":"202569864","full_name":"Reloaded-Project/reloaded.universal.steamhook","owner":"Reloaded-Project","description":"A Reloaded II mod that tricks steam into not restarting the game when launched by an external application by dropping `steam_appid.txt` and hooking some functions. Note: Does not touch DRM.","archived":false,"fork":false,"pushed_at":"2019-08-15T15:53:14.000Z","size":38,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-24T00:23:30.798Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Reloaded-Project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-15T15:50:37.000Z","updated_at":"2024-05-18T14:40:14.000Z","dependencies_parsed_at":"2023-07-28T08:31:02.701Z","dependency_job_id":null,"html_url":"https://github.com/Reloaded-Project/reloaded.universal.steamhook","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Reloaded-Project/reloaded.universal.steamhook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Freloaded.universal.steamhook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Freloaded.universal.steamhook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Freloaded.universal.steamhook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Freloaded.universal.steamhook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Reloaded-Project","download_url":"https://codeload.github.com/Reloaded-Project/reloaded.universal.steamhook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Reloaded-Project%2Freloaded.universal.steamhook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284725587,"owners_count":27053255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T22:35:17.669Z","updated_at":"2025-11-16T15:04:38.399Z","avatar_url":"https://github.com/Reloaded-Project.png","language":"C#","readme":"\u003cdiv align=\"center\"\u003e\n\t\u003ch1\u003eReloaded II: Universal Steam Hook\u003c/h1\u003e\n\t\u003cimg src=\"https://i.imgur.com/BjPn7rU.png\" width=\"150\" align=\"center\" /\u003e\n\t\u003cbr/\u003e \u003cbr/\u003e\n\t\u003cstrong\u003eWriting steam_appid.txt by hand?\u003cbr/\u003e\u003c/strong\u003e\n    \u003cp\u003eThat's boring! Who would want to do that?\u003c/p\u003e\n\u003cb\u003eId: reloaded.universal.steamhook\u003c/b\u003e\n\u003c/div\u003e\n\n# Prerequisites\nThe CRI FS Hook uses the [Hooks Shared Library](https://github.com/Sewer56/Reloaded.SharedLib.Hooks).\nPlease download and extract that mod first.\n\n# About This Project\n\nThe following project is a [Reloaded II](https://github.com/Reloaded-Project/Reloaded-II) Mod Loader mod with one simple goal: help the Steam API initialize without having to restart the application via Steam.\n\nNormally if you run a game from the filesystem and not via Steam it will tell you either that the Steam client is missing or automatically restart itself via Steam. As this interferes with Reloaded II's `Launch Application` method of injection, we want to avoid that.\n\nThis happens because the Steam API needs to somehow determine the App ID of the game, which is not always supplied by developers in their code.\n\n# What This Project Does\n\nThe main function of this project is to simply drop a file named `steam_appid.txt` to the game directory before any Steam code is executed. This file informs Steam the App ID of the current application, allowing the API to initialize without having to launch the application via Steam.\n\nThe ID is determined by scanning the metadata of every single steam application in `steamapps` e.g. `appmanifest_213610.vdf` for every single library folder found in `\\steamapps\\libraryfolders.vdf`. Once metadata is found with an install location matching the current application, the App Id is extracted and written to the text file.\n\nOriginally this was done by hand but the code has since been replaced with the [Steam Apps Management API](https://github.com/Indieteur/Steam-Apps-Management-API) third party library.\n\nIn addition, just in case as contingency, this mod hooks the `SteamAPI_IsSteamRunning` and `SteamAPI_RestartAppIfNecessary` functions to return values that would make the game believe the API initialized correctly and a restart is not necessary.\n\n# What This Project does NOT do.\n- Circumvent DRM. (Not Interested!)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freloaded-project%2Freloaded.universal.steamhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freloaded-project%2Freloaded.universal.steamhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freloaded-project%2Freloaded.universal.steamhook/lists"}