feat: add persistent-world station game
Bevy ECS workspace with three crates:
- game_core: rsn data definitions, components, Tiled map loader, protocol
- game_server: authoritative simulation, Rune scripting, persistence,
dedicated server binary
- game_client: rendering, UI and input; embeds the server for
singleplayer and hosting
Items, recipes, buildings and skills are defined in assets/data, behavior
in Rune scripts under assets/scripts, and maps are made in Tiled.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 17:44:13 +00:00
|
|
|
[package]
|
|
|
|
|
name = "game_server"
|
|
|
|
|
version.workspace = true
|
|
|
|
|
edition.workspace = true
|
|
|
|
|
|
|
|
|
|
[[bin]]
|
|
|
|
|
name = "game-server"
|
|
|
|
|
path = "src/main.rs"
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
|
|
|
|
game_core = { workspace = true }
|
|
|
|
|
bevy = { workspace = true, features = ["std", "bevy_log", "bevy_state", "serialize", "multi_threaded"] }
|
|
|
|
|
bevy_replicon = { workspace = true }
|
|
|
|
|
bevy_replicon_renet = { workspace = true }
|
|
|
|
|
serde = { workspace = true }
|
|
|
|
|
rsn = { workspace = true }
|
|
|
|
|
rune = { workspace = true }
|
|
|
|
|
tiled = { workspace = true }
|
|
|
|
|
thiserror = { workspace = true }
|
2026-10-18 18:47:43 +00:00
|
|
|
serde_json = { workspace = true }
|
2026-10-21 18:22:13 +00:00
|
|
|
quick-xml = "0.41"
|
2026-10-18 18:47:43 +00:00
|
|
|
uuid = { workspace = true }
|
|
|
|
|
sqlx = { workspace = true }
|
|
|
|
|
tokio = { workspace = true }
|
2026-10-18 19:41:58 +00:00
|
|
|
clap = { workspace = true }
|
|
|
|
|
toml = { workspace = true }
|
|
|
|
|
toml_edit = { workspace = true }
|
feat: add persistent-world station game
Bevy ECS workspace with three crates:
- game_core: rsn data definitions, components, Tiled map loader, protocol
- game_server: authoritative simulation, Rune scripting, persistence,
dedicated server binary
- game_client: rendering, UI and input; embeds the server for
singleplayer and hosting
Items, recipes, buildings and skills are defined in assets/data, behavior
in Rune scripts under assets/scripts, and maps are made in Tiled.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 17:44:13 +00:00
|
|
|
# Enables graceful shutdown (and saving) on SIGTERM/SIGHUP via Bevy's Ctrl-C handler.
|
|
|
|
|
ctrlc = { version = "3.5", features = ["termination"] }
|
|
|
|
|
|
|
|
|
|
[lints]
|
|
|
|
|
workspace = true
|