This is a modification of the current install.sh file, that works like that one, but without trying to install all the dependencies for you, which could cause some problems in outdated systems or not supported distros. Also, install.sh file is outdated and doesn't work right now. This should be fixed, but for now, I prefer to have a separated and less intrusive script that does the same but without asking for dependencies. This script can be also used for updating the current installation of Grasscutter if is run in the root folder of the server, removing the resources folder and giving some instructions on how to correctly update the server so you try them before starting to think that the update is just broken. If you consider this unnecessary, please don't hesitate to cancel the PR. |
||
---|---|---|
.github | ||
gradle/wrapper | ||
lib | ||
src/main | ||
.editorconfig | ||
.gitignore | ||
build.gradle | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
format_whitespace.py | ||
gradlew | ||
gradlew.bat | ||
install_without_dependencies.sh | ||
install.sh | ||
keystore.p12 | ||
LICENSE | ||
manage_languages.py | ||
plugin-schema.json | ||
proxy_config.py | ||
proxy.py | ||
README_es-ES.md | ||
README_fr-FR.md | ||
README_HE.md | ||
README_pl-PL.md | ||
README_ru-RU.md | ||
README_zh-CN.md | ||
README_zh-TW.md | ||
README.md | ||
settings.gradle | ||
start_config.cmd | ||
start.cmd |
EN | 简中 | 繁中 | FR | ES | HE | RU | PL
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
-
Java SE - 17 (link)
Note: If you just want to run it, then jre only is fine.
-
MongoDB (recommended 4.0+)
-
Proxy daemon: mitmproxy (mitmdump, recommended), Fiddler Classic, etc.
Running
Note: If you updated from an older version, delete config.json
to regenerate it.
- Get
grasscutter.jar
- Download from actions
- Build by yourself
- Create a
resources
folder in the directory where grasscutter.jar is located and move yourBinOutput
andExcelBinOutput
folders there (Check the wiki for more details how to get those.) - 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.
-
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 fromhttp://mitm.it
Double click for install or ...
-
Via command line
certutil -addstore root %USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.cer
-
-
Fiddler Classic: Run Fiddler Classic, turn on
Decrypt https traffic
in setting and change the default port there (Tools -> Options -> Connections) to anything other than8888
, and load this script.
-
-
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
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