Skip to content

Whirlsplash/whirl

Repository files navigation

Whirl

The Open-Source WorldServer

A Worlds united

Discord

CodeFactor

Say Thanks

License

Whirl, an open-source implementation of the WorldServer protocol in Rust.

Purpose

Two main reasons;

  1. Worlds' official servers are old, slowly deteriorating, and probably unmaintained.
  2. Worlds is old; the shutdown of the servers is inevitable.

TLDR: To keep Worlds' legacy going for future generations.

Usage

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

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`

Known Issues

Contributing

Please reference the contribution guidelines of this repository.

Development Dependencies

Required

Optional

These development dependencies (excluding sqlfluff) will automatically be satisfied if you are using the Nix shell configuration as provided.

Benchmarking

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

License

GNU General Public License v3.0