diff --git a/.gitea/workflows/updateR2.yaml b/.gitea/workflows/updateR2.yaml index cfc60f3..386b40b 100644 --- a/.gitea/workflows/updateR2.yaml +++ b/.gitea/workflows/updateR2.yaml @@ -9,41 +9,89 @@ 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 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 run: | 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 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 run: | rm -rf ~/.config/rclone/rclone.conf + # 创建服务器mod + - name: Create Server Mod + 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: Upload Server Mods + run: | + sudo apt-get install -y sshpass + sshpass -p "${{ secrets.SSH_PASSWORD }}" scp -o StrictHostKeyChecking=no \ + dist/server/* \ + ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.SSH_TARGET_DIR }}/ + echo "服务器 mods 上传完成" + 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/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/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" +]