Dota2 is a .NET library designed as a plugin for SteamKit. It provides a handler for the DOTA 2 game coordinator. The goal is to implement as much functionality of the client as possible.
Experimental support for connecting directly to Source engine servers, as well as connecting through the Steam datagram routing network, is in development. All Source engine reverse engineering credit goes to Drew Schleck and his nora project.
Dota2 is distributed as a NuGet package.
Simply install SteamKit2 and Dota2 using the package manager in Visual Studio, and NuGet will add all the required dependencies and references to your project.
We additionally distribute binaries on our releases page.
For more information on installing SteamKit2 and Dota2, please refer to the Installation Guide on the SteamKit wiki.
Documentation consists primarily of XML code documentation provided with the binaries. Please see the SteamKit documentation on how to set up a Steam client.
One of these days, proper documentation will be written.
To use the GC handler, it's simple:
client = new SteamClient();
DotaGCHandler.Bootstrap(client);
dota = client.GetHandler<DotaGCHandler>();
// ... later when Steam is connected
dota.Start();
You can register callbacks like any other Steam network functionality from Steamkit.
Reborn is now supported. Specify the Source2 engine like so:
DotaGCHandler.Bootstrap(client, Games.DOTA2, ESourceEngine.k_ESE_Source2);
SteamKit2 and Dota2 (this package) are released under the LGPL-2.1 license.
In order to compile and use SteamKit2 and Dota2, the following dependencies are required:
- .NET 4.0 or Mono ≥2.8
- protobuf-net (NuGet package)
Note: If you're using the NuGet package, the protobuf-net dependency should be resolved for you. See the SteamKit Installation Guide for more information.
IRC: irc.gamesurge.net / #opensteamworks