diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index c45d644..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitea/workflows/updateR2.yaml b/.gitea/workflows/updateR2.yaml index de95853..2dc7fad 100644 --- a/.gitea/workflows/updateR2.yaml +++ b/.gitea/workflows/updateR2.yaml @@ -2,49 +2,132 @@ name: Release Modpack on: push: - branches: - - main + tags: + - 'client' + - 'server' jobs: release: runs-on: ubuntu-latest steps: + # 创建版本号 - name: Generate version run: echo "VERSION=$(date +'%Y.%m.%d-%H%M%S')" >> $GITHUB_ENV + # 检出代码 - name: Checkout uses: actions/checkout@v4 + # 创建 modpack 档案 - name: Create modpack archive run: | - mkdir -p dist - zip -r dist/mcmtrdy-modpack.zip client/server-manifest.json client/overrides/ - mkdir -p dist/modpack - cp -r client/overrides dist/modpack/overrides - cp -r client/server-manifest.json dist/modpack/server-manifest.json + mkdir -p dist/client + zip -r dist/client/mcmtrdy-modpack.zip client/server-manifest.json client/overrides/ + mkdir -p dist/client/modpack + cp -r client/overrides dist/client/modpack/overrides + cp -r client/server-manifest.json dist/client/modpack/server-manifest.json + # 创建发布 - name: Create Release - uses: https://gitea.com/actions/gitea-release-action@v1 + if: github.ref_name == 'client' + uses: https://gitea.com/actions/gitea-release-action@v1 with: tag_name: ${{ env.VERSION }} name: Modpack ${{ env.VERSION }} - files: dist/mcmtrdy-modpack.zip + files: dist/client/mcmtrdy-modpack.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # 初始化并配置 Rclone - name: Setup Rclone + if: github.ref_name == 'client' run: | - curl -O https://downloads.rclone.org/rclone-current-linux-amd64.deb - sudo dpkg -i rclone-current-linux-amd64.deb + curl https://rclone.org/install.sh | sudo bash mkdir -p ~/.config/rclone echo "${{ secrets.RCLONE_CONFIG }}" | base64 -d > ~/.config/rclone/rclone.conf + # # 上传 modpack 档案 - name: Upload Modpack + if: github.ref_name == 'client' run: | - rclone copyto dist/mcmtrdy-modpack.zip mcmtrdy:mcmtrdy/mcmtrdy.zip - rclone sync ./dist/modpack mcmtrdy:mcmtrdy/modpack + rclone copyto dist/client/mcmtrdy-modpack.zip mcmtrdy:mcmtrdy/mcmtrdy.zip + rclone sync ./dist/client/modpack mcmtrdy:mcmtrdy/modpack + # 清除配置 - name: Clear config + if: github.ref_name == 'client' run: | rm -rf ~/.config/rclone/rclone.conf + # 创建服务器mod + - name: Create Server Mod + if: github.ref_name == 'server' + run: | + mkdir -p dist/server + + # 读取黑名单 + blacklist=$(jq -r '.[]' server/blacklist.json) + + # 遍历客户端 mods,跳过黑名单中的 mod + for mod in client/overrides/mods/*.jar; do + filename=$(basename "$mod") + skip=false + for pattern in $blacklist; do + if echo "$filename" | grep -qi "$pattern"; then + echo "跳过: $filename (匹配黑名单: $pattern)" + skip=true + break + fi + done + if [ "$skip" = false ]; then + echo "复制: $filename" + cp "$mod" dist/server/ + fi + done + + # 复制 server/addmod 中的额外 mod + echo "复制 server/addmod 中的 mod..." + cp server/addmod/*.jar dist/server/ 2>/dev/null || echo "server/addmod 中无 jar 文件" + + echo "dist/server 内容:" + ls -la dist/server/ + + # 同步 mods 到远程服务器 + - name: Sync Server Mods + run: | + sudo apt update -y + sudo apt install -y sshpass rsync + sshpass -p "${{ secrets.SSH_PASSWORD }}" ssh -o StrictHostKeyChecking=no \ + ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} + sshpass -p "${{ secrets.SSH_PASSWORD }}" rsync -avz --delete \ + -e "ssh -o StrictHostKeyChecking=no" \ + dist/server/ \ + ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.SSH_TARGET_DIR }}/ + echo "服务器 mods 同步完成" + + # 安装 mcrcon 并发送 RCON 指令 + - name: RCON Broadcast + if: github.ref_name == 'server' + run: | + # 安装 mcrcon + sudo apt update -y + sudo apt install -y git build-essential + git clone https://github.com/Tiiffi/mcrcon.git /tmp/mcrcon + cd /tmp/mcrcon + make + sudo cp mcrcon /usr/local/bin/ + + # 发送重启广播 + mcrcon -H ${{ secrets.RCON_HOST }} \ + -P ${{ secrets.RCON_PORT }} \ + -p "${{ secrets.RCON_PASSWORD }}" \ + "say §6服务器将在10秒后重启以更新模组,请注意!" + + # 等待一段时间 + sleep 10 + + mcrcon -H ${{ secrets.RCON_HOST }} \ + -P ${{ secrets.RCON_PORT }} \ + -p "${{ secrets.RCON_PASSWORD }}" \ + "stop" + diff --git a/.gitignore b/.gitignore index e43b0f9..6f7fd8c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .DS_Store +client_mods.txt +server_mods.txt diff --git a/client/overrides/mods/DistantHorizons-3.0.3-b-1.21.1-fabric-neoforge.jar b/client/overrides/mods/DistantHorizons-3.0.3-b-1.21.1-fabric-neoforge.jar.disabled similarity index 100% rename from client/overrides/mods/DistantHorizons-3.0.3-b-1.21.1-fabric-neoforge.jar rename to client/overrides/mods/DistantHorizons-3.0.3-b-1.21.1-fabric-neoforge.jar.disabled diff --git a/client/overrides/mods/c2me-neoforge-mc1.21.1-0.4.0-alpha.0.113.jar b/client/overrides/mods/c2me-neoforge-mc1.21.1-0.4.0-alpha.0.113.jar new file mode 100644 index 0000000..dd01bfe Binary files /dev/null and b/client/overrides/mods/c2me-neoforge-mc1.21.1-0.4.0-alpha.0.113.jar differ diff --git a/client/overrides/options.txt b/client/overrides/options.txt index 19fe716..4bfc82c 100644 --- a/client/overrides/options.txt +++ b/client/overrides/options.txt @@ -50,7 +50,7 @@ highContrast:false narratorHotkey:true resourcePacks:["vanilla","mod_resources","file/CozyUI+_v1"] incompatibleResourcePacks:[] -lastServer: +lastServer:192.168.121.90 lang:zh_cn chatVisibility:0 chatOpacity:1.0 diff --git a/client/overrides/servers.dat b/client/overrides/servers.dat index 5d81a33..49eeed0 100644 Binary files a/client/overrides/servers.dat and b/client/overrides/servers.dat differ diff --git a/client/server-manifest.json b/client/server-manifest.json index 3a96abd..e8dc657 100644 --- a/client/server-manifest.json +++ b/client/server-manifest.json @@ -1,18 +1,22 @@ { "name": "mcmtrdy", "author": "yiyi", - "version": "2.0", + "version": "2.1", "description": "", "fileApi": "https://mcmtrdy.codegang.top/files/modpack", "files": [ { "path": "servers.dat", - "hash": "46a57428203e9c32cf97ee48382cf7776fe459e3" + "hash": "e56d62f4ddb1962e2cc292ea4468b2b5c17a9c05" }, { "path": "mods/Jade-1.21.1-NeoForge-15.10.5.jar", "hash": "d5bf134b3dbde9f5258666823900e21341dc0a50" }, + { + "path": "mods/DistantHorizons-3.0.3-b-1.21.1-fabric-neoforge.jar.disabled", + "hash": "bc865b11c94581949384b6d5820b58aee8b7273c" + }, { "path": "mods/jei-1.21.1-neoforge-19.27.0.340.jar", "hash": "27d0d85e7e32e926fc3664ab6815df5cdabb7941" @@ -61,10 +65,6 @@ "path": "mods/libIPN-neoforge-1.21.1-6.6.3.jar", "hash": "baab9e8cae3d2b77b5e172b5694e465ee9f30d4a" }, - { - "path": "mods/DistantHorizons-3.0.3-b-1.21.1-fabric-neoforge.jar", - "hash": "bc865b11c94581949384b6d5820b58aee8b7273c" - }, { "path": "mods/FarmersDelight-1.21.1-1.3.2.jar", "hash": "bf7e7dede99e832de20e191b1f6c11f7a9b9a622" @@ -89,6 +89,10 @@ "path": "mods/railways-0.2.0+neoforge-mc1.21.1.jar", "hash": "9d52eef0772b81de397271b98c0201a59733f9c6" }, + { + "path": "mods/c2me-neoforge-mc1.21.1-0.4.0-alpha.0.113.jar", + "hash": "c67787433cfe46ca988823df9a1372fb0553cfbe" + }, { "path": "mods/createrailwaysnavigator-neoforge-1.21.1-alpha-0.9.0-C6+2.jar", "hash": "50cafde2da86ee5d881c1fb87f4ff2e1fdb9aa11" @@ -5299,7 +5303,7 @@ }, { "path": "options.txt", - "hash": "551c816d6c39fffe09018022990cf3f15a6e3b07" + "hash": "5c10498d360a5e8045e80c9cbac573b113de7957" } ], "addons": [ diff --git a/server/addmod/[only-server]bluemap-5.7-neoforge.jar b/server/addmod/[only-server]bluemap-5.7-neoforge.jar new file mode 100644 index 0000000..1b45998 Binary files /dev/null and b/server/addmod/[only-server]bluemap-5.7-neoforge.jar differ diff --git a/server/addmod/[only-server]disconnect-packet-fix-neoforge-2.0.1.jar b/server/addmod/[only-server]disconnect-packet-fix-neoforge-2.0.1.jar new file mode 100644 index 0000000..dd208db Binary files /dev/null and b/server/addmod/[only-server]disconnect-packet-fix-neoforge-2.0.1.jar differ diff --git a/server/addmod/[only-server]lithostitched-1.7.2-neoforge-21.1.jar b/server/addmod/[only-server]lithostitched-1.7.2-neoforge-21.1.jar new file mode 100644 index 0000000..ca37f71 Binary files /dev/null and b/server/addmod/[only-server]lithostitched-1.7.2-neoforge-21.1.jar differ diff --git a/server/addmod/[only-server]tectonic-3.0.22-neoforge-21.1.jar b/server/addmod/[only-server]tectonic-3.0.22-neoforge-21.1.jar new file mode 100644 index 0000000..dcde0f2 Binary files /dev/null and b/server/addmod/[only-server]tectonic-3.0.22-neoforge-21.1.jar differ diff --git a/server/addmod/create_copper_and_zinc-2.0.0-neoforge-1.21.1.jar b/server/addmod/create_copper_and_zinc-2.0.0-neoforge-1.21.1.jar new file mode 100644 index 0000000..4d166a2 Binary files /dev/null and b/server/addmod/create_copper_and_zinc-2.0.0-neoforge-1.21.1.jar differ diff --git a/server/addmod/multiyggdrasil-1.20.6-neoforge-1.1.0.jar b/server/addmod/multiyggdrasil-1.20.6-neoforge-1.1.0.jar new file mode 100644 index 0000000..b0acc1c Binary files /dev/null and b/server/addmod/multiyggdrasil-1.20.6-neoforge-1.1.0.jar differ diff --git a/server/blacklist.json b/server/blacklist.json new file mode 100644 index 0000000..5fc3db8 --- /dev/null +++ b/server/blacklist.json @@ -0,0 +1,13 @@ +[ + "InventoryProfilesNext", + "Jade", + "iris", + "kotlinforforge", + "libIPN", + "open-parties-and-claims", + "reeses-sodium-options", + "sodium-extra", + "sodium", + "xaerominimap", + "xaeroworldmap" +]