-
Notifications
You must be signed in to change notification settings - Fork 33
TCP IP based multiplayer games
EvilRenegade edited this page Jan 3, 2013
·
4 revisions
This specification aims to improve and extend YR's multiplayer capabilities by allowing the game to use TCP/IP for LAN games, instead of the IPX/SPX protocol currently used, which is not available in post-XP Windows. The code should be written in a way that is not actually limited to LANs, that is, it should allow direct-connection multiplayer games over the Internet, without requiring XWIS.
While this is an independent request, a similar suggestion was made on the old tracker as Issue #1197 and [Issue #1071] (http://bugs.renegadeprojects.com/view.php?id=1071)
- TCP/IP-based LAN games
- TCP/IP-based direct connections over the Internet (as in "Connect to server at IP...")
- TCP/IP mixed-mode games, i.e. the game doesn't care if players joined via LAN or WAN
- WOL/XWIS works. So there must be some kind of TCP/IP interaction code in the game already, or at least wrapper functions over DX methods.
- If all else fails, custom TCP/IP code with a library would do the trick, though that potentially expands Ares's requirements and setup size/complexity. Libs like [Boost.Asio] (http://www.boost.org/libs/asio/) could be statically linked to avoid that, if the licenses are compatible.
- Should be flexible enough to work with a [new matchmaking service] (https://github.com/Ares-Developers/Ares/wiki/Alternative-multiplayer-server-support).
- This will require a lot of tests to make sure it's stable.
- Should be settable through ra2md.ini-flag (UseTCP=true or something).
- Might be a good moment to also rethink/redo the synchroneity check. (Might even be necessary.)
- Graion brought up that the game might be running on UDP instead. Which of the two to choose will depend on what's in place already.