#cli #launcher #ttr #toontown #rewritten

app shticker_book_unwritten

Minimal CLI launcher for the Toontown Rewritten MMORPG

9 releases (5 breaking)

✓ Uses Rust 2018 edition

0.6.0 Oct 16, 2019
0.5.0 Oct 13, 2019
0.4.1 Oct 3, 2019
0.4.0 Sep 19, 2019
0.1.1 Sep 7, 2019

#9 in Games

Download history 36/week @ 2019-09-03 24/week @ 2019-09-10 107/week @ 2019-09-17 24/week @ 2019-09-24 31/week @ 2019-10-01 21/week @ 2019-10-08

82 downloads per month

AGPL-3.0-or-later

265KB
2.5K SLoC

shticker_book_unwritten

crates.io AGPL v3+ unsafe forbidden GitHub code size in bytes

shticker_book_unwritten logo

A minimal CLI launcher for the Toontown Rewritten MMORPG. Inspired by Shticker Book Rewritten.

Currently builds and functions on GNU/Linux, Windows NT (using the MSVC toolchain), and macOS (be sure to allow terminal the ability to monitor inputs).

Installing

From pre-compiled binary

You can get pre-compiled binaries from the releases page on GitHub.

From crates.io

Requires a distribution of Rust/cargo, which you can get from rustup. Although shticker_book_unwritten does not make use of async/await itself, it depends on reqwest, which requires this language feature on its latest releases: as such, shticker_book_unwritten will only compile on beta and nightly rustc, at least until async/await is stabilized.

cargo install shticker_book_unwritten

If you already have a version installed and want the latest version to replace it, you can run:

cargo install -f shticker_book_unwritten

From GitHub git repository

Requires a distribution of Rust/cargo, which you can get from rustup. Although shticker_book_unwritten does not make use of async/await itself, it depends on reqwest, which requires this language feature on its latest releases: as such, shticker_book_unwritten will only compile on beta and nightly rustc, at least until async/await is stabilized.

git clone https://github.com/JonathanHelianthicusDoe/shticker_book_unwritten.git
cd shticker_book_unwritten
cargo rustc --release -- -C target-cpu=native # Or just `cargo build --release`
strip ./target/release/shticker_book_unwritten # Optional
./target/release/shticker_book_unwritten --help

The executable name is quite lengthy, so you will probably want to alias it (to sbu or something like that).

Panicking

shticker_book_unwritten uses #![forbid(unsafe_code)], so it should (barring compiler bugs) be impossible for actual undefined behavior to occur unless some dependency of shticker_book_unwritten is written using unsafe code in an unsound way. However, although shticker_book_unwritten is written intentionally to avoid panicking for any reason whatsoever, it is not (in general) possible in Rust to statically guarantee that a program is panic-free for all possible inputs.

If you find a way to make shticker_book_unwritten panic, that is considered a bug, and you should file an issue against the GitHub repository and/or submit a pull request to fix it. Additionally, undefined behavior is (obviously) also a bug, so similar steps should be taken if you find UB, but that will necessarily require using external libraries in a different way due to them being broken and/or fixing those external libraries upstream.

Legal

This entire work (including this document & all associated source code) is licensed to anyone under the terms of the GNU Affero General Public License, version 3 (or any higher version, at your option). For the relevant legal text, see the LICENSE file.

GNU AGPL v3+

This work contains (Rust-ified) code from bsdiff 4.3, which is licensed under a slightly modified version of the FreeBSD license. For the relevant legal text, see the LICENSE.bsdiff4 file.

The shticker_book_unwritten logo is licensed to anyone under the terms of the Creative Commons Attribution-ShareAlike license, version 4.0 (or any higher version, at your option). For the relevant legal text, see https://creativecommons.org/licenses/by-sa/4.0/legalcode, or the img/LICENSE.imgs file for a plaintext version.

CC BY-SA 4.0+

Dependencies

~5–8MB
~169K SLoC