Skip to content

NicknineTheEagle/ReviveEmu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

192 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

REVive Emulator

This is a Steam.dll emulator forked from 2008 code of RevEmu. In addition to existing RevEmu features such as GCF mounting and multiplayer support, it also has Steam001 interface implementation (allows 2004 builds of Source Engine to work) and a good number of bugfixes, and it's cross-platform.

Get the latest release here: https://github.com/NicknineTheEagle/ReviveEmu/releases/latest

Please note that this is purely a Steam.dll emulator - it's intended for very old Steam games that use Steam.dll for Steam integration (such as old versions of GoldSource Engine and Source Engine). Pretty much all Steam games since 2008 use steam_api.dll to communicate with Steam, you want to use Goldberg or SmartSteamEmu for those.

Building

Windows

With Windows SDK installed, open Steam.sln in Visual Studio 2022/2026 and build it. The code may compile under platform toolsets as old as v120, but it's not guaranteed.

Linux

Make sure you have at least CMake 3.10 and GCC 4.8 installed and run these commands to compile the code:

cd Steam/steam
cmake -B build -DCMAKE_C_FLAGS="-m32" -DCMAKE_CXX_FLAGS="-m32"
cmake --build build

Usage (loose files)

  1. Extract Steam.dll and rev.ini next to game exe.
  2. Play.

Usage (GCF mounting)

  1. Extract Steam.dll and rev.ini next to game exe.
  2. In rev.ini, set CacheEnabled to True and CachePath to the path where your GCF files are.
  3. The emulator needs a way to know which GCF files to mount. You can do one of the following:
    • Put period appropriate raw CDR blob next to game exe and name it cdr.bin.
    • Put ClientRegistry.blob with period appropriate CDR next to game exe.
    • Extract revApps.ini next to game exe and configure it to mount the right GCF files for your game's app ID.
  4. Specify your game's app ID in one of the following ways:
    • Write the app ID into steam_appid.txt located next to game exe.
    • Run the game with -appid <appid> parameter.
    • Set SteamAppId environment variable to the app ID.
  5. Play.

Additional notes

  • If you're running a Source Engine game, you need to extract Steam.dll into bin directory and rev.ini next to game exe.
  • Later versions of GoldSource Engine and Source Engine use both Steam.dll and steam_api.dll - in this case, you will need to combine REVive with a steam_api.dll emulator.
  • The loaders that come with Goldberg and SmartSteamEmu both automatically set SteamAppId env var, so you don't need to bother with step 4 when using GCF mounting.

Credits

  • shmelle, revCrew, vityan666, bir3yk - original 2008 version of RevEmu.
  • Bestest - Linux testing.
  • Pancakes - macOS testing.

About

Steam.dll emulator

Resources

License

Stars

22 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors