- Git LFS
- Rustup
lld
(Install via package manager on linux, use cargo-binutils if on Windows)
# Install Rust Toolchain via Rustup
rustup toolchain install nightly
rustup default nightly
# If on Linux, install cargo-binutils
cargo install -f cargo-binutils
# Install LLD Linker Component
rustup component add llvm-tools-preview
This repository uses the pre-commit tool to facilitate some automatic code corrections.
Before beginning coding, install pre-commit and set up the hook:
# Install git hook
pre-commit install
# Run rustfmt from root of project
cargo fmt
# Run Client
cd senior_game_client/
cargo run
# Run Server
cd senior_game_server/
cargo run
# Run Scene Serializer
cd senior_game_shared/
cargo run
Production client builds can be built with the build-linux-client.sh
and build-windows-client.sh
scripts. Appropriate values need to be supplied for the environment variables SENTRY_DSN
and RELEASE
.
Client crate, will be built into the client executable
For bevy's dynamic linking feature (faster compilation times), use cargo run --features bevy/dynamic
Server crate, will be built into the headless server executable
Shared library and tool create. Builds into a scene creation tool and can be seperately included as a dependency for shared objects and systems.
Incomplete but Decent Resource on Bevy