- C 91%
- Assembly 4%
- Shell 2.5%
- Meson 2.5%
| game_payload | ||
| injector | ||
| .gitignore | ||
| block_analytics.sh | ||
| build.sh | ||
| gen_resources.sh | ||
| LICENSE.txt | ||
| meson.build | ||
| metadata.json | ||
| mingw_cross.txt | ||
| README.md | ||
| setup.sh | ||
DEPRECATION NOTICE
This project is not maintained anymore. Most games using the targeted anticheat, including versions with the kernel driver, can now run on Wine. Most mainstream Protons now have the necessary patches, and work on getting them upstream is underway. For the best experience use DWProton or Spritz Wine AUR.
The above does not apply to SR yet.
Important reminder: do not mention this project in public! This includes ProtonDB and similar websites! If you got here from one of those websites, please try to reach out to the author and open an issue on this repository.
Jadeite Autopatcher
Current game support:
- 3rd: glb/sea/tw/kr/jp v8.5.0+, cn v8.6.0+, deprecated, use DWProton or Spritz Wine AUR instead
- SR: os/cn v3.8.0+
- Waves: not needed! Use the Steam version, Wine Staging 10.11+ or Proton, and pass
SteamOS=1
You can expect newer versions to work immediately after release with the same jadeite binary if the version is specified with a + above
Note: the Steam version of 3rd was reported to work, however I neither tested it nor intend to support it, so it might break at any time. Use at your own risk
Important: SR may crash on startup. See #104
Information
The anticheat some games use is fundamentally incompatible with Wine in multiple ways. This tool can launch the game without it (injector) and imitate it's behaviour (game_payload).
In case of SR the main anticheat does not cause major issues on Wine, so no anticheat bypass is performed, and only a single separate check is worked around. This functionality only exists because of legacy (SR used to have the same anticheat as 3rd) and might or might not be extracted into a separate project later
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 jadeite, however the legacy patch for pre-v1.1.0 SR (not present in this repository) 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
Refer to third-party launchers for convenient usage. If you don't want to (or can't) use third-party launchers, make sure to read the requirements section and continue to the usage section
Requirements
Wine 9.5+ is recommended for all games. Spritz-Wine is the recommended distribution, which includes specific patches for the mentioned games. Maintained by @NelloKudo.
DXVK is strongly recommended in most cases, but not required. See game-specific notes
GStreamer with proper plugins for h.264-encoded video playback is required:
- At least the following should be installed:
gst-pulgins-base,gst-plugins-good,gst-plugins-bad,gst-libav(withavdec_h264) - It is important to not use
openh264, as it causes major issues with video playback, such as stuttering, video artifacts and hangs.avdec_h264has a higher rank value, so it will be used instead of the broken decoder automatically if present - Sometimes,
avdec_h264is missing fromgst-libavdue to FFmpeg libraries being compiled without h.264 support. In this case, in-game videos will not work correctly. Notably, it's not available by default in Flatpak runtimes: the application maintainer has to compile the FFmpeg libraries with h.264 support manually - Proton and derivatives (including Wine-GE-Proton) typically include their own GStreamer plugins and use them instead of the system-installed ones, which might either help or cause issues
Game-specific notes
3rd-specific:
- On some systems, WineD3D (builtin Wine graphics translation layer) might show better performance than DXVK. However, this is largely untested, so you might run into random issues
SR-specific:
- WineD3D does not support the way SR uses transform feedback for model skinning. As a result, all character models will render incorrectly, making the game unplayable without DXVK. You can prevent this by passing
-disable-gpu-skinningto the game (see command line interface reference below). However, it is better to install DXVK, as WineD3D performance is usually a lot worse - You may need to block the first request to dispatch for the game to let you in. Spritz-Wine does that automatically, but you can also do it manually by disconnecting from the internet before starting the game, and then reconnecting after it starts.
Waves-specific:
- The Steam version of the game is runnable since Wine Staging 10.11+ without jadeite! Use a recent Proton version (e.g. Proton-GE)
- The game executable is not the one on the top level of the game folder, but
Client/Binaries/Win64/Client-Win64-Shipping.exe - This game tries to run in DirectX 12 mode by default, which requires the Windows version to be set to 10 in winecfg and VKD3D to be installed. In general, it performs worse than the DirectX 11 mode, which can be enabled by passing the
-dx11command line argument (see usage) - By default, a part of the anticheat runtime components is not disabled, which can cause issues on certain systems (specifically MacOS with Rosetta). You can disable the anticheat completely by setting
JADEITE_WW_NO_AC=1, but it may result in you being disconnected every 20-ish minutes - A blank window with two buttons may appear after launching the game. You can safely ignore it, or prevent it from appearing by setting
WINEDLLOVERRIDES="KRSDKExternal.exe=d" - The new WebView 2 launcher does not work out of the box. See #69 for a workaround
Usage
Manual usage instructions:
- Download the game you want to run
- Download the latest release from this repository
- Extract the archive (NOT INTO THE GAME DIRECTORY! THIS IS IMPORTANT!)
- Run
wine jadeite.exe 'Z:\wine\path\to\game.exe'
./block_analytics.sh from the archive can be used to block the games from accessing analytics servers (chmod +x block_analytics.sh might be necessary first). This requires superuser privileges
Detailed command line interface reference: jadeite.exe [game path] <launcher path> <game args...>, where:
game path- Wine path to the game (required)launcher path- Wine path to the launcher process (optional, default isC:\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 thanexplorer.exeor the official launcher is not recommended. Specify--to skip this argument and use the defaultgame args...- arguments to pass to the game process (optional)
Example command: jadeite.exe 'Z:\path\to\game.exe' -- -screen-fullscreen 1
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
Global:
WAIT_BEFORE_RESUME=1- show a messagebox and wait for user input before resuming the game process. Useful on my side for debuggingJADEITE_UNPACK_TIME=1- display the time it took to unpack the game executable (Unreal Engine only)JADEITE_ALLOW_UNKNOWN=1- try launching the provided game even if it's not in the known list. Shell skip mode will be used (equivalent to the famous EXE), which may work with some specific Unity games
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
All source code except core.c is available in this repository. You can take a look around
Guildelines
- Please don't share this project in public. This might attract unnecessary attention from either the Game Company or the Anticheat Company
- Please don't abuse this project for cheating. We're just trying to play the games through Wine
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 | Codeberg)
- The Honkers Railway Launcher — Linux launcher for SR (GitHub | Codeberg)
- No launcher for Waves yet
Credits
- mkrsym1 — project leader, reverse engineering
- EternalStudentDesuKa — major help with analyzing network activity
- An Anime Team — Honkers Launcher and The Honkers Railway Launcher
- Some others (credited in the source code)
License: MIT