Skip to content

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.

Notifications You must be signed in to change notification settings

Reloaded-Project/reloaded.universal.steamhook

Repository files navigation

Reloaded II: Universal Steam Hook



Writing steam_appid.txt by hand?

That's boring! Who would want to do that?

Id: reloaded.universal.steamhook

Prerequisites

The CRI FS Hook uses the Hooks Shared Library. Please download and extract that mod first.

About This Project

The following project is a Reloaded II Mod Loader mod with one simple goal: help the Steam API initialize without having to restart the application via Steam.

Normally 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.

This 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.

What This Project Does

The 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.

The 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.

Originally this was done by hand but the code has since been replaced with the Steam Apps Management API third party library.

In 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.

What This Project does NOT do.

  • Circumvent DRM. (Not Interested!)

About

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.

Resources

Stars

Watchers

Forks

Packages

No packages published