- Rust 99.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Add support for custom extension components in scene documents, including serialization/deserialization, component registry, and updated test fixtures/tests. Refactor editor utility window management to use a centralized `EditorWorkflowUtilityWindow` enum, replacing direct shell flag assignments with standardized open/close calls for all editor utility windows (dialogue debug, asset debug, trigger properties, placed light properties, and dialogue editor). Also include: - Added egui profiling scopes to viewport rendering code - Updated xtask Tracy capture frame count to 600 for better warm-start profiling - Fixed content health CLI catalog loading logic - Cleaned up item authoring save APIs and added drag-and-drop support for NPC outfit and dialogue topic catalog entries - Updated authoring diagnostics to directly track error and warning counts - Removed outdated local artifacts README file |
||
| .cargo | ||
| .forgejo/workflows | ||
| .vscode | ||
| assets | ||
| crates | ||
| docs/wiki | ||
| external | ||
| proto | ||
| services | ||
| src | ||
| tests | ||
| tools | ||
| vendor | ||
| xtask | ||
| .aether-control-services.json | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
| Todo.md | ||
Aether
Aether is a Rust game-engine workspace built around a Bevy desktop client and editor, layered 2D character rendering, data-driven content authoring, and an evolving multiplayer backend.
The repository is under active development. The editor, local playtest path, authored-content pipeline, login and handoff flow, and service tooling are usable for development; authoritative world simulation, production auth hardening, and deployment automation are still evolving.
Quick Start
You need a recent stable Rust toolchain, Postgres, Redis, and a desktop environment capable of running Bevy. Windows is an active development target.
git clone https://github.com/AetherOnline/AetherOnline.git
cd AetherOnline
Copy .env.example to .env.local, set the local Postgres and Redis values, then verify the workstation:
cargo run -p xtask -- doctor --format markdown
Start the backend services in separate terminals:
cargo run -p aether-control-plane
cargo run -p aether-login-server
cargo run -p aether-game-server
Run the client and editor:
cargo run
Optional service-control tools:
cargo run -p aether-control-agent
cargo run -p aether-control-panel
The login server applies its SQL migrations during startup, so Postgres must be reachable before it launches.
Workspace At A Glance
| Path | Role |
|---|---|
src/ |
Bevy client, editor, runtime, and authoring systems |
assets/ |
Authored scenes, UI, game data, sprites, effects, and preview assets |
crates/ |
Shared protocol, config, networking, domain, observability, and generated-artifact crates |
services/ |
Login, game, control-plane, and control-agent services |
tools/control-panel/ |
Native service-management desktop UI |
xtask/ |
Workspace doctor, quality gates, docs checks, export checks, and generated workflows |
docs/wiki/ |
Maintained engine, authoring, runtime, protocol, and operations documentation |
Detailed package ownership and scoped checks live in Workspace Package Roles And Scoped Quality Profiles.
Common Workflows
- Aether Engine Wiki is the documentation entry point.
- Environment Configuration Reference lists every generated
AETHER_*setting and default. - Local Playtest And Standalone Preview covers editor-launched and CLI playtests.
- World Entry Smoke Harness And Soak Telemetry contains the service-stack smoke checklist and failure-capture rules.
- Runtime Profiling, Tracy Captures, And Budget Gates covers performance investigation.
- Game Transport Endpoints And QUIC Exposure covers public endpoints, certificates, and QUIC diagnostics.
- Realtime Registry And Wire Contract explains protocol changes; the generated registry is the packet-by-packet reference.
- Control Plane And Service Ops covers backend ownership and recovery workflows.
Validation
Run the standard quality gate before handing off a broad change:
cargo run -p xtask -- quality-gate
Useful focused checks:
cargo run -p xtask -- docs-check
cargo run -p xtask -- quality-gate --profile editor-client
cargo run -p xtask -- quality-gate --profile services
cargo run -p xtask -- quality-gate --profile protocol-config
Use cargo run -p xtask -- quality-gate --plan to inspect the planned commands. The stricter ci-cleanup and full profiles are appropriate before large integrations. Generated documentation and manifests should be repaired through their registered write commands rather than edited by hand.
Contributing
Keep changes focused, route shared protocol and configuration changes through their owning crates, add validation for authored-format changes, and update the relevant wiki page when a shared workflow or invariant changes. See Generated Artifact Registry And Quality Gate Integration before adding generated outputs.
The repository includes third-party art and derived development assets. Verify each asset pack's license before redistribution.
License
No project-wide license is currently published. Treat the code and bundled assets as all rights reserved unless the project owner provides explicit terms.