A simple semi-reliable UDP protocol for multiplayer games
A simple semi-reliable UDP protocol for multiplayer games
Laminar is an application-level transport protocol which provides configurable reliability and ordering guarantees built on top of UDP. It focuses on fast-paced fps-games and provides a lightweight, message-based interface.
Laminar was designed to be used within the Amethyst game engine but is usable without it.
If you are new to laminar or networking in general, We strongly recommend taking a look at the laminar book
This library is loosely based off of Gaffer on Games and shares features similar as RakNet, Steam Socket, netcode.io. The idea is to provide an in rust written, low-level UDP-protocol which supports the use of cases of video games that require multiplayer features. The library itself provides a few low-level types of packets that provide different types of guarantees. The most basic are unreliable and reliable packets. Also ordering, sequencing can be done on multiple streams. For more information, read the projects README.md, book, docs or examples.
These are the features this crate provides:
Add the laminar package to your Cargo.toml file.
[dependencies]
laminar = "0.5"
Please check out our examples for more information.
This is an example of how to use the UDP API.
Send packets
…
Receive Packets
…
This library is not fully stable yet, and there may be breaking changes to the API. For more advanced examples of using laminar, you can check out the Amethyst-Network crate.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Licensed under either of
No open issues yet, or sync has not completed.