/Cultivation

A custom launcher designed to make it as easy as possible to proxy anime game traffic to private servers.

Primary LanguageTypeScriptApache License 2.0Apache-2.0

EN | 简中 | 繁中 | 日本語

Cultivation

A game launcher designed to easily proxy traffic from anime game to private servers.

Table Of Contents

Client Patching Notice

For game versions 3.1 and above, Cultivation automatically makes a small patch to your game client when launching using Grasscutter, and restores it upon closing the game. In theory, you should still be totally safe, however it would be dishonest to not explicitly state that modifying the game client could, theoretically, lead to a ban if you connect to official servers with it. It is extremely unlikely AND there are no instances known of it happening, but the possibility exists.

Download

Find release builds here!

Download and open the MSI, and once installed, run Cultivation as administrator. Refer below for more detailed setup instructions.

Windows 7 Users: You will need to download WebView2 manually, and download the .zip instead of the .msi.

Setup

5-minute video for those who don't like to/cannot read: https://youtu.be/e0irOYbQe7I

  • Download Cultivation
  • Install or extract Cultivation
  • Open Cultivation as administrator
  • Before clicking randomly on stuff, in options (top right cog icon), set your Game Install Path.
    • If you are using an existing server installation from somewhere else, you can set the .jar file in settings as well. All downloads made through Culti will automatically use that path, no additional config needed.
    • If you use multiple Java versions, you can set the Java path to your Java 17 installation (only required if you are running your own server)
  • Decide if you want to download your own server, or just join a public one
    • If joining a public one, you're done. Just click "Connect with Grasscutter" and input the address and port. You do not have to continue these instructions.
  • Open the "Downloads" menu (top right)
    • Download "Grasscutter All-in-One" (top of the list)
  • Once that is done, click the icon next to "Launch"
  • To play on your new server:
    • Click "Connect with Grasscutter"
    • Input localhost as the address, and 443 as the port
    • Ensure HTTPS is disabled
  • Any generic "I am getting XYZ error!" should go in the Discord support channels
  • Any specific Cultivation issues should go in the issues section
  • Any Grasscutter server related issues should go in the Grasscutter issues section

Troubleshooting

White screen, insta-crash or something similar

Internet not working after use

Please allow the Cultivation window to pop back up once you have quit out of the game. This tells you that it knows you closed the game, and that it has reverted your proxy settings. If you have closed Cultivation before this happens, or have had some other issue with your internet, go to your proxy settings in Windows and disable the "Manual proxy setup".

Developer Quickstart

Setup

  • Install NodeJS >12
  • Install yarn (cry about it npm lovers)
  • Install Rust
  • yarn install
  • yarn tauri dev

Building

For a release build,

  • yarn build

For a debug build,

  • yarn build --debug

Code Formatting and Linting

Formatting:

  • yarn format

Check Lints, fix (some) lints:

  • yarn lint, yarn lint:fix

Generating Update Artifacts

  • Add the TAURI_PRIVATE_KEY as an environment variable with a path to your private key.
  • Add the TAURI_KEY_PASSWORD as an environment variable with the password for your private key.
  • yarn build

The update will be at src-tauri/target/(release|debug)/msi/Cultivation_X.X.X_x64_xx-XX.msi.zip

Theming

A full theming reference can be found here!

Screenshots

image image image image

Credits

  • SpikeHD: For originally creating GrassClipper and creating the amazing UI of Cultivation.
  • KingRainbow44: For building a proxy daemon from scratch and integrating it with Cultivation.
  • Benj: For assistance in client patching.
  • lilmayofuksu: For assistance in client patching.
  • Tauri: For providing an amazing, efficient, and simple desktop application framework/library.