Networking
Contents |
Communication
Diablo III normally communicates to Battle.net 2.0 over port 1119 (TCP/UDP?).
Possible login servers
- eu.logon.battle.net - 213.248.127.130
- us.logon.battle.net - 12.129.206.130
- beta.actual.battle.net - 12.129.236.246
Agent.exe communication
It is also known that Diablo III communicates with Agent.exe (the installation manager, updater, installation repairer, etc.) over 127.0.0.1:1119. So if you listen for connections on 127.0.0.1:1119, you'll hit agent packets (HTTP request like /agent, /delete).
You can skip the launcher and redirect to another IP with the following parameters:
<Diablo III.exe path> -launch --auroraaddress ip:port
Protocol / Networking Code
Diablo 3 uses Protocol Buffers in its networking code. Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.
You can get the latest known proto files and generated classes for C++, Java, Python, and C# here.
Implementation
- D3 packet details
- Details of the RPC (the layer above tcp that wraps protobuf messages) implementation D3 is using