An anime game server file backup

Magix 2b2c612f1e Merge pull request #1704 from Grasscutters/development 2 years ago
.github 005a0bce96 Add version increments to lint branch 2 years ago
gradle d59799ce55 Update gradle + Work gacha reload (gs broken atm) 3 years ago
lib bf9606222e Remove ``java-express``. Add javalin as dependency 2 years ago
src 3b1b57b76f Update languages [skip actions] 2 years ago
.editorconfig 3121e3e67d Introduce a new arguments parser (#1629) 2 years ago
.gitattributes 3121e3e67d Introduce a new arguments parser (#1629) 2 years ago
.gitignore a436ae9fe1 Replace protos with generated protos 2 years ago
CODE_OF_CONDUCT.md 4c7051bb6a Update CODE_OF_CONDUCT.md 3 years ago
CONTRIBUTING.md 59290bbdfd Update contributing guidelines 2 years ago
LICENSE 3c20f2b032 Change LICENSE to GNU Affero 2 years ago
README.md 4ad419ccc8 Update README.md Sequel (#1717) 2 years ago
README_HE.md 41171a7ea7 Update readme interlinks 2 years ago
README_NL.md 87bcbb187b Update README_NL.md 2 years ago
README_es-ES.md 41171a7ea7 Update readme interlinks 2 years ago
README_fil-PH.md 41171a7ea7 Update readme interlinks 2 years ago
README_fr-FR.md 41171a7ea7 Update readme interlinks 2 years ago
README_id-ID.md 41171a7ea7 Update readme interlinks 2 years ago
README_ja-JP.md 41171a7ea7 Update readme interlinks 2 years ago
README_ko-KR.md 41171a7ea7 Update readme interlinks 2 years ago
README_pl-PL.md 41171a7ea7 Update readme interlinks 2 years ago
README_ru-RU.md 41171a7ea7 Update readme interlinks 2 years ago
README_zh-CN.md 41171a7ea7 Update readme interlinks 2 years ago
README_zh-TW.md 41171a7ea7 Update readme interlinks 2 years ago
build.gradle 6cf83b30ee Version 1.3.1-dev [skip actions] 2 years ago
format_whitespace.py e38c6251f6 Fix lint commit reference 2 years ago
gradlew 3707ee5477 Make gradlew executable 3 years ago
gradlew.bat 7925d1cda3 Initial commit 3 years ago
install.sh 27ec8543dd Added support for arch linux 2 years ago
install_without_dependencies.sh d286f1628e Update install_without_dependencies.sh 2 years ago
keystore.p12 b98860c480 Update the keystore 3 years ago
manage_languages.py 2d48fab799 Stop language linter from fighting the main linter on \n 2 years ago
plugin-schema.json e2cfe94bf0 Add `loadAfter` plugin setting 2 years ago
proxy.py e3c83d5828 Censorship 2 years ago
proxy_config.py 6b81b888a1 Allow overriding config with ENV (#506) 2 years ago
settings.gradle 7925d1cda3 Initial commit 3 years ago
start.cmd 39526cf090 fix java search in start.cmd 2 years ago
start_config.cmd 39526cf090 fix java search in start.cmd 2 years ago

README.md

Grasscutter

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

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.

Requirements

Note: If you just want to run it, then jre only is fine.

Running

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 using server console command.

  1. Redirect traffic: (choose one)

    • mitmdump: mitmdump -s proxy.py -k

    Trust CA certificate:

    Note: The CA certificate is usually stored in %USERPROFILE%\.mitmproxy, or you can download it from http://mitm.it

    ​ Double click for 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, and load this script (copy and paste the script in the FiddlerScript tab).

    • Hosts file

  2. Set network proxy to 127.0.0.1:8080 or the proxy port you specified.

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

Building

Grasscutter uses Gradle to handle dependencies & building.

Requirements:

Windows
git clone https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
.\gradlew.bat # Setting up environments
.\gradlew jar # Compile
Linux
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.

Commands have moved to the wiki!

Quick Troubleshooting

  • If compiling wasn't successful, please check your JDK installation (JDK 17 and validated JDK's bin PATH variable)
  • My client doesn't connect, doesn't login, 4206, etc... - Mostly your proxy daemon setup is the issue, if using Fiddler make sure it running on another port except 8888
  • Startup sequence: MongoDB > Grasscutter > Proxy daemon (mitmdump, fiddler, etc.) > Game