A launcher for quickly & easily switching server destinations.
Go to file
2022-05-14 12:26:51 -07:00
languages Create ko.json 2022-05-14 00:10:23 +09:00
proxy loginByThirdparty 2022-05-14 01:24:32 +08:00
resources Update index.html 2022-05-12 22:49:09 +08:00
scripts update java version scripts 2022-05-07 17:32:30 -07:00
tools refresh button 2022-04-30 00:57:58 -07:00
.eslintrc.json foreign char alert 2022-05-07 19:56:02 -07:00
.gitignore download script for gc 2022-05-01 19:09:10 -07:00
build_win.cmd fix naming mixup (names will be fixed later) 2022-05-03 01:09:22 -07:00
build.sh linux build script 2022-04-25 16:32:19 -07:00
LICENSE Initial commit 2022-04-19 16:07:19 -07:00
manifest.json version bump 2022-05-07 22:51:40 -07:00
neutralino.config.json version bump 2022-05-07 22:51:40 -07:00
package-lock.json alert system 2022-05-03 21:06:01 -07:00
package.json version bump 2022-05-07 22:51:40 -07:00
README_id.md Add README_id.md 2022-05-07 18:01:30 +07:00
README_PL.md Update README 2022-05-07 15:25:30 +07:00
README.md Update README.md 2022-05-14 02:46:44 -07:00
setup_win.cmd Update setup_win.cmd 2022-05-14 12:26:51 -07:00

GrassClipper

EN | PL | ID

Experimental Grasscutter launcher for easily switching between Official and Private servers

Download Here! (Supports Windows 8+)

*Note: some translations are outdated, so if random English text appears or an option seems misleading, this is why. If you notice an issue like this, feel free to make a pull request!

Table of Contents

Setup (for Users)

  1. Download the zip file
  2. Extract the zip file somewhere
  3. Run GrassClipper.exe, install the proxy server, and set your game folder!

Setup (for Development)

  1. Clone the repository
  2. Ensure you have NodeJS installed.
  3. Install the neu CLI tool: npm install -g @neutralinojs/neu
  4. Install the dependencies: setup_win.cmd
  5. Compile and run:
    • For testing: npm run dev
    • For production: npm run build

TODO

  • Interface/internals
    • UI
    • Official and Private options
    • Server IP input
    • Fun fancy CSS styling n stuff (CoD: MW 2019-style vertical menu for choosing between official and private servers? See this)
    • Kill switch script (optional)
    • Automatically run install.cmd when opening for the first time
    • Grasscutter auto-downloader
    • Detect when in a folder that is inaccessible to the program (eg. C:/Program Files) and warn
    • Custom images for private server sections (anyone is welcome to submit a pull request to add some!)
    • Optional username/password creation for servers before entering (not implemented in Grasscutter yet)
    • Platform detection and bash scripts
    • Integrated banner creator
  • Proxy service
    • Local proxy server
    • Intercept and modify GI requests like with Fiddler, allow anything else to pass through
    • Fix Discord and YouTube issues when proxy is enabled (maybe fixed)

Having problems?

Below are some scenarios you may encounter and their solutions.

Manual Proxy Installation

If you having trouble installing the proxy server, you can also install it manually. To do so:

  1. Create a folder if it does not exist named ext in the GrassClipper folder.
  2. Download and extract the contents of this file into the ext folder
  3. Double click mitmdump.exe and allow it to run for a few seconds to generate the certificate
  4. Run this command as Administrator: certutil -addstore root "%USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.cer"
  5. Use GrassClipper like normal!

White Screen Fix

Encountering a white screen? Ensure WebView2 is installed

You may also want to run this command as administrator: CheckNetIsolation.exe LoopbackExempt -a -n="Microsoft.Win32WebViewHost_cw5n1h2txyewy"

If you have Chinese characters in your file path, this may crash it too! I am working on a fix.

You can also try running in Windows 8 compatitbility mode.

If all else fails, you can run GrassClipper in chrome or browser mode. To do so:

  • Create a shortcut to GrassClipper.exe
  • Right click the shortcut, click properties
  • In the Target box, at the very end, add --mode=chrome or --mode=browser
    • chrome only works if you have Chrome installed, and will create a Chrome window
    • brower will, you guessed it, open GrassClipper in your default browser
  • Click Ok
  • Run GrassClipper using this shortcut from now on!

Error 502

You may be using the wrong port, ensure your port in GrassClipper is either 443 or nothing (not 0, but literally nothing)

  1. If you are running a local server, ensure the local server is running. Otherwise, ensure the server you are connecting to is actually running.

  2. If you are able, use the development branch of Grasscutter. It is known to work better with GrassClipper.

If you are still getting an error 502 when attempting to log in to your own server, open your Grasscutter config and add the following to the DispatchServer section:

"PublicPort": YOUR_PORT

where YOUR_PORT is the same port you use as the Port value already. This will probably be 443.

Error 4206

Ensure you have the correct keystore.p12 file that comes with your branch (stable or development). Also ensure the password is set properly in Grasscutters config.json (blank for stable, "123456" for development).

Infinite CMD Windows

If you are getting infinite CMD windows for any of the scripts (such as the proxy installation, or private server start), ensure you have UAC (user access control) set to any option that requires asking. Ensure your user account can open things as Admin.

My Discord is not letting me send messages or load images/My Youtube is acting strange!

Discord/YouTube (plus surely some others) does not seem to be a fan of the proxy server. You may need to disable it by either closing mitmdump or by disabling your proxy in the Windows proxy settings.

I have no internet after closing everything/restarting my PC!

The launcher most likely did not close correctly, and was unable to clean your proxy settings back to what they were. Disable your proxy in the Windows proxy settings.

Available Languages and Translation Credits

Thank you to everyone who has provided translations! <3

  • ZH - nuoxianCN, Scirese & MrAru
  • ZH-TW - Kimi & KormiMeiko
  • PT-BR - na.na & actuallyeunha
  • VIE - labalityowo & lunaticwhat
  • ID - Iqrar99 & nautilust
  • FR - linsorak & memetrollsXD
  • ES - memetrollsXD
  • ND - memetrollsXD
  • RU - fitiskin
  • TR - lilmayofuksu
  • JP - conochy
  • HD - Arikatsu
  • PL - zakhil-dev
  • TH - ongsalt
  • KO - tsukiroku

Screenshots

image image image image image image image