Hacker News new | ask | show | jobs
by reubenmorais 2639 days ago
Could you use WebRTC instead, for true P2P?
2 comments

You can. I've used WebRTC for multiplayer support in Quake 3 compiled to WebAssembly.
Do you have a link for that? Sounds super cool
The forked ioquake3 is available at https://github.com/seemk/ioq3

However it's not trivial to get it working at the moment, will hopefully soon come back to this project and finish it :D

You still need a proxy server, unless the OpenTTD game browser supports WebRTC connections.
Yeah, you'd need a proxy server (websockets) to establish WebRTC connections. Even after a WebRTC connection is established, you'd need a STUN or a TURN (coturn supports both) server to get around NATs. Pls somebody correct me if I'm wrong!
You should only need a STUN or TURN server if you are attempting to connect to a machine that is behind a NAT. OpenTTD servers are usually on public IPs (similar to HTTP servers), so a STUN or TURN server should not be required.

The biggest issue is that WebRTC connections do not allow you to send raw data over TCP or UDP[1].

That being said, it shouldn't be too difficult to just create a WebSocket server that translates between the native network protocol and HTTP WebSockets[2].

  [1] https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel
  [2] https://wiki.openttd.org/Network_Protocol
You're entirely correct. Here's a demo if you're interested: http://vrcade.io/win311