Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vrixyz/litlnet
https://github.com/vrixyz/litlnet
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/vrixyz/litlnet
- Owner: Vrixyz
- Created: 2022-02-23T17:48:43.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-13T22:00:08.000Z (almost 3 years ago)
- Last Synced: 2024-10-30T00:04:54.498Z (3 months ago)
- Language: Rust
- Size: 83 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Goals
Making multiplayer games should be as easy as:
- "connect"
- "send data"
- "receive data"This library is an attempt to :
- Hide low level stuff
- Be modular enough to support multiple protocols or platforms## Modularity
- **a common core** trait in `litlnet_trait`
- **base implementation** of that *common core* for popular protocols using libraries in `litlnet_tcp`, `litlnet_websocket`
- **server implementation** leveraging the *base implementation* in `litlnet_tcp_server`, `litlnet_websocket_server`
- **bevy bridges**: compatible with any *base implementation* in `litlnet_client_bevy` and `litlnet_server_bevy`
- **short examples** in `example_*`# (very) WIP
- support browser: see ./crates/example_client_web/Readme.md
# Getting started
```mermaid
graph TD
A{Type of project} -->|protocol implementation| B[Trait]
A -->|uses bevy| G[import bevy_'server or client']
A -->|not bevy| I[import bevy_server]
G --> I{server or client?}
I --> |server|JJ["Import server_'protocol' spcification"]
I --> |client|KK["Import base trait implementation"]
JJ --> II
KK --> II
II{which protocol ?} --> J["Import tcp"]
II --> K["Import websocket"]
II --> L["Import websocket_web"]
```