# SPT(塔科夫单机版) 构建脚本 + [build-launcher.sh](build-launcher.sh) 用于在非docker环境中调用docker镜像构建启动器 + [build.sh](build.sh) 是 [build-launcher.sh](build-launcher.sh) 和 [BuildLauncher.yml](.github/workflows/BuildLauncher.yml) 中调用的脚本 + [build-server.sh](build-server.sh) 用于构建服务端镜像,也是 [BuildServer.yml](.github/workflows/BuildServer.yml) 中调用的脚本 + [bin](bin)目录下的[zip](bin/zip)和[unzip](bin/unzip)是ubuntu中使用的zip压缩和解压缩软件的二进制文件 ## [build-launcher.sh](build-launcher.sh) 参数说明 参数列表: + -z, --zip FILE 指定编译 modules 时的 Managed.zip 文件路径 (编译 modules 时必需,且为第一个参数) + -m, --modules 只编译 modules + -l, --launcher 只编译 launcher + -a, --all 编译 modules 和 launcher (默认) + -o, --output DIR 指定输出目录 (默认: ./build-output) + -c, --compress 压缩输出为 7z 文件 + -h, --help 显示此帮助信息 示例: + ./build-launcher.sh -z ./Managed.zip -a -c # 编译全部并压缩,-z 必须是第一个参数 + ./build-launcher.sh -z ./Managed.zip -m -c # 只编译 modules 并压缩,-z 必须是第一个参数 + ./build-launcher.sh -l -c # 只编译 launcher 并压缩,不需要 -z *`Managed.zip`为塔科夫目录下的`EscapeFromTarkov_Data/Managed`的zip压缩文件* *编译后,把launcher解压,把解压后目录中launcher目录下的内容放到塔科夫根目录* ## [build-server.sh](build-server.sh) 构建说明 + 如果提示无执行权限,需要先执行`sudo chmod a+x build-server.sh`赋权 + macos或linux下需要先安装`docker-desktop`以使用`buildx`插件 + windows下,先启用`wsl2`环境安装一个linux发行版,然后在`应用商店`下载`docker-desktop`,`docker-desktop`启动后才能执行 `build-server.sh`,否则会提示`--platform`参数有问题 ## Docker 镜像 [https://hub.docker.com/r/yhl452493373/spt-server](https://hub.docker.com/r/yhl452493373/spt-server) ```yml services: spt-server: image: yhl452493373/spt-server:4.0.6-20251119-d13d2dd0 container_name: spt-server restart: always volumes: - './data:/opt/spt-server/user' network_mode: host environment: - backendIp=192.168.31.244 - backendPort=6969 ``` ## [BuildServer.yml](.github/workflows/BuildServer.yml) 工作流选项说明 + 选择运行器系统 - `ubuntu-latest`最新的 Ubuntu - `ubuntu-24.04`Ubuntu-24.04 LTS - `ubuntu-host`自建的运行器,如果你没自建运行器,不要选这个 + 推送到 Docker Hub - 如果选中,则会尝试推送到 Docker Hub - 选中后,需要在项目的工作流中设置两个密钥`DOCKERHUB_USERNAME`和`DOCKERHUB_TOKEN` - `gitea`在 [这里](/settings/actions/secrets) - `github`在 [这里](/settings/secrets/actions) + 镜像输出路径 - 如果提供了这个路径,服务端镜像构建完成后,会复制到这里 - 如果你在自己的宿主机上的运行器中运行,可以在这个路径下复制导出的镜像进行本地测试