diff --git a/README.md b/README.md index 0d3e93a..b5cd44c 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,21 @@ -### Games and regions +# Jadeite Autopatcher +### Current game support: - **3rd**: glb/sea/tw/kr/jp **v7.1.0+**, cn **v7.2.0+** -- **SR**: os/cn **v1.6.0** (potentially unsafe, but no bans were reported since v1.1.0) +- **SR**: os/cn **v1.6.0** You can expect newer versions to work immediately after release with the same jadeite binary if the version is specified with a + above. -### Information +## Information The anticheat the games use is fundamentally incompatible with Wine in multiple ways. This tool launches the game without it (`injector`) and imitates it's behaviour (`game_payload`). **Using third-party software (such as this tool) with the games violates their Terms of Service**. Therefore, **you may receive a ban**. No bans were ever reported with 3rd, however the legacy patch for SR did cause many. **Use at your own risk and only if you understand all the possible consequences**. **This is not a cheating tool**. Using it with Windows is not possible, and Windows support is not planned or intended in any way. However, as it does not perform any on-disk file modifications, you may reuse the same game install for Windows if you have a dual-boot setup. -### Usage -**Refer to [third-party launchers](#third-party-launchers)** for convenient usage. If you don't want to (or can't) use third-party launchers, continue reading the section below. +## Usage +**Refer to [third-party launchers](#third-party-launchers)** for convenient usage. If you don't want to (or can't) use third-party launchers, continue reading the section below -**Wine 8.0+ is recommended**, as lower versions leak "The Wine project" as the device identifier. Not critical, but taking a precaution never hurt anyone. **DXVK is strongly recommended.** +**Wine 8.0+ is recommended**, as lower versions leak "The Wine project" as the device identifier. Not critical, but taking a precaution never hurt anyone. **DXVK is strongly recommended** **3rd-specific**: - **Wine 8.21+ or [Wine-GE-Proton](https://github.com/GloriousEggroll/wine-ge-custom) is required to play videos. The game may show a black screen or crash on lower versions.** @@ -27,37 +28,40 @@ Manual usage instructions: - Run `./block_analytics.sh` from the archive to block the games from accessing analytics servers (you might have to do a `chmod +x block_analytics.sh` first). This will require superuser privileges - Run `wine jadeite.exe 'Z:\wine\path\to\game.exe'` -This tool is capable of starting the games from a different process. This may be useful for spoofing the parent process (SR is known to report it). Use `wine jadeite.exe 'Z:\wine\path\to\game.exe' 'Z:\wine\path\to\launcher.exe'`. `explorer.exe` is used as the default. +Detailed command line interface reference: `jadeite.exe [game path] `, where: +- `game path` - Wine path to the game (required) +- `launcher path` - Wine path to the launcher process (optional, default is `C:\Windows\explorer.exe`). The launcher process will be used to start the game. You can specify the path to the official launcher here. Specifying anything other than `explorer.exe` or the official launcher is not recommended. Specify `--` to skip this argument and use the default +- `game args...` - arguments to pass to the game process (optional) -To pass commandline arguments to the game, append them after the launcher path: `wine jadeite.exe 'Z:\wine\path\to\game.exe' 'Z:\wine\path\to\launcher.exe' -arg1 -arg2 -arg3`. To use the default launcher process, use `--`: `wine jadeite.exe 'Z:\wine\path\to\game.exe' -- -arg1 -arg2 -arg3`. +Example command: `jadeite.exe 'Z:\path\to\game.exe' -- -screen-fullscreen 1` -### Configuration +## Configuration These environment variables can be used to configure the behaviour of the tool. Any value except empty string counts as set. `1` will be used in all examples. - `WAIT_BEFORE_RESUME=1` - show a messagebox and wait for user input before resuming the game process. Useful on my side for debugging -### Internals -This tool consists of three parts: the main injector (`injector/src/exe.c`), the launcher payload (`injector/src/dll.c`) and the game payload (`game_payload`). - -I am very bad at explaining, so just take a look at the source code. Maybe I'll write a detailed explanation in the future. +## Internals and building +To compile jadeite, you will need meson, mingw and nasm. You can probably install all three using your repository's package manager. Once all dependencies are installed, run `./build.sh` in this directory. The compiled files will be located in `./out`. A part of the source code is witheld (`game_payload/src/core.c`). This is a forced measure to make abuse more difficult. However, a precompiled blob is provided in the repo. `build.sh` will use it automatically. -### Guildelines +All source code except `core.c` is available in this repository. You can take look around. + +## Guildelines 1. **Please don't share this project in public.** This might attract unnecessary attention from either the Game Company or the Anticheat Company 2. **Please don't abuse this project for cheating.** We're just trying to play the games through Wine -### Troubleshooting +## Troubleshooting Please do not report any issues with the Game to the official channels. Use the issue tracker of this repository -### Third-party launchers -- Honkers Launcher — Linux launcher for 3rd ([GitHub](https://github.com/an-anime-team/honkers-launcher) | [Codeberg](https://codeberg.org/an-anime-team/honkers-launcher)) -- The Honkers Railway Launcher — Linux launcher for SR ([GitHub](https://github.com/an-anime-team/the-honkers-railway-launcher) | [Codeberg](https://codeberg.org/an-anime-team/the-honkers-railway-launcher)) +## Third-party launchers +- **Honkers Launcher** — Linux launcher for 3rd ([GitHub](https://github.com/an-anime-team/honkers-launcher) | [Codeberg](https://codeberg.org/an-anime-team/honkers-launcher)) +- **The Honkers Railway Launcher** — Linux launcher for SR ([GitHub](https://github.com/an-anime-team/the-honkers-railway-launcher) | [Codeberg](https://codeberg.org/an-anime-team/the-honkers-railway-launcher)) -### Credits -- mkrsym1 — project leader, reverse engineering -- [EternalStudentDesuKa](https://github.com/EternalStudentDesuKa) — major help with analyzing network activity -- [An Anime Team](https://github.com/an-anime-team) — Honkers Launcher and The Honkers Railway Launcher -- Some others credited in the source code +## Credits +- **mkrsym1** — project leader, reverse engineering +- **[EternalStudentDesuKa](https://github.com/EternalStudentDesuKa)** — major help with analyzing network activity +- **[An Anime Team](https://github.com/an-anime-team)** — Honkers Launcher and The Honkers Railway Launcher +- Some others (credited in the source code) License: MIT