blob: d2e0c6ccc0c3d02f4dc1174b1fc910cb0347823a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
.. raw:: html
<p align="center">
<a href="https://github.com/Whirlsplash/whirl">
<img
src="https://raw.githubusercontent.com/Whirlsplash/assets/master/Whirl.png"
alt="Whirl"
width="200">
</a>
</p>
<h1 align="center">Whirl: The Open-Source WorldServer</h1>
<h3 align="center">A Worlds United</h3>
<br>
<p align="center">
.. raw:: html
</p>
Whirl is an open-source implementation of `Worlds <https://www.worlds.com/>`_'
`WorldServer <http://dev.worlds.net/private/GammaDocs/WorldServer.html>`_
protocol, written in the modern and safe `Rust <https://www.rust-lang.org/>`_.
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 alive 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 <https://whirlsplash.org/docs/>`_.
If you are looking for explicit documentation of only Whirl's source code, you
may generate them yourself be cloning the repository and running the `doc` Cargo
subcommand:
.. code-block:: shell
$ cargo +nightly doc --open --document-private-items --no-deps # or `cargo make gen-docs`
Development Dependencies
------------------------
Required
~~~~~~~~
- `Rust <https://www.rust-lang.org/>`_ — The backbone of it all.
- `diesel\_cli <https://crates.io/crates/diesel_cli>`_ — Database migrations, setup, et cetera
- `cargo-make <https://github.com/sagiegurari/cargo-make>`_ — Cross-platform
`make <https://www.gnu.org/software/make/>`_ substitute
Optional
~~~~~~~~
- `cargo-watch <https://crates.io/crates/cargo-watch>`_ — Recompilation on file-system changes
- `sqlfluff <https://github.com/sqlfluff/sqlfluff>`_ — SQL linting
- `Valgrind <https://www.valgrind.org/>`_ — Benchmarking
Licence
~~~~~~~
This project is licensed with the `GNU General Public License v3.0 <./LICENSE>`_.
|