dmotz / trystero

✨🤝✨ Build instant multiplayer webapps, no server required — Magic WebRTC matchmaking over BitTorrent, Nostr, MQTT, IPFS, Supabase, and Firebase
https://oxism.com/trystero
MIT License
1.33k stars 92 forks source link

Demo is not working for me #45

Closed Totogro closed 1 year ago

Totogro commented 1 year ago

For some reason, in the demo nothing happens for me : I simultaneously opened it on 2 computers (both Linux OS), on multiple different browsers (Firefox, Chromium, Brave) many tabs, turned off extensions and Firefox protections, and still nothing. In each tab my arrow is alone, next to the text "Try it, I dare you" :( (I can move my arrow around, click and drop fruits, though)

I wonder what is wrong with my computers/browsers/etc. ?

Tails commented 1 year ago

For me the complete tracker list was failing. Try running the demo locally and passing in a custom trackerList property that contains: wss://tracker.webtorrent.dev

dmotz commented 1 year ago

I updated the default trackers list that the demo site uses. Let me know if it's working for you now.

Tails commented 1 year ago

Thanks for keeping Trystero updated/active!

jeremyckahn commented 1 year ago

@dmotz thank you for updating the tracker list! Out of curiosity, do you have a specific process for finding and updating it? I'm just wondering if keeping the list up to date is something that could be automated.

dmotz commented 1 year ago

@jeremyckahn Right now it's a manual process, but it would be ideal to automate it.

Two things I've been looking at to improve the robustness of the torrent strategy:

  1. Adding support for PeerTube instances' WebTorrent tracker servers. There are over 1000 active instances so this could be a nice source of redundancy. However I've found PeerTube trackers to be very fussy with announcing new info hashes and I haven't figured out why yet.
  2. I don't know if any trackers support it but WebTransport supports direct streaming connections over HTTP/3. This could open up a set of trackers beyond the few that support WebSockets.

Always open to PRs if you find anything viable with these or any other options.

jeremyckahn commented 1 year ago

Right now it's a manual process, but it would be ideal to automate it.

In case it's helpful, I found https://github.com/ngosang/trackerslist which seems to automatically manage a list of up-to-date trackers (somehow). Here's that project's list of WebSocket-compatible trackers: https://github.com/ngosang/trackerslist/blob/master/trackers_all_ws.txt

We may be able to set up an automation that pulls from that source.