项目作者: goto-bus-stop

项目描述 :
[wip] Tiny NAT-traversing Age of Empires 2 Multiplayer client.
高级语言: C++
项目地址: git://github.com/goto-bus-stop/aocmultiny.git
创建时间: 2016-05-27T10:38:44Z
项目社区:https://github.com/goto-bus-stop/aocmultiny

开源协议:GNU General Public License v3.0

下载


aocmultiny

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.

Design

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.

Building

On Linuxes:

  1. Install Wine and Mingw32. Something like
    apt-get install wine mingw32 mingw32-binutils.
  2. Download and build wxWidgets 3.1.0 using MinGW.
  3. Download the last DirectX SDK with DirectPlay (August 2007).
  4. Symlink dxguid.lib and dplayx.lib from the DirectPlay SDK into lib/.
  5. make to build
  6. make run to run

On Windowses with Visual Studio:

  1. Download and build wxWidgets using Visual Studio. Import one of
    the VS project files that comes with wxWidgets and build it.
  2. Download the last DirectX SDK with DirectPlay (August 2007).
  3. Configure environment variables:
    • WXWIN= path to your wxWidgets build base directory.
  4. Import the AoCMultiny.sln solution file.

Credits/References

License

GPL 3.0