diff --git a/.gitea/workflows/delopy.yml b/.gitea/workflows/delopy.yml index 80ba150..8854a2d 100644 --- a/.gitea/workflows/delopy.yml +++ b/.gitea/workflows/delopy.yml @@ -30,7 +30,6 @@ jobs: ls -la ./packet/packwiz else echo "⚠️ 未找到 packet/packwiz 文件" - # 列出 packet 目录内容,帮助调试 echo "packet 目录内容:" ls -la packet/ fi @@ -43,7 +42,6 @@ jobs: echo "找到 .project/globe.json 文件" cat .project/globe.json - # 使用 jq 解析 JSON 文件 VERSION=$(jq -r '.version // "0.0.0.0"' .project/globe.json) INITIALIZED=$(jq -r '.initialized // "false"' .project/globe.json) NAME=$(jq -r '.name // "MyPack"' .project/globe.json) @@ -62,7 +60,6 @@ jobs: echo "模组加载器版本: $MODLOADER_VERSION" echo "索引文件: $INDEX_FILE" - # 设置输出变量 echo "version=$VERSION" >> $GITHUB_OUTPUT echo "initialized=$INITIALIZED" >> $GITHUB_OUTPUT echo "name=$NAME" >> $GITHUB_OUTPUT @@ -72,7 +69,6 @@ jobs: echo "modloader-version=$MODLOADER_VERSION" >> $GITHUB_OUTPUT echo "index-file=$INDEX_FILE" >> $GITHUB_OUTPUT - # 根据配置决定是否使用保留文件 if [ "$INITIALIZED" = "true" ]; then echo "项目已初始化,将使用保留文件: $KEEP_FILES" echo "use_keep_files=true" >> $GITHUB_OUTPUT @@ -104,7 +100,6 @@ jobs: echo "当前版本: $CURRENT_VERSION" echo "新版本: $NEW_VERSION" - # 更新版本号 if [ "$CURRENT_VERSION" != "$NEW_VERSION" ]; then sed -i "s/version = \"$CURRENT_VERSION\"/version = \"$NEW_VERSION\"/" packet/pack.toml echo "✅ pack.toml 版本已更新为: $NEW_VERSION" @@ -112,7 +107,6 @@ jobs: echo "版本相同,无需更新" fi - # 显示更新后的文件内容 echo "=== 更新后的 pack.toml ===" cat packet/pack.toml else @@ -123,7 +117,6 @@ jobs: if: steps.project-config.outputs.initialized == 'true' run: | echo "=== 更新所有模组 ===" - # 进入 packet 目录执行命令 cd packet chmod +x ./packwiz ./packwiz update --all @@ -142,15 +135,12 @@ jobs: echo "模组加载器版本: ${{ steps.project-config.outputs.modloader-version }}" echo "索引文件: ${{ steps.project-config.outputs.index-file }}" - # 进入 packet 目录执行初始化 cd packet - # 给 packwiz 添加执行权限 echo "=== 设置 packwiz 执行权限 ===" chmod +x ./packwiz ls -la ./packwiz - # 执行 packwiz 初始化命令 ./packwiz init \ --name "${{ steps.project-config.outputs.name }}" \ --author "${{ steps.project-config.outputs.author }}" \ @@ -163,11 +153,9 @@ jobs: echo "✅ packwiz 初始化完成" - # 显示生成的 pack.toml echo "=== 生成的 pack.toml ===" cat pack.toml - # 返回上级目录 cd .. - name: Display repository files @@ -187,159 +175,160 @@ jobs: echo "packet 目录文件数: $(find packet/ -type f 2>/dev/null | wc -l || echo 0)" echo "packet 目录数: $(find packet/ -type d 2>/dev/null | wc -l || echo 0)" - - name: Setup SSH - run: | - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - cat > ~/.ssh/config << EOF - Host $REMOTE_HOST - HostName $REMOTE_HOST - User $REMOTE_USER - Port $SSH_PORT - StrictHostKeyChecking no - UserKnownHostsFile /dev/null - EOF - + # ========== 使用官方 SSH Action 替代手动写入私钥 ========== - name: Clean remote directory (conditionally) if: steps.project-config.outputs.use_keep_files == 'true' - run: | - ssh $REMOTE_HOST " - mkdir -p '$REMOTE_PATH' + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.REMOTE_HOST }} + username: ${{ env.REMOTE_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ env.SSH_PORT }} + script: | + mkdir -p '${{ env.REMOTE_PATH }}' echo '=== 清理目录(保留文件不会被删除)===' - echo '保留文件: $KEEP_FILES' - cd '$REMOTE_PATH' + echo '保留文件: ${{ env.KEEP_FILES }}' + cd '${{ env.REMOTE_PATH }}' - # 获取当前目录的所有文件和文件夹(除了隐藏文件和保留文件) find . -mindepth 1 -not -path '*/\.*' | while read item; do should_keep=false - for pattern in $KEEP_FILES; do - # 检查是否匹配保留模式 - if [[ \"\$item\" == *\"\$pattern\"* ]] || [[ \"\$item\" == \"\$pattern\" ]] || [[ \"\$pattern\" == *\"*\"* && \"\$item\" == \${pattern%%/*}* ]]; then + for pattern in ${{ env.KEEP_FILES }}; do + if [[ "$item" == *"$pattern"* ]] || [[ "$item" == "$pattern" ]] || [[ "$pattern" == *"*"* && "$item" == ${pattern%%/*}* ]]; then should_keep=true break fi done - if [ \"\$should_keep\" = \"false\" ]; then - echo \"删除: \$item\" - rm -rf \"\$item\" 2>/dev/null || true + if [ "$should_keep" = "false" ]; then + echo "删除: $item" + rm -rf "$item" 2>/dev/null || true else - echo \"保留: \$item\" + echo "保留: $item" fi done echo '目录清理完成' - " - name: Clean remote directory (full cleanup) if: steps.project-config.outputs.use_keep_files == 'false' - run: | - ssh $REMOTE_HOST " - mkdir -p '$REMOTE_PATH' + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.REMOTE_HOST }} + username: ${{ env.REMOTE_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ env.SSH_PORT }} + script: | + mkdir -p '${{ env.REMOTE_PATH }}' echo '=== 完全清理目录(无保留文件)===' - find '$REMOTE_PATH' -mindepth 1 -delete 2>/dev/null || true + find '${{ env.REMOTE_PATH }}' -mindepth 1 -delete 2>/dev/null || true echo '目录清理完成' - " - name: Deploy packet directory - run: | - echo "开始部署 packet 目录..." - echo "项目版本: ${{ steps.project-config.outputs.version }}" - echo "已初始化: ${{ steps.project-config.outputs.initialized }}" - - # 进入 packet 目录进行打包 - cd packet - - # 如果有保留文件,创建排除列表 - if [ "${{ steps.project-config.outputs.use_keep_files }}" = "true" ]; then - echo "使用保留文件: $KEEP_FILES" - echo "=== 创建排除列表 ===" + uses: appleboy/scp-action@v0.1.5 + with: + host: ${{ env.REMOTE_HOST }} + username: ${{ env.REMOTE_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ env.SSH_PORT }} + source: "packet/" + target: ${{ env.REMOTE_PATH }} + rm: false + strip_components: 1 + overwrite: true + + - name: Remove excluded files if keep_files is true + if: steps.project-config.outputs.use_keep_files == 'true' + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.REMOTE_HOST }} + username: ${{ env.REMOTE_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ env.SSH_PORT }} + script: | + cd '${{ env.REMOTE_PATH }}' + echo "=== 移除需要排除的文件 ===" - echo ".git" > exclude_list.txt - echo ".gitea" >> exclude_list.txt + # 排除 .git 和 .gitea + rm -rf .git .gitea 2>/dev/null || true - # 添加保留文件到排除列表 - for pattern in $KEEP_FILES; do + # 排除保留文件列表中的文件 + for pattern in ${{ env.KEEP_FILES }}; do if [[ "$pattern" == *"*"* ]]; then - # 对于通配符模式,找到所有匹配的文件并排除 + # 通配符模式,删除匹配的文件 for file in $pattern; do - if [ -e "$file" ]; then - echo "$file" >> exclude_list.txt + if [ -e "$file" ] && [ ! -d "$file" ]; then + echo "删除排除文件: $file" + rm -f "$file" 2>/dev/null || true fi done else - echo "$pattern" >> exclude_list.txt + if [ -e "$pattern" ] && [ ! -d "$pattern" ]; then + echo "删除排除文件: $pattern" + rm -f "$pattern" 2>/dev/null || true + fi fi done - - echo "排除列表:" - cat exclude_list.txt - - # 使用排除列表打包 packet 目录内容 - tar czf - --exclude-from=exclude_list.txt . | ssh $REMOTE_HOST "cd '$REMOTE_PATH' && tar xzf -" - rm -f exclude_list.txt - else - # 没有保留文件,直接打包 packet 目录所有文件 - echo "无保留文件,部署 packet 目录所有文件" - tar czf - --exclude='.git' --exclude='.gitea' . | ssh $REMOTE_HOST "cd '$REMOTE_PATH' && tar xzf -" - fi - - echo "✅ packet 目录部署完成" + echo "排除文件清理完成" - name: Update project configuration on server - run: | - echo "=== 更新服务器上的项目配置 ===" - # 创建项目配置目录并上传配置信息 - ssh $REMOTE_HOST " - mkdir -p '$REMOTE_PATH/.project' - cat > '$REMOTE_PATH/.project/globe.json' << 'EOF' + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.REMOTE_HOST }} + username: ${{ env.REMOTE_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ env.SSH_PORT }} + script: | + echo '=== 更新服务器上的项目配置 ===' + mkdir -p '${{ env.REMOTE_PATH }}/.project' + cat > '${{ env.REMOTE_PATH }}/.project/globe.json' << 'EOF' { - \"version\": \"${{ steps.project-config.outputs.version }}\", - \"initialized\": ${{ steps.project-config.outputs.initialized }}, - \"name\": \"${{ steps.project-config.outputs.name }}\", - \"author\": \"${{ steps.project-config.outputs.author }}\", - \"mc-version\": \"${{ steps.project-config.outputs.mc-version }}\", - \"modloader\": \"${{ steps.project-config.outputs.modloader }}\", - \"modloader-version\": \"${{ steps.project-config.outputs.modloader-version }}\", - \"index-file\": \"${{ steps.project-config.outputs.index-file }}\" + "version": "${{ steps.project-config.outputs.version }}", + "initialized": ${{ steps.project-config.outputs.initialized }}, + "name": "${{ steps.project-config.outputs.name }}", + "author": "${{ steps.project-config.outputs.author }}", + "mc-version": "${{ steps.project-config.outputs.mc-version }}", + "modloader": "${{ steps.project-config.outputs.modloader }}", + "modloader-version": "${{ steps.project-config.outputs.modloader-version }}", + "index-file": "${{ steps.project-config.outputs.index-file }}" } EOF echo '服务器项目配置已更新' - cat '$REMOTE_PATH/.project/globe.json' - " + cat '${{ env.REMOTE_PATH }}/.project/globe.json' - name: Verify deployment - run: | - ssh $REMOTE_HOST " + uses: appleboy/ssh-action@v1.0.3 + with: + host: ${{ env.REMOTE_HOST }} + username: ${{ env.REMOTE_USER }} + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: ${{ env.SSH_PORT }} + script: | echo '=== 部署验证 ===' - echo '目录: $REMOTE_PATH' - echo '大小: \$(du -sh \"$REMOTE_PATH\")' - echo '文件数量: \$(find \"$REMOTE_PATH\" -type f | wc -l)' + echo '目录: ${{ env.REMOTE_PATH }}' + echo "大小: $(du -sh '${{ env.REMOTE_PATH }}')" + echo "文件数量: $(find '${{ env.REMOTE_PATH }}' -type f | wc -l)" echo '=== 项目配置 ===' - if [ -f \"$REMOTE_PATH/.project/globe.json\" ]; then - cat \"$REMOTE_PATH/.project/globe.json\" + if [ -f '${{ env.REMOTE_PATH }}/.project/globe.json' ]; then + cat '${{ env.REMOTE_PATH }}/.project/globe.json' else echo '⚠️ 未找到项目配置文件' fi echo '=== pack.toml 内容 ===' - if [ -f \"$REMOTE_PATH/pack.toml\" ]; then - cat \"$REMOTE_PATH/pack.toml\" + if [ -f '${{ env.REMOTE_PATH }}/pack.toml' ]; then + cat '${{ env.REMOTE_PATH }}/pack.toml' else echo '⚠️ 未找到 pack.toml 文件' fi echo '=== 目录结构 ===' - ls -la '$REMOTE_PATH' + ls -la '${{ env.REMOTE_PATH }}' echo '=== 保留文件状态 ===' - if [ \"${{ steps.project-config.outputs.use_keep_files }}\" = \"true\" ]; then - for pattern in $KEEP_FILES; do - if [ -e \"$REMOTE_PATH/\$pattern\" ]; then - echo \"✅ 保留文件: \$pattern\" + if [ "${{ steps.project-config.outputs.use_keep_files }}" = "true" ]; then + for pattern in ${{ env.KEEP_FILES }}; do + if [ -e '${{ env.REMOTE_PATH }}/$pattern' ]; then + echo "✅ 保留文件: $pattern" else - echo \"⚠️ 保留文件不存在: \$pattern\" + echo "⚠️ 保留文件不存在: $pattern" fi done else echo '无保留文件设置' - fi - " \ No newline at end of file + fi \ No newline at end of file diff --git a/packet/README.md b/packet/README.md index 28f8c10..4aa2342 100644 --- a/packet/README.md +++ b/packet/README.md @@ -2,6 +2,11 @@ ## 更新日志 +2026/05/31 - 1次 v1.0.5 + +* 添加CC电脑、网页展示器、超级拴绳、不停吃 +* 补充添加无中生有附属 + 2026/05/30 - 3次 v1.0.4-fix1 * 补充修正加了救救我的答辩网络 diff --git a/packet/mods/AlwaysEat-5.2.jar b/packet/mods/AlwaysEat-5.2.jar new file mode 100644 index 0000000..cb55156 Binary files /dev/null and b/packet/mods/AlwaysEat-5.2.jar differ diff --git a/packet/mods/cc-tweaked-1.20.1-forge-1.119.0.jar b/packet/mods/cc-tweaked-1.20.1-forge-1.119.0.jar new file mode 100644 index 0000000..9fb7161 Binary files /dev/null and b/packet/mods/cc-tweaked-1.20.1-forge-1.119.0.jar differ diff --git a/packet/mods/ccexpand-peripherals-1.5.6.jar b/packet/mods/ccexpand-peripherals-1.5.6.jar new file mode 100644 index 0000000..0443f56 Binary files /dev/null and b/packet/mods/ccexpand-peripherals-1.5.6.jar differ diff --git a/packet/mods/exmachinis-deorum-1.20.1-3.1.0.jar b/packet/mods/exmachinis-deorum-1.20.1-3.1.0.jar new file mode 100644 index 0000000..c44f30c Binary files /dev/null and b/packet/mods/exmachinis-deorum-1.20.1-3.1.0.jar differ diff --git a/packet/mods/mcef-forge-2.1.6-1.20.1.jar b/packet/mods/mcef-forge-2.1.6-1.20.1.jar new file mode 100644 index 0000000..e5e1a83 Binary files /dev/null and b/packet/mods/mcef-forge-2.1.6-1.20.1.jar differ diff --git a/packet/mods/netmusicperipheral-0.1.jar b/packet/mods/netmusicperipheral-0.1.jar new file mode 100644 index 0000000..4c2966c Binary files /dev/null and b/packet/mods/netmusicperipheral-0.1.jar differ diff --git a/packet/mods/superleadrope-1.20.1-1.2.3.jar b/packet/mods/superleadrope-1.20.1-1.2.3.jar new file mode 100644 index 0000000..6e15f0c Binary files /dev/null and b/packet/mods/superleadrope-1.20.1-1.2.3.jar differ diff --git a/packet/mods/webdisplays-2.0.2-1.20.1.jar b/packet/mods/webdisplays-2.0.2-1.20.1.jar new file mode 100644 index 0000000..d20383f Binary files /dev/null and b/packet/mods/webdisplays-2.0.2-1.20.1.jar differ