A server software reimplementation for a certain anime game.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Moistcrafter 7f4fb20773
Fix boss names in boss bar (#2169)
22 hours ago
.github Remove outdated and grammatically incorrect instructions from PR template (#2100) 2 months ago
docs Update `README_vi-VN.md` (#2094) 2 months ago
gradle/wrapper Update gradle wrapper (closes #1076) 7 months ago
lib Remove ``java-express``. Add javalin as dependency 9 months ago
src Fix boss names in boss bar (#2169) 22 hours ago
.editorconfig Introduce a new arguments parser (#1629) 10 months ago
.gitattributes Introduce a new arguments parser (#1629) 10 months ago
.gitignore Replace protos with generated protos 9 months ago
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 1 year ago
CONTRIBUTING.md Update banners (closes #1760) 9 months ago
LICENSE Change LICENSE to GNU Affero 1 year ago
README.md Update the README (#2126) 1 month ago
build.gradle Add support for game version 3.6 (#2110) 4 weeks ago
format_whitespace.py Fix lint commit reference 9 months ago
gradle.properties forever engraved (#2120) 1 month ago
gradlew Update gradle wrapper (closes #1076) 7 months ago
gradlew-clean.bat Add support for the Chinese client (#2076) 3 months ago
gradlew-jar.bat Debug system (#1894) 7 months ago
gradlew.bat Update gradle wrapper (closes #1076) 7 months ago
install.sh linux 3 months ago
install_without_dependencies.sh linux 3 months ago
keystore.p12 Update the keystore 1 year ago
manage_languages.py Stop language linter from fighting the main linter on \n 10 months ago
plugin-schema.json Add `loadAfter` plugin setting 11 months ago
proxy.py Censorship 11 months ago
proxy_config.py Allow overriding config with ENV (#506) 1 year ago
settings.gradle Initial commit 1 year ago
start.cmd fix java search in start.cmd 1 year ago
start_config.cmd fix java search in start.cmd 1 year ago



Documentation GitHub release (latest by date) GitHub GitHub last commit GitHub Workflow Status
Discord - Grasscutter

EN | 简中 | 繁中 | FR | ES | HE | RU | PL | ID | KR | FIL/PH | NL | JP | IT | VI

Attention: We always welcome contributors to the project. Before adding your contribution, please carefully read our Code of Conduct.

Current features

  • Logging in
  • Combat
  • Friends list
  • Teleportation
  • Gacha system
  • Co-op partially works
  • Spawning monsters via console
  • Inventory features (receiving items/characters, upgrading items/characters, etc)

Quick setup guide

Note: For support please join our Discord.



Note: If you updated from an older version, delete config.json to regenerate it.

  1. Get grasscutter.jar
  2. Create a resources folder in the directory where grasscutter.jar is located and move your BinOutput, ExcelBinOutput, Readables, Scripts, Subtitle, TextMap folders there (Check the wiki for more details how to get those.)
  3. Run Grasscutter with java -jar grasscutter.jar. Make sure mongodb service is running as well.

Connecting with the client

½. Create an account in the server console using this command.

  1. Redirect traffic: (choose one only)

    • mitmdump: mitmdump -s proxy.py -k

      • Trust CA certificate:

        • The CA certificate is usually stored in %USERPROFILE%\.mitmproxy, double click mitmproxy-ca-cert.cer to install or...

        • Via command line (needs administration privileges)

          certutil -addstore root %USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.cer
    • Fiddler Classic: Run Fiddler Classic, turn on Decrypt HTTPS traffic in (Tools -> Options -> HTTPS) and change the default port in (Tools -> Options -> Connections) to anything other than 8888, load this script (copy and paste the script in the FiddlerScript tab) and click the Save Script button.

    • Hosts file

  2. Set network proxy to or the proxy port you specified.

  • For mitmproxy: After setting up the network proxy and installing the certificate, check http://mitm.it/ if traffic is passing through mitmproxy.

You can also use start.cmd to start servers and proxy daemons automatically, but you have to set up JAVA_HOME environment and configure the start_config.cmd file.


Grasscutter uses Gradle to handle dependencies & building.


git clone https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
.\gradlew.bat # Setting up environments
.\gradlew jar # Compile
Linux (GNU)
git clone https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
chmod +x gradlew
./gradlew jar # Compile

You can find the output jar in the root of the project folder.


For a list of common issues and solutions and to ask for help, please join our Discord server and go to the support channel.