webrtc-unreliable
turbulence
Our great sponsors
webrtc-unreliable | turbulence | |
---|---|---|
8 | 3 | |
385 | 253 | |
0.8% | 0.8% | |
5.7 | 4.2 | |
21 days ago | 6 months ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
webrtc-unreliable
-
could not find tokio in webrtc_unreliable
The Cargo.toml on GitHub has the optional dependency specified correctly.
-
How are rust devs doing?
I use WebRTC for multiplayer, and Rust has a great library (webrtc-unreliable) To be fair, C++ has libdatachannel which I like using too.
-
What are the differences between UDP and WebSockets, and which type of games benefit from which?
You can, in theory, get UDP-like characteristics out of a different web API - with a WebRTC datachannel configured to be unreliable and unordered. I haven't seen anybody use that API just because it's a pretty big pain to use. The developer of Agar IO called it too hard to use in a HackerNews comment, but nowadays there's simpler libraries than the ones he had in 2016 like webrtc-unreliable and libdatachannel. You still need to run a STUN/TURN server and the integration is easier than it was back then, but still much harder than raw UDP sockets though.
-
Shattersong Online - New Rust MMO Browser platformer in development by former Starbound and Wargroove devs
webrtc-unreliable: Provides an async API to a UDP-like transport over WebRTC
-
WebRTC.rs
You can do this today with https://github.com/kyren/webrtc-unreliable
-
A pure Rust implementation of WebRTC API.
Take a look at webrtc-unreliable. I haven't tried it, but it claims to implement just a simple subset of webrtc to get udp-like functionality.
turbulence
-
Choosing a networking library for my game
enet - Golden standard, tested and reliable - Not native rust - Does not seem to be popular in rust turbulence - Readme says it is not stable, but last meaningful commit was 1 year ago - Lacking documentation and examples - Not very popular laminar - Last meaningful release was 3 years ago (ignoring changes that fix typos etc.) - Despite this, everywhere (book, readme) there are mentions that it is under "active development" - Created for Amethyst, which is dead. I am kinda fearful that the same thing will happen to this lib. Tachyon - New and not tested in the battle - Many features that other libraries have planned, Tachyon actually has implemented - Lacking documentation (except for one big readme file), tests, examples Quinn - Big, under active development (daily commits), very popular because web development. - Modular, ability to just use core implemetation: quinn-proto - Do i really need TLS certificates and cryptography for my playing with friends game server? - Stream based, I would need to implement recv/send messages on top of it (not that hard tbh) - Only reliable stream and "unreliable" messages.
-
For a multiplayer game that will have browser and mobile app cross-platform, with a client-server architecture, what type of server would you set up?
see https://github.com/kyren/turbulence
-
Shattersong Online - New Rust MMO Browser platformer in development by former Starbound and Wargroove devs
turbulence: A networking layer that provides multiplexed data channels (optionally reliable and bandwidth limited) over an unreliable channel.
What are some alternatives?
datachannel-rs - Rust wrappers for libdatachannel
uflow - A Rust library providing ordered, mixed-reliability, and congestion-controlled data transfer over UDP
ozz-animation - Open source c++ skeletal animation library and toolset
laminar - A simple semi-reliable UDP protocol for multiplayer games
FirebaseRTC - Codelab for building a WebRTC Video chat application using Firebase Cloudstore.
quinn - Async-friendly QUIC implementation in Rust
webrtc - A pure Rust implementation of WebRTC
website - Let's Encrypt Website and Documentation
hashlink - An updated version of linked-hash-map and friends
Pion WebRTC - Pure Go implementation of the WebRTC API
backroll-rs - A (almost) 100% pure safe Rust implementation of GGPO-style rollback netcode.