
luxusburg/docker-foundry系统上测试并确认可用。🐧 欢迎提供改进建议和贡献!🤝
docker rundocker-composedocker-compose方法)。建议在运行命令前,在主机上创建专用目录存储服务器数据和配置。例如:
bashmkdir ~/foundry-server cd ~/foundry-server
以下示例将当前工作目录中的./server(游戏文件)和./data(持久化数据,如存档和备份)映射到容器。
docker runbashdocker run -d \ --name foundry-server \ -p 3724:3724/udp \ -p 27015:27015/udp \ -v ./server:/home/foundry/server_files \ -v ./data:/home/foundry/persistent_data \ -e TZ="Europe/Paris" \ -e SERVER_NAME=Foundry Docker by Luxusburg \ -e SERVER_PWD=change_me \ -e PAUSE_SERVER_WHEN_EMPTY=false \ -e MAX_TRANSFER_RATE=8192 \ luxusburg/docker-foundry:latest
docker-compose创建docker-compose.yml文件:
yaml# version: '3.8' # 如果Docker Compose版本需要,请取消注释 services: foundry: container_name: foundry-server image: luxusburg/docker-foundry:latest network_mode: bridge # 或根据偏好使用'host',并相应调整端口 environment: - TZ=Europe/Paris - WORLD_NAME='worldname' - SERVER_PWD=change_me_strong_password - SERVER_NAME=Foundry Docker - by Luxusburg - SERVER_MAX_PLAYERS=10 - SERVER_IS_PUBLIC=true - PAUSE_SERVER_WHEN_EMPTY=false - AUTOSAVE_INTERVAL=300 - MAX_TRANSFER_RATE=8192 - CUSTOM_CONFIG=false # 设置为true以使用自定义app.cfg # 备份设置 - BACKUPS=true - BACKUP_INTERVAL=0 * * * * # 每小时第0分钟 - BACKUP_RETENTION=3 # 保留超过X天的备份 # Mod设置 # - ENABLE_MODS=true # 取消注释以启用Mod # PUID/PGID设置 # - PUID=1000 # - PGID=1000 volumes: - ./server:/home/foundry/server_files:rw - ./data:/home/foundry/persistent_data:rw ports: - "3724:3724/udp" - "27015:27015/udp" # 仅当SERVER_IS_PUBLIC=true时需要 restart: unless-stopped
然后运行:
bashdocker compose up -d
/home/foundry/server_files(例如主机上的./server):存储游戏文件、app.cfg和Mod数据。/home/foundry/persistent_data(例如主机上的./data):存储世界存档和备份。[!TIP] 首次运行后,可通过编辑服务器文件卷中的
app.cfg文件(例如./server/app.cfg)自定义服务器设置。 或者使用环境变量。若需完全自定义app.cfg,设置CUSTOM_CONFIG=true并确保app.cfg已存在于服务器文件目录中。 有关所有可能的app.cfg设置,请参考官方开发者文档:Foundry Dedicated Server Docs
默认启用备份功能,备份文件存储在持久化数据卷的backup子文件夹中(例如./data/backup/)。
恢复备份步骤:
bashdocker stop foundry-server # 或使用docker-compose docker compose down
[!IMPORTANT] ❗ 以下命令将覆盖当前世界存档文件!如可能需要当前世界数据,请确保另行备份。
your_persistent_data_path(如./data)和备份文件名:bash# 示例: tar -xzvf ./data/backup/foundry-backup-YYYY-MM-DD_HH-MM-SS.tar.gz -C ./data/
此操作将把存档文件夹恢复到./data/中
3. 重启容器
在Docker配置中设置环境变量ENABLE_MODS=true。
modList.json文件存在于服务器文件卷的Mods文件夹中(例如./server/Mods/modList.json)才能正常启动。C:\Program Files (x86)\Steam\steamapps\common\FOUNDRY\Mods\modList.json)复制到服务器的Mod目录。当ENABLE_MODS=true时,服务器会在每次启动时尝试检查并下载/更新已订阅的Mod。🔄
your_server_files_volume/Mods/(例如./server/Mods/)your_data_volume/mod_settings/(例如./data/mod_settings/)容器通过环境变量进行配置。
| 变量 | 默认值/示例 | 描述 |
|---|---|---|
TZ | Europe/Paris | 设置容器的时区 🌍。时区数据库列表。 |
WORLD_NAME | FoundryDockerWorld | 设置服务器世界名称 🗺️。这是FoundryDedicatedServer/Worlds/中存储存档文件的文件夹名称。 |
SERVER_PWD | (无) | 设置服务器密码 🔑。强烈建议设置。 |
SERVER_NAME | Foundry Docker Server | 服务器在Steam服务器浏览器中显示的名称(若公开)📢。 |
MAP_SEED | (游戏默认) | 设置用于生成世界的地图种子 🌱。 |
SERVER_MAX_PLAYERS | 10 | 设置服务器允许的最大玩家数量 🧑🤝🧑。 |
PAUSE_SERVER_WHEN_EMPTY | false | true或false。当无玩家连接时暂停服务器 ⏸️。 |
AUTOSAVE_INTERVAL | 300 | 自动保存频率(秒)⏱️。 |
SERVER_IS_PUBLIC | false | true或false。设置服务器是否在Steam服务器浏览器中列出 🌐。 |
SERVER_PORT | 3724 | 游戏使用的网络端口 🔌。 |
SERVER_QUERY_PORT | 27015 | Steam服务器浏览器查询端口(当SERVER_IS_PUBLIC=true时使用)📡。 |
MAX_TRANSFER_RATE | 1024 (KiB/s) | 客户端的最大数据传输速率 📶。最大值: 8192。 |
CUSTOM_CONFIG | false | 设置为true可使服务器仅使用手动提供的app.cfg文件(位于持久化数据中)📝。 |
[!WARNING]
BACKUP_INTERVAL的值不要使用双引号("")或单引号('')包裹cron计划表达式。
| 变量 | 默认值/示例 | 描述 |
|---|---|---|
BACKUPS | true | true或false。启用或禁用自动备份系统。 |
BACKUP_INTERVAL | 0 * * * * | 备份的cron计划表达式(例如0 * * * *表示每小时第0分钟)🗓️ cron计划 |
BACKUP_RETENTION | 10(个备份) | 设置保留的备份文件数量。 |
这些变量用于设置容器内foundry用户的用户ID和组ID,有助于管理挂载卷上的文件权限。
| 变量 | 默认值 | 描述 |
|---|---|---|
PUID | 1000 | foundry用户的用户ID。 |
PGID | 1000 | foundry用户的组ID。 |
在Linux上,可使用命令id $(whoami)查看当前用户的ID。
要使用游戏的Beta分支:
[!WARNING] 不要 在Beta名称或密码周围使用双引号(
"")或单引号('')。
| 变量 | 默认值/示例 | 描述 |
|---|---|---|
BETANAME | (无) | 要使用的Steam Beta分支名称。 |
BETAPASSWORD | (无) | Beta分支的密码(如需要)。 |
欢迎提供反馈、错误报告和拉取请求!请在GitHub仓库上提交issue或PR。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务