Tiny NAT-traversing Age of Empires 2 Multiplayer client.
VERY work in progress, it's probably pretty difficult to get it to compile.
The idea is to get a single portable zero-install executable that you can hand to a few friends and immediately start playing. No creating accounts, no installation, no router configuration, etc. Just the bare minimum.
Fluctuating. I wanted to build the matchmaking part using IRC, but that's turning out to be a bit difficult, because you would need server-side adjustments to get IP addresses for the NAT traversal stuff (I think.)
Anyway, it comes in two parts: matchmaking and connecting. Matchmaking will be using a nickname (no real authentication), and using public or passworded rooms (like IRC channels). Players can chat in rooms and the first player to join a room (the host) can start the game. Initially, up to 8 players can join a room, but in the future there'll have to be more for UserPatch spectator mode. (8 players + 32 spectators.) Connecting is probably going to be using ICE somehow (libnice?), but I don't know yet how to direct Age of Empires traffic onto an ICE-established socket. All in due time :D
UserPatch includes automatic port forwarding using UPNP, but that doesn't always cut it, and you still need to exchange IP addresses manually.
On Linuxes:
apt-get install wine mingw32 mingw32-binutils
.dxguid.lib
and dplayx.lib
from the DirectPlay SDK into lib/
.make
to buildmake run
to runOn Windowses with Visual Studio:
WXWIN=
path to your wxWidgets build base directory.