bones icon indicating copy to clipboard operation
bones copied to clipboard

Implement p2p based networking using `iroh-net`

Open dignifiedquire opened this issue 1 month ago • 9 comments

This the start to run the networking connections over iroh, allowing direct connections between players.

General Architecture

  • The online matchmaking server does not proxy connections anymore, it only introduces players to each other. After that iroh connections are used (which are either direct or relayed, in all cases e2e encrypted)
  • The Lan and Online discovery services, only function as such, discovering other players, after this has happened, all work is passed to Socket which is the p2p version of transferring game state between players

Testing it out

There is a branch of jumpy using this, which can be used to try it out https://github.com/dignifiedquire/jumpy/tree/feat-iroh-networking

Matchmaker Servers

  • Europe: dkv5qztdu75wgtkyukkmhemz25adco7jrplzockgqgzvzl3d3z4q
  • US: tkj2gohdqx2fjqm24s6l6m7ehecntlcz72kzliwjy5ezs6yfdo6q

Work to be done

  • [ ] browser, will likely have to be in some form of disabling this when running in wasm (for now)
  • [x] cleanup
  • [x] better error handling

dignifiedquire avatar May 15 '24 19:05 dignifiedquire