Jadeite with support for external game launchers.
Go to file
2023-10-01 11:04:01 +03:00
game_payload Implement a better workaround for different HI3 editions having different section names 2023-09-26 12:05:53 +03:00
injector Show executable path in failed to start game process messagebox 2023-08-12 17:20:58 +03:00
.gitignore Renamed tp6.c to core.c 2023-07-28 01:51:04 +03:00
block_analytics.sh Fix block_analytics.sh 2023-08-06 22:09:44 +03:00
build.sh Added block_analytics.sh script 2023-08-06 19:26:02 +03:00
gen_resources.sh Refactor resource gen script 2023-07-07 13:59:28 +03:00
LICENSE.txt Initial commit 2023-06-06 00:23:08 +03:00
meson.build v3.0.8 2023-09-26 12:06:52 +03:00
metadata.json Mark HI3 cn v7.0.0 verified 2023-10-01 11:04:01 +03:00
mingw_cross.txt Initial commit 2023-06-06 00:23:08 +03:00
README.md Mark HI3 cn v7.0.0 verified 2023-10-01 11:04:01 +03:00
setup.sh Optimized build 2023-06-07 20:57:56 +03:00

Games and regions

  • 3rd: glb/sea/tw/kr/jp v6.9.0+, cn v7.0.0+
  • SR: os/cn v1.3.0 (potentially unsafe, but no bans were reported since v1.1.0)

You can expect newer versions to work immediately after release with the same jadeite binary if the version is specified with a + above (currently none).

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).

SR-specific: this tool disables the use of DirectX shared resources in a rather hacky way. It is required, as there is no (and most likely never will be) shared resources support in DirectX translation layers (WineD3D/DXVK). Refer to configuration if you wish to run the game without the fix.

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 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.

3rd-specific:

  • In some cases, and if you're not using Proton GE, a fix for Media Foundation may be required to play videos. The Game may crash without it. You can download it from here. Unfortunately, it appears like the fix is no longer available, please use Wine-GE-Proton instead.
  • You might need to limit the number of cores available to the game if your CPU has more than 8.

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 ./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.

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.

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

SR-exclusive:

  • SRFIX_DISABLE=1 - disable shared resources fix. Not recommended. Doing so will most likely cause the game to not run at all

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.

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

  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

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)

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