| Milestone | Timeline | Deliverable | |-----------|----------|-------------| | | Months 1‑2 | Rust core, SQLite schema, basic UI mockup. | | M2 – API Shim | Months 3‑4 | steam_api.dll shim, basic UserStats support. | | M3 – Library Manager | Months 5‑6 | Automatic folder scanning, appmanifest parser, portable mode. | | M4 – Achievements & Cloud | Months 7‑8 | Full achievement UI, versioned cloud‑save emulation. | | M5 – Plugin System | Months 9‑10 | Wasm sandbox, sample plugins (mock friends, fake matchmaking). | | M6 – Release Candidate | Months 11‑12 | Full documentation, CLI toolkit, public GitHub release, community beta testing. |
A Steam emulator is a wrapper that replaces the standard Steam API library ( steam_api.dll or steam_api64.dll ). Instead of communicating with the official Steam servers to verify ownership or load a profile, the game communicates with the emulator. Nemirtingas's approach focuses on:
The toolset provided by Nemirtingas often includes advanced configuration options found in high-end emulators like Goldberg Emu : nemirtingas steam emu
Users can define their own username and unique ID in a simple configuration file (often JSON-based) to maintain consistent save data.
Allows for multiplayer functionality over LAN or VPN services without needing an internet connection. | | M4 – Achievements & Cloud |
: Replaces steam_api.dll (32-bit) or steam_api64.dll (64-bit) on Windows, and libsteam_api.so on Linux.
Rename the original file (e.g., to steam_api64.dll.bak ) and paste the emulator's version in its place. | A Steam emulator is a wrapper that
| Safeguard | Implementation | |-----------|----------------| | | All network sockets are blocked by default; any attempted outbound request is logged and dropped. | | No real‑account handling | No OAuth, no Steam Guard, no credential storage. Users cannot log in to a Valve account. | | Clear disclaimer | The UI displays a persistent banner: “This is a local emulator. No connection to Valve’s services is made.” | | Open‑source licensing | Distributed under the MIT license; all source code is publicly auditable to verify the “offline‑only” claim. | | Community moderation | Plugins are signed with developer‑generated keys; the UI warns when loading unsigned or untrusted plugins. |
| Goal | Why it matters | |------|----------------| | | No network traffic to Steam servers; the emulator works completely locally. | | Mod‑developer friendly | Provides the same JSON‑based APIs the official client uses, letting modders test UI hooks, achievements, cloud saves, etc., without needing a real account. | | Privacy‑by‑design | No user data is transmitted outside the host machine; all data is stored in an encrypted local store. | | Extensible “plugin” architecture | Third‑party extensions can add custom behaviours (e.g., mock matchmaking, simulated DLC). | | Cross‑platform | Runs on Windows, Linux, and macOS with a single code‑base (C++/Rust + Electron front‑end). |
The emulator acts as a replacement for the standard Steam API libraries, tricking a game into thinking it is connected to a live Steam session.