Patching a Steam Game With Goldberg Steam Emulator
Goldberg Steam Emulator (GSE) replaces a game’s steam_api(64).dll so it can run without the Steam client. The game calls the emulator instead of Steam, and the emulator fakes the responses.
The original project is no longer actively maintained. The community now uses GBE Fork, an actively developed fork. You also need Steamless to strip the DRM wrapper from the exe.
Relevant projects:
1. Run Steamless on the exe
Steamless removes the SteamDRM Wrapper (Steam Stub) from the exe. You can run it on any exe — if there’s no DRM, it skips safely without damaging the file.
Download Steamless, open Steamless.exe, pick the game’s main exe, and click unpack. A .unbind file will appear in the same directory. Back up the original exe, then rename the .unbind file to replace it.
Large exes (over 100MB) can take a few minutes.
2. Find steam_api(64).dll
Search steam_api*.dll in the game folder.
There are two possible scenarios.
Only one DLL (generic / Unity engine): replace that DLL. Put steam_settings next to it.
Two DLLs (Unreal Engine game):
<GameDir>\Engine\Binaries\ThirdParty\Steamworks\Steamv157\Win64\steam_api64.dll
<GameDir>\<GameName>\Binaries\Win64\steam_api64.dllUE loads steam_api64.dll from the Engine directory at startup, not from the game’s binary directory. Replace the Engine one, put steam_settings in the Engine directory as well. Leave the game’s main binary directory DLL as-is.
3. Back up the original DLL
Copy the DLL you’re about to replace and rename it to steam_api64.dll.old. You’ll need this backup later to generate the interfaces file.
4. Replace with the emulator DLL
From the GBE Fork release package, copy the correct architecture DLL over the original:
- 64-bit game:
regular\x64\steam_api64.dll - 32-bit game:
regular\x86\steam_api.dll
The emulator DLL is about 7–11MB, the original one about 200–400KB. The size difference is obvious.
For UE games, leave the game’s main directory DLL unchanged.
5. Create the steam_settings directory
Create a steam_settings folder next to the emulator DLL. UE engine: put it in the Engine directory. Generic engine: next to the game exe.
6. Add steam_appid.txt
Find the AppID from the Steam store URL: store.steampowered.com/app/<number>/.
Create steam_settings\steam_appid.txt containing only the numeric AppID. For example 3683770.
7. Generate steam_interfaces.txt (recommended)
Mismatched interface versions can cause crashes or missing functionality. Run generate_interfaces_x64.exe (or the x86 version) from the GBE Fork tools against the backed-up original DLL.
Drag steam_api64.dll.old into the tool window. The tool creates steam_interfaces.txt in the current directory. Move it into steam_settings\.
Always run this against the original DLL, never the emulator DLL.
8. Optional: configure INI files
The steam_settings.EXAMPLE\ folder has templates. Copy them to steam_settings\ and remove the .EXAMPLE infix.
Key settings:
configs.user.ini:local_save_path=./path/relative/to/dll— saves go to the game directory instead of%appdata%configs.user.ini:account_name=Player— in-game usernameconfigs.user.ini:language=englishconfigs.main.ini:offline=0— offline modeconfigs.app.ini:unlock_all=1— unlock all DLCs
You don’t need any INI files for the emulator to work — defaults are sensible.
Common issues
Game crashes or won’t start. Check in this order: did Steamless run on the exe, is the DLL in the right place (UE engine), is steam_settings next to the DLL, was steam_interfaces.txt generated from the original DLL.
Default saves live in %appdata%\GSE Saves\. Set local_save_path in configs.user.ini for per-game portable saves.
UE engine games: replace only the Engine directory DLL, leave the game’s main directory DLL alone. Put steam_settings in the Engine directory too.
Restore original state: rename steam_api64.dll.old back to steam_api64.dll, delete steam_settings and steam_appid.txt.
steam_interfaces.txt is created in the tool’s current working directory, not the tool’s own location. cd to the emulator DLL directory first, then run the tool, then move the file to steam_settings\.
Automation tools
Two community tools if you prefer not to do it manually:
ARMGDDN Autocracker runs on GBE Fork. Install it, right-click a game folder, and it does everything automatically. Repo: https://github.com/KaladinDMP/ARMGDDN-Autocracker. The author’s GitHub was suspended at one point; the latest version may be on Telegram.
SteamAutoCracker wraps Steamless and Goldberg into a single script — one-click DRM removal + DLL replacement. Repo: https://github.com/BigBoiCJ/SteamAutoCracker.