README.md 2.9 KB
Newer Older
Melledy's avatar
Melledy committed
1
2
3
# Grasscutter
A WIP server emulator for Genshin Impact 2.3-2.6

memetrollsXD's avatar
memetrollsXD committed
4
5
**Note**: For support please join the [Discord server](https://discord.gg/T5vZU6UyeG).

Melledy's avatar
Melledy committed
6
7
8
9
10
11
12
13
14
15
16
17
# Current features
* Logging in
* Spawning monsters via console
* Combat
* Inventory features (recieving items/characters, upgrading items/characters, etc)
* Co-op does work, but movement is kind of buggy and some player ults do not spawn properly
* Friends list
* Gacha system

# Running the server and client

### Prerequisites
破晓's avatar
破晓 committed
18
* JDK-8u202 ([mirror link since Oracle required an account to download old builds](https://mirrors.huaweicloud.com/java/jdk/8u202-b08/))
Melledy's avatar
Melledy committed
19
* Mongodb (recommended 4.0+)
20
* Fiddler Classic
Melledy's avatar
Melledy committed
21

lunaticwhat's avatar
lunaticwhat committed
22
23
24
### Starting up the server (Assuming you are on Windows)
1. Setup compile environment `gradlew.bat`
2. Compile the server with `gradlew jar`
lunaticwhat's avatar
lunaticwhat committed
25
3. Create a folder named `resources` in your server directory, you will need to copy `BinOutput` and `ExcelBinOutput` folders which you can get from a repo like [https://github.com/Dimbreath/GenshinData](https://github.com/Dimbreath/GenshinData) into your resources folder.
lunaticwhat's avatar
lunaticwhat committed
26
4. Run the server with `java -jar grasscutter.jar`. Make sure mongodb is running as well.
Melledy's avatar
Melledy committed
27
28

### Connecting with the client
lunaticwhat's avatar
lunaticwhat committed
29
30
½. Create an account using command below
1. Run Fiddler and turn on `Decrypt https traffic` in setting 
lunaticwhat's avatar
lunaticwhat committed
31
2. Set your hosts file to redirect at least api-account-os.hoyoverse.com and dispatchosglobal.yuanshen.com to your dispatch server ip. Or use Fiddler with script from [https://github.lunatic.moe/fiddlerscript](https://github.lunatic.moe/fiddlerscript) (Recommended for beginners)
lunaticwhat's avatar
lunaticwhat committed
32
3. yoink
Melledy's avatar
Melledy committed
33
34
35

### Server console commands

lunaticwhat's avatar
lunaticwhat committed
36
`account create [username] {playerid}` - Creates an account with the specified username and the in-game uid for that account. The playerid parameter is optional and will be auto generated if not set.
Melledy's avatar
Melledy committed
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

### In-Game commands
There is a dummy user named "Server" in every player's friends list that you can message to use commands. Commands also work in other chat rooms, such as private/team chats.

`!spawn [monster id] [level] [amount]`

`!give [item id] [amount]`

`!drop [item id] [amount]`

`!killall`

`!godmode` - Prevents you from taking damage

`!resetconst` - Resets the constellation level on your current active character, will need to relog after using the command to see any changes.

`!sethp [hp]`

`!clearartifacts` - Deletes all unequipped and unlocked level 0 artifacts, **including yellow rarity ones** from your inventory
lunaticwhat's avatar
lunaticwhat committed
56

lunaticwhat's avatar
lunaticwhat committed
57
### Quick Troubleshooting
lunaticwhat's avatar
lunaticwhat committed
58
59
* If compiling wasnt successful, please check your JDK installation (must be JDK 8 and JDK's bin PATH variable is correct)
* My client doesn't connect, doesn't login, 4206, etc... - Mostly your fiddler is the issue, make sure it running on another port except 8888
memetrollsXD's avatar
memetrollsXD committed
60
* Startup sequence: Mongodb > The server > Fiddler > Client
破晓's avatar
破晓 committed
61
* If `4206` error constantly prompt up, try to use [jdk-8u202-b08](https://mirrors.huaweicloud.com/java/jdk/8u202-b08/) instead of other versions of JDK