From eeaccf32c4f4cfe33bb7642b3e2f6c5b1e491d91 Mon Sep 17 00:00:00 2001
From: Gaobaiawa <123546075+Gaobaiawa@users.noreply.github.com>
Date: Sun, 17 Mar 2024 13:14:10 +0800
Subject: [PATCH 1/9] add some client download link and fix readme (#2475)
* Update README.md
* Update README_zh-CN.md
* Update README_hn-IN.md
---
README.md | 6 ++++--
docs/README_hn-IN.md | 4 ++--
docs/README_zh-CN.md | 4 +++-
3 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index aeef1801bc1..4e522474eb4 100644
--- a/README.md
+++ b/README.md
@@ -24,9 +24,11 @@
### Quick Start (automatic)
-- Get Java 17: https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
+- Get [Java 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
- Get [MongoDB Community Server](https://www.mongodb.com/try/download/community)
-- Get game version REL4.0.x (4.0.x client can be found here if you don't have it): https://github.com/JRSKelvin/GenshinRepository/blob/main/Version%204.0.0.md
+- Get game version REL4.0.x (If you don't have a 4.0.x client, you can find it here and open any of the links to download it):
+[4.0.x Client-github](https://github.com/JRSKelvin/GenshinRepository/blob/main/Version%204.0.0.md)
+[4.0.x Client-cloud drive](https://www.123pan.com/s/HoqUVv-U7SBA.html)
- Download the [latest Cultivation version](https://github.com/Grasscutters/Cultivation/releases/latest). Use the `.msi` installer.
- After opening Cultivation (as admin), press the download button in the upper right corner.
diff --git a/docs/README_hn-IN.md b/docs/README_hn-IN.md
index 0d33308b914..62e623bd378 100644
--- a/docs/README_hn-IN.md
+++ b/docs/README_hn-IN.md
@@ -3,7 +3,7 @@

-[EN](README.md) | [简中](docs/README_zh-CN.md) | [繁中](docs/README_zh-TW.md) | [FR](docs/README_fr-FR.md) | [ES](README_es-ES.md) | [HE](README_HE.md) | [RU](README_ru-RU.md) | [PL](README_pl-PL.md) | [ID](README_id-ID.md) | [KR](README_ko-KR.md) | [FIL/PH](README_fil-PH.md) | [NL](README_NL.md) | [JP](README_ja-JP.md) | [IT](README_it-IT.md) | [VI](README_vi-VN.md) | [हिंदी](README_hn-IN.md)
+[EN](../README.md) | [简中](README_zh-CN.md) | [繁中](README_zh-TW.md) | [FR](README_fr-FR.md) | [ES](README_es-ES.md) | [HE](README_HE.md) | [RU](README_ru-RU.md) | [PL](README_pl-PL.md) | [ID](README_id-ID.md) | [KR](README_ko-KR.md) | [FIL/PH](README_fil-PH.md) | [NL](README_NL.md) | [JP](README_ja-JP.md) | [IT](README_it-IT.md) | [VI](README_vi-VN.md) | [हिंदी](README_hn-IN.md)
**ध्यान:** हम हमेशा परियोजना में योगदानकर्ताओं का स्वागत करते हैं।. अपना योगदान जोड़ने से पहले कृपया हमारा ध्यानपूर्वक पढ़ें [आचार संहिता](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md).
@@ -75,4 +75,4 @@ chmod +x gradlew
### समस्या निवारण
-सामान्य मुद्दों और समाधानों की सूची और सहायता मांगने के लिए कृपया शामिल हों [our Discord server](https://discord.gg/T5vZU6UyeG) और सपोर्ट चैनल पर जाएं.
\ No newline at end of file
+सामान्य मुद्दों और समाधानों की सूची और सहायता मांगने के लिए कृपया शामिल हों [our Discord server](https://discord.gg/T5vZU6UyeG) और सपोर्ट चैनल पर जाएं.
diff --git a/docs/README_zh-CN.md b/docs/README_zh-CN.md
index 8927f05feaf..4ab46c517c2 100644
--- a/docs/README_zh-CN.md
+++ b/docs/README_zh-CN.md
@@ -26,7 +26,9 @@
- 获取Java 17:https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
- 获取[MongoDB社区版](https://www.mongodb.com/try/download/community)
-- 获取游戏4.0正式版 (如果你没有4.0的客户端,可以在这里找到):https://github.com/MAnggiarMustofa/GI-Download-Library/blob/main/GenshinImpact/Client/4.0.0.md)
+- 获取游戏4.0正式版 (如果你没有4.0的客户端,可以在这里找到):
+[123pan share](https://www.123pan.com/s/HoqUVv-U7SBA.html)
+[github](https://github.com/JRSKelvin/GenshinRepository/blob/main/Version%204.0.0.md)
- 下载[最新的Cultivation版本](https://github.com/Grasscutters/Cultivation/releases/latest)(使用以“.msi”为后缀的安装包)。
- 以管理员身份打开Cultivation,按右上角的下载按钮。
From f871f261e1e48ac32f44a5604125e2111c2a8f08 Mon Sep 17 00:00:00 2001
From: Jordan Jones
Date: Sat, 16 Mar 2024 22:57:39 -0700
Subject: [PATCH 2/9] Add Docker Support (#2486)
* chore(docker): add build workflow
* chore(docker): update gradle image
* chore(docker): this really shouldnt be running on raspberry pi's right now.
* chore(docker): not sure why we need unzip here
* chore(docker): attempt to add nodejs to allow the handbook to build
* chore(docker): whoops, needs to be done during build
* chore(docker): i dont know if this is going to work
* chore(docker): replace my username with repo org as I am no longer testing this
* chore(docker): version will change in the future, so fix it now.
---
.github/workflows/build-container.yml | 51 +++++++++++++++++++++++++++
.gitignore | 1 +
Dockerfile | 38 ++++++++++++++++++++
entrypoint.sh | 3 ++
4 files changed, 93 insertions(+)
create mode 100644 .github/workflows/build-container.yml
create mode 100644 Dockerfile
create mode 100644 entrypoint.sh
diff --git a/.github/workflows/build-container.yml b/.github/workflows/build-container.yml
new file mode 100644
index 00000000000..190ac1d1e74
--- /dev/null
+++ b/.github/workflows/build-container.yml
@@ -0,0 +1,51 @@
+---
+name: Build Docker Container
+on:
+ push:
+ release:
+ types: [published]
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ packages: write
+
+ steps:
+ - name: Checkout Project
+ uses: actions/checkout@v4
+
+ - name: Generate Docker Meta
+ uses: docker/metadata-action@v5
+ id: meta
+ with:
+ images: ghcr.io/${{ github.repository_owner }}
+ tags: |
+ type=ref,event=branch
+ type=semver,pattern={{version}}
+ type=semver,pattern={{major}}.{{minor}}
+ type=semver,pattern={{major}}
+ type=sha
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+
+ - name: Setup Docker Buildx
+ uses: docker/setup-buildx-action@v3.1.0
+
+ - name: Login to GitHub Container Registry
+ uses: docker/login-action@v3.0.0
+ with:
+ registry: ghcr.io
+ username: ${{ github.repository_owner }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Build and Push Docker image
+ uses: docker/build-push-action@v5.2.0
+ with:
+ context: .
+ push: true
+ platforms: linux/amd64
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
diff --git a/.gitignore b/.gitignore
index 33047ac1d01..0ee3fb69f24 100644
--- a/.gitignore
+++ b/.gitignore
@@ -64,6 +64,7 @@ tmp/
/*.jar
/*.sh
+!entrypoint.sh
GM Handbook*.txt
handbook.html
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000000..6c4dbd67783
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,38 @@
+# Builder
+FROM gradle:jdk17-alpine as builder
+
+RUN apk add --update nodejs npm
+
+WORKDIR /app
+COPY ./ /app/
+
+RUN gradle jar --no-daemon
+
+# Fetch Data
+FROM bitnami/git:2.43.0-debian-11-r1 as data
+
+ARG DATA_REPOSITORY=https://gitlab.com/YuukiPS/GC-Resources.git
+ARG DATA_BRANCH=4.0
+
+WORKDIR /app
+
+RUN git clone --branch ${DATA_BRANCH} --depth 1 ${DATA_REPOSITORY}
+
+# Result Container
+FROM amazoncorretto:17-alpine
+
+WORKDIR /app
+
+# Copy built assets
+COPY --from=builder /app/grasscutter-*.jar /app/grasscutter.jar
+COPY --from=builder /app/keystore.p12 /app/keystore.p12
+
+# Copy the resources
+COPY --from=data /app/GC-Resources/Resources /app/resources/
+
+# Copy startup files
+COPY ./entrypoint.sh /app/
+
+CMD [ "sh", "/app/entrypoint.sh" ]
+
+EXPOSE 80 443 8888 22102
diff --git a/entrypoint.sh b/entrypoint.sh
new file mode 100644
index 00000000000..41bfceffad3
--- /dev/null
+++ b/entrypoint.sh
@@ -0,0 +1,3 @@
+#/bin/sh
+
+java -jar /app/grasscutter.jar
From f1f5b54939103c1f7d89c0028e7fcd82599e4a23 Mon Sep 17 00:00:00 2001
From: Magix <27646710+KingRainbow44@users.noreply.github.com>
Date: Sat, 16 Mar 2024 23:09:40 -0700
Subject: [PATCH 3/9] (fix:docker) Fix uploading to container registry
---
.../workflows/{build-container.yml => build_container.yml} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename .github/workflows/{build-container.yml => build_container.yml} (94%)
diff --git a/.github/workflows/build-container.yml b/.github/workflows/build_container.yml
similarity index 94%
rename from .github/workflows/build-container.yml
rename to .github/workflows/build_container.yml
index 190ac1d1e74..410649616e1 100644
--- a/.github/workflows/build-container.yml
+++ b/.github/workflows/build_container.yml
@@ -1,9 +1,9 @@
----
name: Build Docker Container
on:
push:
release:
types: [published]
+ workflow_dispatch: ~
jobs:
publish:
@@ -20,7 +20,7 @@ jobs:
uses: docker/metadata-action@v5
id: meta
with:
- images: ghcr.io/${{ github.repository_owner }}
+ images: ghcr.io/${{ github.repository }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
From 402226788889fc36da8e9d2d0b856885ea268710 Mon Sep 17 00:00:00 2001
From: KittenPixel <79544605+KittenPixel-cell@users.noreply.github.com>
Date: Mon, 13 May 2024 18:58:46 -0700
Subject: [PATCH 4/9] Configuration Update - Shown Email (#2509)
* This version will allow the private server owner to show a different email then "@grasscutter.io" if they want.
* Update src/main/java/emu/grasscutter/config/ConfigContainer.java
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
* Update src/main/java/emu/grasscutter/game/Account.java
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
* Update src/main/java/emu/grasscutter/game/Account.java
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
---------
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
---
src/main/java/emu/grasscutter/config/ConfigContainer.java | 1 +
src/main/java/emu/grasscutter/game/Account.java | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/emu/grasscutter/config/ConfigContainer.java b/src/main/java/emu/grasscutter/config/ConfigContainer.java
index fd264e26bb8..2b6d20978c5 100644
--- a/src/main/java/emu/grasscutter/config/ConfigContainer.java
+++ b/src/main/java/emu/grasscutter/config/ConfigContainer.java
@@ -140,6 +140,7 @@ public static class Account {
public boolean autoCreate = false;
public boolean EXPERIMENTAL_RealPassword = false;
public String[] defaultPermissions = {};
+ public String playerEmail = "grasscutter.io";
public int maxPlayer = -1;
}
diff --git a/src/main/java/emu/grasscutter/game/Account.java b/src/main/java/emu/grasscutter/game/Account.java
index da1193b9856..c796b998183 100644
--- a/src/main/java/emu/grasscutter/game/Account.java
+++ b/src/main/java/emu/grasscutter/game/Account.java
@@ -109,7 +109,7 @@ public String getEmail() {
return email;
} else {
// As of game version 3.5+, only the email is displayed to a user.
- return this.getUsername() + "@grasscutter.io";
+ return this.getUsername() + "@" + ACCOUNT.playerEmail;
}
}
@@ -235,7 +235,7 @@ public void onLoad(Document document) {
this.addPermission("*");
}
- // Set account default language as server default language
+ // Set account default language to server default language
if (!document.containsKey("locale")) {
this.locale = LANGUAGE;
}
From 76fd5b2e9c4823531652f5d0611605c7f64035c7 Mon Sep 17 00:00:00 2001
From: Ign1s_Reiga <64723970+Ign1s-Reiga@users.noreply.github.com>
Date: Thu, 6 Jun 2024 10:14:11 +0900
Subject: [PATCH 5/9] Update README_ja-JP.md (#2516)
---
docs/README_ja-JP.md | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/docs/README_ja-JP.md b/docs/README_ja-JP.md
index 00fbac70c90..166e535d1d0 100644
--- a/docs/README_ja-JP.md
+++ b/docs/README_ja-JP.md
@@ -3,7 +3,7 @@

-[EN](README.md) | [简中](docs/README_zh-CN.md) | [繁中](docs/README_zh-TW.md) | [FR](docs/README_fr-FR.md) | [ES](docs/README_es-ES.md) | [HE](docs/README_HE.md) | [RU](docs/README_ru-RU.md) | [PL](docs/README_pl-PL.md) | [ID](docs/README_id-ID.md) | [KR](docs/README_ko-KR.md) | [FIL/PH](docs/README_fil-PH.md) | [NL](docs/README_NL.md) | [JP](docs/README_ja-JP.md) | [IT](docs/README_it-IT.md) | [VI](docs/README_vi-VN.md)
+[EN](../README.md) | [简中](README_zh-CN.md) | [繁中](README_zh-TW.md) | [FR](README_fr-FR.md) | [ES](README_es-ES.md) | [HE](README_HE.md) | [RU](README_ru-RU.md) | [PL](README_pl-PL.md) | [ID](README_id-ID.md) | [KR](README_ko-KR.md) | [FIL/PH](README_fil-PH.md) | [NL](README_NL.md) | [JP](README_ja-JP.md) | [IT](README_it-IT.md) | [VI](README_vi-VN.md) | [HI](README_hn-IN.md)
**Attention:** 私たちはプロジェクトへのコントリビュータをいつでも歓迎します。コントリビュートする前に、私たちの [行動規範](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md)をよくお読みください。
@@ -27,7 +27,7 @@
- [Java (バージョン17以降)](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) を用意する
- [MongoDB Community Server](https://www.mongodb.com/try/download/community) を用意する
-- ゲームバージョンがREL4.0.Xのものを用意する (4.0.Xのクライアントを持っていない場合は右のリンクからダウンロード): https://github.com/MAnggiarMustofa/GI-Download-Library/blob/main/GenshinImpact/Client/4.0.0.md
+- ゲームバージョンがREL4.0.Xのクライアントを用意する (4.0.Xのクライアントを持っていない場合は右のリンクからダウンロード): [Github](https://github.com/JRSKelvin/GenshinRepository/blob/main/Version%204.0.0.md), [クラウド(123云盘)](https://www.123pan.com/s/HoqUVv-U7SBA.html)
- [最新の Cultivation](https://github.com/Grasscutters/Cultivation/releases/latest)をダウンロードする。`.msi`インストーラを使ってください。
- 管理者権限を付与して Cultivation を実行した後、右上端にあるダウンロードアイコンのボタンを押す。
- `Download All-in-One` をクリックする
@@ -35,10 +35,9 @@
- `Game Install Path` にゲームファイルのパスを指定する。
- `Custom Java Path` に、自分が用意したJavaのパスを指定する。 (例: `C:\Program Files\Java\jdk-17\bin\java.exe`)
- その他の設定には手を付けず次の段階に進む。
-
- Launch の隣にある小さいボタンを押す。
- Launchボタンを押す
-- 好きなユーザ名でログインする。パスワードは特段気にすることはない。
+- 好きなユーザ名でログインする。ログインに関する設定がデフォルトの場合、パスワードは何を入れてもいい。
### ビルド
@@ -79,7 +78,22 @@ chmod +x gradlew
./gradlew jar # コンパイル
```
-生成されたjarファイルはプロジェクトフォルダのルートにあります。
+##### 手動によるハンドブックの生成
+
+Gradleを使用する場合:
+```shell
+./gradlew generateHandbook
+```
+
+NPMを使用する場合:
+```shell
+cd src/handbook
+npm install
+npm run build
+```
+
+
+生成されたjarファイルはプロジェクトのルートフォルダにあります。
### トラブルシューティング
From d34075861462f34d3206511b63579978cca0d2c9 Mon Sep 17 00:00:00 2001
From: jie65535
Date: Tue, 19 Nov 2024 12:05:24 +0800
Subject: [PATCH 6/9] Fix cannot stop in dispatch-only mode (#2534)
---
.../java/emu/grasscutter/command/commands/StopCommand.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/main/java/emu/grasscutter/command/commands/StopCommand.java b/src/main/java/emu/grasscutter/command/commands/StopCommand.java
index a5f9584bb54..47f31b6afa2 100644
--- a/src/main/java/emu/grasscutter/command/commands/StopCommand.java
+++ b/src/main/java/emu/grasscutter/command/commands/StopCommand.java
@@ -17,8 +17,10 @@ public final class StopCommand implements CommandHandler {
@Override
public void execute(Player sender, Player targetPlayer, List args) {
CommandHandler.sendMessage(null, translate("commands.stop.success"));
- for (Player p : Grasscutter.getGameServer().getPlayers().values()) {
- CommandHandler.sendMessage(p, translate(p, "commands.stop.success"));
+ if (Grasscutter.getGameServer() != null) {
+ for (Player p : Grasscutter.getGameServer().getPlayers().values()) {
+ CommandHandler.sendMessage(p, translate(p, "commands.stop.success"));
+ }
}
System.exit(1000);
From 9c36daa3fa8be5f9ec26fbb2b36f3e1dceff977d Mon Sep 17 00:00:00 2001
From: Emmanuel Ferdman
Date: Sat, 23 Nov 2024 19:26:50 +0200
Subject: [PATCH 7/9] Update code of conduct reference (#2535)
Signed-off-by: Emmanuel Ferdman
---
docs/README_NL.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/README_NL.md b/docs/README_NL.md
index e746f4acce1..f49c1c89e93 100644
--- a/docs/README_NL.md
+++ b/docs/README_NL.md
@@ -5,7 +5,7 @@
[EN](../README.md) | [简中](README_zh-CN.md) | [繁中](README_zh-TW.md) | [FR](README_fr-FR.md) | [ES](README_es-ES.md) | [HE](README_HE.md) | [RU](README_ru-RU.md) | [PL](README_pl-PL.md) | [ID](README_id-ID.md) | [KR](README_ko-KR.md) | [FIL/PH](README_fil-PH.md) | [NL](README_NL.md) | [JP](README_ja-JP.md) | [IT](README_it-IT.md) | [VI](README_vi-VN.md) | [हिंदी](README_hn-IN.md)
-**Aantekening:** We verwelkomen altijd bijdragers aan het project. Lees onze [Gedragscode](https://github.com/Grasscutters/Grasscutter/blob/development/README_NL.md#bijdragen-aan-het-project) zorgvuldig door voordat u uw bijdrage toevoegt.
+**Aantekening:** We verwelkomen altijd bijdragers aan het project. Lees onze [Gedragscode](https://github.com/Grasscutters/Grasscutter/blob/stable/CONTRIBUTING.md) zorgvuldig door voordat u uw bijdrage toevoegt.
## Huidige functies
From 74b8de36d315c0532dec46e0a4fceb4290e12530 Mon Sep 17 00:00:00 2001
From: baejeongwan <108386744+baejeongwan@users.noreply.github.com>
Date: Sun, 27 Apr 2025 10:49:12 +0900
Subject: [PATCH 8/9] Updated korean readme to match with latest changes on
main english readme. (#2548)
---
docs/README_ko-KR.md | 114 +++++++++++++++++++------------------------
1 file changed, 49 insertions(+), 65 deletions(-)
diff --git a/docs/README_ko-KR.md b/docs/README_ko-KR.md
index af9cc20dad7..40bfc8f23c2 100644
--- a/docs/README_ko-KR.md
+++ b/docs/README_ko-KR.md
@@ -22,52 +22,25 @@
**각주 :** 도움이 필요할 경우 [Discord](https://discord.gg/T5vZU6UyeG)에 가입하세요.
-### 설치에 필요한 것들
-
-* Java SE - 17 ([링크](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html))
-
- **각주 :** **실행**만을 원한다면, **jre**만 있어도 괜찮습니다.
-
-* [MongoDB](https://www.mongodb.com/try/download/community) (4.0 이상의 버전 추천)
-
-* 프록시 데몬 : mitmproxy (mitmdump 추천), Fiddler Classic 등.
-
-### 실행
-
-**각주 :** 구버전에서 업데이트 했을 경우, `config.json` 파일을 재생성하기 위해 파일을 삭제하세요.
-
-1. `grasscutter.jar` 얻기
- - [Actions](https://github.com/Grasscutters/Grasscutter/suites/6895963598/artifacts/267483297) 탭에서 다운로드
- - [직접 빌드하기](#빌드하기)
-2. grasscutter.jar 파일이 위치한 폴더에 `resources` 폴더를 생성하고, `BinOutput` 과 `ExcelBinOutput` 폴더를 생성한 폴더 내로 옮기세요. *(이 파일들을 얻는 더 자세한 방법에 대해서는 [위키](https://github.com/Grasscutters/Grasscutter/wiki)를 참조하세요.)*
-3. Grasscutter를 `java -jar grasscutter.jar` 명령어로 실행합니다. **MongoDB 서비스가 정상적으로 실행되고 있는지 확인하세요.**
-
-### 클라이언트와의 연결
-
-½. [서버 콘솔 명령어](https://github.com/Grasscutters/Grasscutter/wiki/Commands#targeting)를 이용해서 계정을 생성합니다.
-
-1. 리다이렉트 트래픽 : (1가지 선택)
- - mitmdump: `mitmdump -s proxy.py -k`
-
- 신뢰하는 인증 기관 인증서 (CA Cert) :
-
- **각주 :** CA 인증서는 보통 `%USERPROFILE%\ .mitmproxy` 경로에 저장되며, `http://mitm.it`에서 다운로드 받을 수도 있습니다.
-
- 더블 클릭하여 [설치](https://docs.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate#installing-a-trusted-root-certificate) 또는 ...
-
- - 명령어를 통해서
-
- ```shell
- certutil -addstore root %USERPROFILE%\.mitmproxy\mitmproxy-ca-cert.cer
- ```
-
- - Fiddler Classic : Fiddler Classic을 실행한 후, Setting에서 `Decrypt https traffic` 옵션을 켜고, Tools -> Options -> Connections에 있는 기본 포트를 `8888`을 제외한 다른 포트로 지정합니다. 그리고 [이 스크립트](https://github.lunatic.moe/fiddlerscript)를 불러옵니다.
-
- - [호스트 파일](https://github.com/Grasscutters/Grasscutter/wiki/Running#traffic-route-map)
-
-2. 네트워크 프록시를 `127.0.0.1:8080` 로 설정하거나 지정한 프록시 포트로 설정합니다.
-
-**또한 `start.cmd`를 실행함으로써, 서버와 프록시 데몬을 자동으로 실행되게 할 수 있습니다. 이를 이용하기 위해서는 JAVA_HOME 환경 변수를 등록해야 합니다.**
+### 빠른 설치 (자동)
+
+- [Java 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) 설치
+- [MongoDB Community Server](https://www.mongodb.com/try/download/community) 설치
+- 게임 버전 REL4.0.x 다운로드 (만약 4.0.x 클라이언트를 가지고 있지 않다면, 여기서 찾을 수 있습니다.):
+[4.0.x 클라이언트 - GitHub](https://github.com/JRSKelvin/GenshinRepository/blob/main/Version%204.0.0.md)
+[4.0.x 클라이언트 - 구글 드라이브브](https://www.123pan.com/s/HoqUVv-U7SBA.html)
+
+- [최신 Cultivation](https://github.com/Grasscutters/Cultivation/releases/latest) 다운로드하세요. `.msi` 설치파일을 사용하면 됩니다.
+- (관리자 권한으로) Cultivation을 실행한 후, 우측 상단에 위치한 다운로드 버튼을 클릭하세요.
+- `올인원 다운로드`를 클릭하세요.
+- 우측 상단에 위치한 톱니바퀴 버튼을 누르세요.
+- 게임 설치 경로를 게임이 위치한 경로로 설정하세요.
+- 사용자 지정 Java 경로 설정을 `C:\Program Files\Java\jdk-17\bin\java.exe`로 설정하세요.
+- 다른 모든 설정은 기본값으로 두세요.
+
+- 게임 시작 버튼 옆에 위치한 작은 버튼을 누르세요.
+- 게임 시작 버튼을 누르세요.
+- 원하는 사용자 이름으로 로그인하세요. 비밀번호는 무엇이든 가능합니다.
### 빌드하기
@@ -77,39 +50,50 @@ Grasscutter는 종속성 및 컴파일 처리를 위해 Gradle을 이용합니
- [Java SE 개발 키트 - 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
- [Git](https://git-scm.com/downloads)
+- [NodeJS](https://nodejs.org/en/download) (선택, 핸드북을 빌드하기 위해 필요함.)
-##### 윈도우 (온라인)
-
+##### 클론
```shell
-git clone https://github.com/Grasscutters/Grasscutter.git
+git clone --recurse-submodules https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
-.\gradlew.bat # 개발 환경 설정
-.\gradlew jar # 컴파일
```
-##### 윈도우 (로컬)
+##### 컴파일
+
+**각주**: 핸드북 생성은 일부 시스템에서 실패할 수도 있습니다. 핸드북 생성을 비활성화하려면, `gradlew jar`명령에 `-PskipHandbook=1`명령줄 스위치를 추가하세요.
+
+
+윈도우:
```shell
-cd <로컬 주소>/Grasscutter
-.\gradlew.bat # 개발 환경 설정
-.\gradlew jar # 컴파일
+.\gradlew.bat # 환경 준비
+.\gradlew jar
```
-##### 리눅스
+리눅스 (GNU):
```bash
-git clone https://github.com/Grasscutters/Grasscutter.git
-cd Grasscutter
chmod +x gradlew
-./gradlew jar # 컴파일
+./gradlew jar
```
-프로젝트 폴더의 최상단에서 jar 파일을 찾을 수 있습니다.
+##### 핸드북 컴파일 (수동동)
-### 명령어들은 [위키](https://github.com/Grasscutters/Grasscutter/wiki/Commands)에서 확인할 수 있습니다.
+Gradle 사용:
-# 빠른 문제 해결
+```shell
+./gradlew generateHandbook
+```
+
+NPM 사용:
+
+```shell
+cd src/handbook
+npm install
+npm run build
+```
+
+프로젝트 폴더의 최상단에서 jar 파일을 찾을 수 있습니다.
-* 만약 컴파일링이 정상적으로 완료되지 않을 경우, JDK 설치를 확인하세요. (JDK 버전 17 및 JDK의 bin 경로 변수 등록을 확인)
-* 클라이언트가 연결되지 않거나, 로그인이 안 되거나, 4206 오류가 뜨는 등의 경우 - 대부분 프록시 데몬의 설치에 문제가 있을 것입니다. Fiddler를 사용하고 있다면, 8888을 제외한 다른 포트에서 구동되고 있는지 확인하세요.
-* 구동 순서 : MongoDB > Grasscutter > 프록시 데몬 (mitmdump, fiddler 등) > 게임
+### 문제 해결
+흔한 문제들의 해결방법과 도움을 요청하려면, [우리의 디스코드 서버](https://discord.gg/T5vZU6UyeG)에 참가하고 support 채널에 가보세요.
\ No newline at end of file
From f373827a83d3e688fd3c6afb1e1c3759ca1d61c9 Mon Sep 17 00:00:00 2001
From: totallynotnochi <105096693+totallynotnochi@users.noreply.github.com>
Date: Sat, 26 Apr 2025 22:05:59 -0400
Subject: [PATCH 9/9] Update README.md for clarity (#2543)
* Update README.md for clarity
Readme is now theoretically the ONE THING you send to somebody in need of help.
Updated sections for more clarity on support with GC.
* Update README.md
grammar
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
---------
Co-authored-by: Magix <27646710+KingRainbow44@users.noreply.github.com>
---
README.md | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/README.md b/README.md
index 4e522474eb4..4867a493480 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,12 @@
* Spawning monsters via console
* Inventory features (receiving items/characters, upgrading items/characters, etc)
+## Foreward
+
+### **Grasscutter beyond the latest release will have no handholding in terms of instructions.**
+
+Grasscutter has not been actively maintained and currently (as of January 12th, 2025) only works up to version REL4.0.1 (introduction to Fontaine). If you have a beta version/unofficial version of Grasscutter, this guide should theoretically still work, however, we will not provide official support these versions. You can still try your luck in the Discord if you are stuck, but please don't act entitled.
+
## Quick setup guide
**Note**: For support please join our [Discord](https://discord.gg/T5vZU6UyeG).
@@ -29,6 +35,7 @@
- Get game version REL4.0.x (If you don't have a 4.0.x client, you can find it here and open any of the links to download it):
[4.0.x Client-github](https://github.com/JRSKelvin/GenshinRepository/blob/main/Version%204.0.0.md)
[4.0.x Client-cloud drive](https://www.123pan.com/s/HoqUVv-U7SBA.html)
+- ***UPDATE JAN 12, 2025: YOU CANNOT MIX AND MATCH GAME VERSIONS AND SERVER VERSIONS, PLEASE DOWNLOAD THE CORRECT VERSION OF GRASSCUTTER FOR YOUR VERSION OF THE GAME.***
- Download the [latest Cultivation version](https://github.com/Grasscutters/Cultivation/releases/latest). Use the `.msi` installer.
- After opening Cultivation (as admin), press the download button in the upper right corner.