Giter VIP home page Giter VIP logo

shticker_book_unwritten's Introduction

shticker_book_unwritten

crates.io GPL v3+ unsafe forbidden minimum supported rust version 1.41.0 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).

Mirror: https://codeberg.org/JonathanHelianthicusDoe/shticker_book_unwritten

Installing

From pre-compiled binary

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

Requires a distribution of Rust/cargo, which you can get from rustup. The minimum supported version of rustc is 1.41.0.

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. The minimum supported version of rustc is 1.41.0.

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 General Public License, version 3 (or any later version of the same license, at the licensee’s option). For the relevant legal text, see the LICENSE file.

GNU GPL v3+

Versions of shticker_book_unwritten prior to 1.0.0 were licensed under the terms of the GNU Affero General Public License, version 3 or later.

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 later version of the same license, at the licensee’s 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+

shticker_book_unwritten uses cargo-deny to enforce freeness of licenses, and license compatibility with all transitive dependencies. The configuration for this is in the deny.toml file. You can replicate the check yourself with cargo deny check all.

shticker_book_unwritten's People

Contributors

aurowora avatar jonathanhelianthicusdoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

shticker_book_unwritten's Issues

403 when attempting to download TTREngine

I recently tried launching ttr through shticker_book_unwritten after not playing for a while, and got an upgrade error for the most recent TTREngine. I tried deleting my existing TTR game files and re-running the launcher but I'm encountering the same error.

This happened on version 1.0.0 from crates.io, and version 1.0.2 that I compiled from this repository.

        Downloading TTREngine.1adbc1116a.bz2 [attempt 1/5]
        Bad status code after requesting download: 403 Forbidden, retrying...

I'm on elementary OS 5.1 (based on Ubuntu 18.04) with linux kernel 5.3 if that matters

Windows detach from batch file

Hello, I am using batch file to auto login, and detach, but for some reason on windows the command prompt never closes on windows, and TTR client will close if the close the command prompt.

If I run the same command in inside command prompt without a batch file detach works.

shticker_book_unwritten -u exampleaccount -d

GUI?

A basic GUI would be nice, I'm on NixOS so cant get the official launcher sadly :(.

Compile errors on Mac m1

using Mac OS 12.4

   Compiling shticker_book_unwritten v1.0.5 (/Users/michael/github/shticker_book_unwritten)
error: use of deprecated associated function `clap::Arg::<'help>::multiple_occurrences`: Replaced with `Arg::action` (Issue #3772)
   --> src/main.rs:134:18
    |
134 |                 .multiple_occurrences(true)
    |                  ^^^^^^^^^^^^^^^^^^^^
    |
note: the lint level is defined here
   --> src/main.rs:2:9
    |
2   | #![deny(deprecated)]
    |         ^^^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::is_present`: Replaced with either `ArgAction::SetTrue` or `ArgMatches::contains_id(...)`
   --> src/main.rs:199:29
    |
199 |     let quiet = arg_matches.is_present("quiet");
    |                             ^^^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::value_of`: Replaced with `ArgMatches::get_one()`
   --> src/main.rs:200:58
    |
200 |     let max_tries = if let Some(tries_str) = arg_matches.value_of("tries") {
    |                                                          ^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::is_present`: Replaced with either `ArgAction::SetTrue` or `ArgMatches::contains_id(...)`
   --> src/main.rs:209:21
    |
209 |         arg_matches.is_present("no-config"),
    |                     ^^^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::value_of`: Replaced with `ArgMatches::get_one()`
   --> src/main.rs:210:21
    |
210 |         arg_matches.value_of("config"),
    |                     ^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::value_of`: Replaced with `ArgMatches::get_one()`
   --> src/main.rs:211:21
    |
211 |         arg_matches.value_of("install-dir"),
    |                     ^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::value_of`: Replaced with `ArgMatches::get_one()`
   --> src/main.rs:212:21
    |
212 |         arg_matches.value_of("cache-dir"),
    |                     ^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::is_present`: Replaced with either `ArgAction::SetTrue` or `ArgMatches::contains_id(...)`
   --> src/main.rs:220:21
    |
220 |     if !arg_matches.is_present("no-auto-update") {
    |                     ^^^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::is_present`: Replaced with either `ArgAction::SetTrue` or `ArgMatches::contains_id(...)`
   --> src/main.rs:226:25
    |
226 |             arg_matches.is_present("dry-update"),
    |                         ^^^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::values_of`: Replaced with `ArgMatches::get_many()`
   --> src/main.rs:239:21
    |
239 |         arg_matches.values_of("username"),
    |                     ^^^^^^^^^

error: use of deprecated associated function `clap::ArgMatches::is_present`: Replaced with either `ArgAction::SetTrue` or `ArgMatches::contains_id(...)`
   --> src/main.rs:240:21
    |
240 |         arg_matches.is_present("detach"),
    |                     ^^^^^^^^^^

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.