Whirl, an open-source implementation of the WorldServer protocol in Rust.
Two main reasons;
- Worlds' official servers are old, slowly deteriorating, and probably unmaintained.
- Worlds is old; the shutdown of the servers is inevitable.
TLDR: To keep Worlds' legacy going for future generations.
Use in production environments is not recommended as this project is currently under heavy development.
As stability increases, periodic updates regarding production use will be released (via Discord or blog).
Documentation about the entire Whirlsplash ecosystem can be found here.
If you are looking for explicit documentation of only Whirl's source code, you must generate them yourself be cloning the repository and running the Cargo subcommand;
$ cargo +nightly doc --open --document-private-items --no-deps # or `cargo make gen-docs`
Please reference the contribution guidelines of this repository.
- Rust — The backbone of it all.
- diesel_cli — Database migrations, setup, et cetera
- cargo-make — Cross-platform make substitute
- cargo-watch — Recompilation on file-system changes
- sqlfluff — SQL linting
- Valgrind — Benchmarking
These development dependencies (excluding sqlfluff) will automatically be satisfied if you are using the Nix shell configuration as provided.
For the time being; benchmarking is only available for *nix-based environments as the benchmarking utility currently in place, Iai, has a hard dependency on Valgrind which is only accessible within *nix-based environments.
More so, the current benchmarks which have been set-up do not cover the full extent of Whirl, but a small portion of the crates which make up Whirl as a whole. In the future, benchmarks may be expanded upon.
To execute the available benchmarks, use the following Cargo subcommand;
$ cargo bench