An open-source server emulator for Dead Space 2 (PC, 2011) multiplayer, implementing EA's proprietary Blaze protocol.
Project Goal: Restore online multiplayer functionality for Dead Space 2 after EA's official servers were shut down.
- Full Blaze Protocol - Custom C++ implementation of EA's BlazeSDK server
- TDF Encoding - Complete Tag Data Format encoder/decoder
- SSL/TLS Support - Secure connections matching original infrastructure
- Multiple Server Components:
- Redirector Server (port 42127) - Initial connection routing
- Blaze Server (port 10041) - Authentication, matchmaking, game sessions
- QoS Server (port 17502) - Network quality detection
| Component | Status | Notes |
|---|---|---|
| Redirector | โ Complete | Server instance routing |
| Authentication | โ Complete | Login, silent login, Origin login |
| Util | โ Complete | Pre/post auth, client config |
| GameManager | ๐ In Progress | Create/join/list games |
| Matchmaking | ๐ In Progress | Queue-based matching |
| Association | โณ Planned | Friends lists |
| Stats | โณ Planned | Leaderboards |
- C++ Compiler: GCC 8+ or Clang 7+ (C++17 support)
- CMake: 3.16+
- Perl: Required for OpenSSL build
- Dead Space 2: Steam or Origin version
Note: OpenSSL 1.1.1 is automatically downloaded and built during the CMake process. This bundled version provides native TLS 1.0 support required for Dead Space 2 (2011) compatibility.
# Clone the repository
git clone https://github.com/yourname/ds2-server.git
cd ds2-server
# Initialize dependencies
cd server
git submodule update --init --recursive
# Build (first build downloads and compiles OpenSSL 1.1.1)
mkdir build && cd build
cmake ..
make -j$(nproc)โฑ๏ธ First build takes ~5 minutes due to OpenSSL compilation. Subsequent builds are fast.
cd server
mkdir -p certs
# Generate private key and certificate
openssl genrsa -out certs/server.key 2048
openssl req -new -x509 -key certs/server.key -out certs/server.crt -days 365 \
-subj "/CN=gosredirector.online.ea.com"cd server
./build/ds2-serverYou should see:
[INFO] Dead Space 2 Server Emulator starting...
[INFO] SSL configured with bundled OpenSSL 1.1.1
[INFO] TLS versions enabled: TLS 1.0, TLS 1.1, TLS 1.2
[INFO] Redirector listening on port 42127
[INFO] Blaze server listening on port 10041
[INFO] QoS server listening on port 17502
Add these entries to your hosts file:
Linux/macOS: /etc/hosts
Windows: C:\Windows\System32\drivers\etc\hosts
127.0.0.1 gosredirector.online.ea.com
127.0.0.1 ds2prod.online.ea.com
Launch Dead Space 2 and select Multiplayer!
ds2-server/
โโโ server/ # ๐ฏ Main server implementation
โ โโโ CMakeLists.txt # Build configuration (downloads OpenSSL 1.1.1)
โ โโโ README.md # Server-specific documentation
โ โโโ extern/ # Git submodule dependencies
โ โ โโโ asio/ # Standalone networking library
โ โ โโโ spdlog/ # High-performance logging
โ โโโ include/
โ โ โโโ blaze/ # Protocol implementation
โ โ โ โโโ types.hpp # Core types and enums
โ โ โ โโโ packet.hpp # Packet encoding/decoding
โ โ โ โโโ tdf.hpp # Tag Data Format
โ โ โ โโโ component.hpp # Component base class
โ โ โโโ network/ # Network layer
โ โ โ โโโ ssl_server.hpp # SSL/TLS server
โ โ โ โโโ client_connection.hpp
โ โ โ โโโ qos_server.hpp # HTTP QoS endpoints
โ โ โโโ components/ # Blaze components
โ โ โโโ redirector.hpp # Server routing
โ โ โโโ authentication.hpp
โ โ โโโ util.hpp
โ โ โโโ game_manager.hpp
โ โโโ src/ # Implementation files
โ
โโโ docs/ # ๐ Protocol documentation
โ โโโ README.md # Documentation index
โ โโโ 04-blaze-connection-analysis.md # Connection flow analysis
โ
โโโ scripts/ # ๐ง Utility tools (Python)
โ โโโ memory_dumper.py # Binary analysis tools
โ โโโ find_process.py # Process utilities
โ
โโโ research/ # ๐ฌ Reverse engineering notes
โโโ REVERSE_ENGINEERING_NOTES.md
The server uses sensible defaults but can be configured:
| Setting | Default | Description |
|---|---|---|
| Redirector Port | 42127 | Initial connection point |
| Blaze Port | 10041 | Main game server |
| QoS Port | 17502 | Network quality endpoints |
| SSL Certs | certs/ |
Certificate directory |
This project includes extensive reverse engineering documentation:
| Document | Description |
|---|---|
| Blaze Connection Flow | Complete connection sequence |
| Server Documentation | Implementation details |
| RE Notes | Raw research notes |
The Blaze protocol uses:
- TDF (Tag Data Format): Binary serialization with 3-byte compressed tags
- Components: Modular RPC system (Auth, GameManager, Util, etc.)
- SSL/TLS: All traffic encrypted
- Async messaging: Request/response with notifications
Client Server
| |
|----[SSL Handshake]----------->|
| |
|----[preAuth request]--------->|
|<---[preAuth response]---------|
| |
|----[login request]----------->|
|<---[login response]-----------|
| |
|----[postAuth request]-------->|
|<---[postAuth response]--------|
| |
|----[Game operations...]------>|
This project was built through extensive reverse engineering of Dead Space 2's binaries.
- Ghidra - Static analysis and decompilation
- x64dbg - Dynamic analysis under Wine
- Custom Python scripts - Memory dumping and binary analysis
- 453 BlazeSDK classes identified in executable
- 164 Blaze error codes documented
- Complete connection state machine mapped
- TDF encoding scheme fully reversed
| Document | Description |
|---|---|
| Solidshield Unpacking | DRM layer analysis |
| Binary Analysis | Function mapping |
| Executable Analysis | PE structure, classes |
| Blaze Protocol | Network protocol |
Contributions welcome! Areas that need work:
- Complete matchmaking queue logic
- Stats/leaderboard component
- Association (friends) component
- Game state relay between clients
- Traffic capture for protocol accuracy
- Persistent storage backend
- Docker containerization
# Build with debug symbols
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
# Run with verbose logging
./ds2-server --verboseThis project is for educational and preservation purposes only.
- Reverse engineering conducted for interoperability under applicable law
- No copyrighted game assets included
- Server implementation is clean-room based on protocol observations
- Original game required to play
Dead Space 2 is a trademark of Electronic Arts Inc.
- The Dead Space community for keeping the game alive
- EA/Visceral Games for creating Dead Space 2
- Open-source projects: Asio, spdlog, OpenSSL
| Metric | Value |
|---|---|
| Lines of C++ | ~3,500 |
| Blaze components | 4 implemented |
| Protocol commands | 15+ |
| Documentation | ~130 KB |
Reverse engineering analysis conducted 2024-2026