{"repo":"johanhelsing/matchbox","free":true,"listed":false,"github":"https://github.com/johanhelsing/matchbox","clone":"git clone https://github.com/johanhelsing/matchbox.git","description":"Painless peer-to-peer WebRTC networking for rust wasm (and native!)","language":"Rust","stars":1146,"topics":["p2p","signalling-server","webrtc","rust","wasm","full-mesh","mesh-networks","wasm-bindgen"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"Painless peer-to-peer WebRTC networking for rust's native and wasm applications. The goal of the Matchbox project is to enable udp-like, unordered, unreliable p2p connections in web browsers or native to facilitate low-latency multiplayer games. Matchbox supports both unreliable and reliable data channels, with configurable ordering guarantees and variable packet retransmits. - Tutorial for usage with Bevy and GGRS The Matchbox project contains: - matchbox socket: A socket abstraction for Wasm or Native, with: - ggrs : A feature providing a ggrs compatible socket. - matchbox signaling: A signaling server library, with ready to use examples - matchbox server: A ready to use full-mesh signalling server - bevy matchbox: A matchbox socket integration for the Bevy game engine bevy bevy matchbox ----- ------------- 0.18 0.14, main 0.17 0.13 0.16 0.12 0.15 0.11 0.14 0.10 0.13 0.9 0.12 0.8 0.11 0.7 0.10 0.6 - Live 4-player demo: How it works WebRTC allows direct connections between peers, but in order to establish those connections, some kind of signaling service is needed. matchbox server is such a service. Once the connections are established, however, data will flow directly between peers, and no traffic will go through the signaling server. The signaling service needs to run somewhere all clients can reach it over http or https connections. In production, this usually means the public internet. When a client wants to join a p2p (mesh) network, it connects to the signaling service","default_branch":null,"files":null,"tree":[],"storefront":"/r/johanhelsing","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/johanhelsing/matchbox/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}