{"id":15137988,"url":"https://github.com/smokku/bevy_networking_turbulence","last_synced_at":"2025-09-29T06:31:09.200Z","repository":{"id":43803072,"uuid":"299248047","full_name":"smokku/bevy_networking_turbulence","owner":"smokku","description":"Networking plugin for Bevy engine running on naia-socket and turbulence libraries","archived":true,"fork":false,"pushed_at":"2022-02-18T22:47:37.000Z","size":170,"stargazers_count":109,"open_issues_count":11,"forks_count":34,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-01-19T00:08:19.875Z","etag":null,"topics":["bevy","bevy-engine","bevy-networking","bevy-networking-turbulence","naia-socket","networking","turbulence","udp","wasm","webrtc"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smokku.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-28T08:53:09.000Z","updated_at":"2024-04-10T07:26:19.000Z","dependencies_parsed_at":"2022-08-29T20:32:08.837Z","dependency_job_id":null,"html_url":"https://github.com/smokku/bevy_networking_turbulence","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fbevy_networking_turbulence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fbevy_networking_turbulence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fbevy_networking_turbulence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fbevy_networking_turbulence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smokku","download_url":"https://codeload.github.com/smokku/bevy_networking_turbulence/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234597573,"owners_count":18857980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bevy","bevy-engine","bevy-networking","bevy-networking-turbulence","naia-socket","networking","turbulence","udp","wasm","webrtc"],"created_at":"2024-09-26T07:04:08.922Z","updated_at":"2025-09-29T06:31:08.745Z","avatar_url":"https://github.com/smokku.png","language":"Rust","funding_links":[],"categories":["Plugins and Crates"],"sub_categories":["Networking"],"readme":"# bevy_networking_turbulence\n\nNetworking plugin for [Bevy engine][1] running on [naia-socket][2] and [turbulence][3] libraries.\n\nCombination of _naia-socket_ and _turbulence_ allows for exchange of raw messages over UDP or UDP-like connection (over WebRTC),\nor building unreliable/reliable channels of structured messages over such UDP/UDP-like messages.\n\nThis plugin works both in native (Linux, Windows, MacOS) over UDP packets\nand in Browser/WASM over UDP-like messages in WebRTC channel.\n\nStill unfinished, but main features are working. For details see [Milestones][4].\n\n[1]: https://github.com/bevyengine/bevy\n[2]: https://github.com/amethyst/naia-socket\n[3]: https://github.com/kyren/turbulence\n[4]: https://github.com/smokku/bevy_networking_turbulence/milestones\n\n## Testing\n\n### Native\n\nOn one terminal run:\n\n    $ env RUST_LOG=debug cargo run --example simple -- --server\n\nOn other terminal run:\n\n    $ env RUST_LOG=debug cargo run --example simple -- --client\n\nObserve `PING`/`PONG` exchange between server and client. You can run more clients in more terminals.\n\n### WASM\n\nOn one terminal run:\n\n    $ env RUST_LOG=debug cargo run --example simple --no-default-features --features use-webrtc -- --server\n\nChange IP address in `examples/simple.rs` / `startup()` function to point to your local machine, and run:\n\n    $ cargo build --example simple --target wasm32-unknown-unknown --no-default-features --features use-webrtc\n    $ wasm-bindgen --out-dir target --target web target/wasm32-unknown-unknown/debug/examples/simple.wasm\n\nServe project directory over HTTP. For example (`cargo install basic-http-server`):\n\n    $ basic-http-server .\n\nOpen \u003chttp://127.0.0.1:4000\u003e and watch Browser's console in Developer Tools.\nYou will see the same `PING`/`PONG` exchange as in the Native mode.\n\n### Channels\n\nOn one terminal run:\n\n    $ env RUST_LOG=debug cargo run --example channels --features use-udp,bevy/default -- --server\n\nOn second terminal run:\n\n    $ env RUST_LOG=warn cargo run --example channels --features use-udp,bevy/default -- --client\n\nOn third (and fourth, and more...) terminal run:\n\n    $ env RUST_LOG=warn cargo run --example channels --features use-udp,bevy/default -- --client\n\nYou can focus any of client windows and use `Arrow-Left`/`Arrow-Right` cursor keys to change \"ball\" trajectory.\nObserve your controlled ball gets synchronized to all other clients.\n\n#### WASM with Graphics and Channels networking\n\nDue to additional dependencies required, we've decided to keep the browser based graphical channels example in a separate repository.\nSee https://github.com/ostwilkens/arugio project. It evolved a bit from the simple square balls example and may serve as a basis of your game.\n\n![client screenshot](https://github.com/ostwilkens/arugio/raw/master/screen.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmokku%2Fbevy_networking_turbulence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmokku%2Fbevy_networking_turbulence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmokku%2Fbevy_networking_turbulence/lists"}