A group of Starcraft gamers has decided to create a Starcraft 2 Lan server, this will probaply be a hack or a mod that will be against Blizzard’s TOS. We do not support this in any way. Stay tuned for more info.
There has already been a team effort to create an emulated Starcraft 2 battle.net during the initial beta. The beginnings of the server were coded that enabled the beta client to connect to it. This involved emulating the comprehensive encrypted battle.net 2.0 login sequence. The development did not get any further beyond having clients simply connect to the server(no interacting between connected clients, no games, no messaging, nothing). The initial server was released for people to try it out and to motivate other developers. I bet you could find it somewhere if you really wanted to. It might have been released with the source code, but I don’t specifically remember. The team name was Starcrack. I’m not sure what ultimately ended it, but blizzard caught up to the team and sent a cease and desist to several of the coders. The project died around there.
In order to implement LAN play there are only two options available, as far as I know. One is to emulate the entire battle.net server “perfectly” so that the game client accepts it as the real thing. A simple hosts file redirect is all that is needed after the server is written.
The other is using a current exploit (or feature? might be how the map editor launches maps) that lets you directly run starcraft 2 maps without loging in, which another (Russian) team allegedly tried to implement but nothing besides a video ever surfaced. The gist of this method is to run a player vs cpu game, and have the cpu take orders from an actual player’s input. The issue with this method is it involves having to write from scratch an entire server and connection interface. The emulated battle.net method doesn’t involve this because the game client already contains the client-side networking code, which (I’m guessing) makes up a large part of all the network code required to make it all run.
I’m not even sure on the authenticity of the second method, but it makes sense in theory. Either way, both methods require comprehensive networking and reverse-engineering knowledge.
You sound like you have non-pirating intentions here, however the reality is if you try to implement some sort of LAN play it’ll primarily be used for pirated games to run an emulated battle.net service. Blizzard won’t take kindly to this and will most likely shut down any effort to accomplish what you want, just like with the previous team’s attempt to emulate the Battle.net server.
For the curious out there, the Starcrack wiki with much of the documented information on the protocol is still online at darkblizz: http://darkblizz.org/wiki/doku.php
It contains a lot of documentation on battle.net 2.0, as well as packet dumps from legitimate clients(from the beta days), information on the battle net protocol encryption, and more, from quickly skirting through it. Enjoy.






