mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-11 00:05:36 +02:00
## Description ### First commit Restructured protobuf schemas to make them easier to use across languages, switched to using them in-place of JSON for signaling as well, so there's no 2 different message formats flying about. Few new message types to deal with clients and nestri-servers better (not final format, may see changes still). General cleanup of dead/unused code along some bug squashing and package updates. TODO for future commits: - [x] Fix additional controllers not doing inputs (possibly needs vimputti changes) - [x] ~~Restructure relay protocols code a bit, to reduce bloatiness of the currently single file for them, more code re-use.~~ - Gonna keep this PR somewhat manageable without poking more at relay.. - [x] ~~Try to fix issue where with multiple clients, static stream content causes video to freeze until there's some movement.~~ - Was caused by server tuned profile being `throughput-performance`, causing CPU latency to be too high. - [x] Ponder the orb ### Second + third commit Redid the controller polling handling and fixed multi-controller handling in vimputti and nestri code sides. Remove some dead relay code as well to clean up the protocol source file, we'll revisit the meshing functionality later. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added software rendering option and MangoHud runtime config; controller sessions now support reconnection and batched state updates with persistent session IDs. * **Bug Fixes** * Restored previously-filtered NES-like gamepads so they connect correctly. * **Chores** * Modernized dependencies and protobuf tooling, migrated to protobuf-based messaging and streaming, and removed obsolete CUDA build steps. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DatCaptainHorse <DatCaptainHorse@users.noreply.github.com>
44 lines
1.3 KiB
TOML
44 lines
1.3 KiB
TOML
[package]
|
|
name = "nestri-server"
|
|
version = "0.1.0-alpha.2"
|
|
edition = "2024"
|
|
|
|
[[bin]]
|
|
name = "nestri-server"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
gstreamer = { version = "0.24", features = ["v1_26"] }
|
|
gstreamer-webrtc = { version = "0.24", features = ["v1_26"] }
|
|
gst-plugin-webrtc = { version = "0.14" }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
tokio = { version = "1.48", features = ["full"] }
|
|
tokio-stream = { version = "0.1", features = ["full"] }
|
|
clap = { version = "4.5", features = ["env", "derive"] }
|
|
serde_json = "1.0"
|
|
webrtc = "0.14"
|
|
regex = "1.11"
|
|
rand = "0.9"
|
|
rustls = { version = "0.23", features = ["ring"] }
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
vimputti = "0.1.7"
|
|
chrono = "0.4"
|
|
prost = "0.14"
|
|
prost-types = "0.14"
|
|
parking_lot = "0.12"
|
|
byteorder = "1.5"
|
|
libp2p = { version = "0.56", features = ["identify", "dns", "tcp", "noise", "ping", "tokio", "serde", "yamux", "macros", "websocket", "autonat"] }
|
|
libp2p-identify = "0.47"
|
|
libp2p-ping = "0.47"
|
|
libp2p-autonat = { version = "0.15", features = ["v2"] }
|
|
libp2p-stream = "0.4.0-alpha"
|
|
libp2p-yamux = "0.47"
|
|
libp2p-noise = "0.46"
|
|
libp2p-dns = { version = "0.44", features = ["tokio"] }
|
|
libp2p-tcp = { version = "0.44", features = ["tokio"] }
|
|
libp2p-websocket = "0.45"
|
|
dashmap = "6.1"
|
|
anyhow = "1.0"
|
|
unsigned-varint = "0.8"
|