项目地址
中文说明
https://github.com/truman-world/puppy-stardew-server/blob/main/README_CN.md
项目架构

3分钟搭建星露谷物语服务器
搭建星露谷物语专用服务器从未如此简单!通过一条命令,您就可以拥有自己的 24/7 多人联机服务器,支持全平台联机 - PC、Mac、Linux、iOS 和 Android 玩家都可以一起游戏。
完美适用于:
- 远程联机 - 与世界各地的朋友一起玩
- 跨平台游戏 - iOS、Android 和 PC 玩家一起联机
- 24/7 在线服务器 - 随时加入,无需房主在线
- 简单搭建 - 使用 Docker Compose 一键部署
- 低资源占用 - 仅需 2GB 内存即可流畅运行
核心功能
- 一键部署 - 一条命令 3 分钟完成部署
- 全平台支持 - PC、Mac、Linux、iOS、Android 全支持
- 24/7 专用服务器 ⚡ - 服务器独立运行,不需要房主在线
- Docker Compose - 轻松部署和管理
- 资源高效 - 2GB 内存服务器也能流畅运行
- 自动加载存档 - 重启容器,存档自动加载
- VNC 远程访问 🖥️ - 内置 VNC,首次设置超简单
- 即时睡眠 - 附加功能:玩家随时可以睡觉,无需等待
- 隐藏房主 - 房主玩家自动隐藏,零干扰
- 技能等级保护 🛡️ - 新功能:防止等级异常,保持自然成长
- 崩溃自动重启 🔄 - 游戏崩溃后自动恢复,无需人工干预
- Prometheus 监控 📊 - 实时服务器健康状态监控
- 自定义模组 🔧 - 通过挂载目录轻松安装自定义模组
- Web 管理面板 🌐 - 浏览器控制服务器,实时监控

Web 管理面板截图
仪表盘

登录页面

最新版本更新
v1.0.77 (2026年3月)
Web 面板、一键部署与运行时体验改进:
- 🌐 首次访问设置密码 - Web 管理面板首次打开时会引导创建管理密码,不再依赖共享默认密码
- 🎨 亮色 / 暗色主题 - 登录页和主面板统一支持主题切换,并自动记住你的选择
- 💾 存档上传与默认存档选择 - 可在面板中直接上传星露谷存档压缩包,解压到服务器,并设置默认自动加载存档
- 📦 备份体验升级 - 备份改为后台任务,支持持久化进度状态、直接下载备份,并降低默认压缩级别以减少 CPU 峰值
- 🧩 模组与配置流程修复 - 自定义模组上传、删除和重启提示链路更加稳定,Steam 账号配置可安全更新,面板还能直接触发容器级重启
- 📋 日志与仪表盘改进 - 分类日志更准确,服务器详情更完整,联机地址、在线人数与运行状态显示更可靠,顶部也增加了 GitHub 快捷入口
- 🚀 一键脚本体验修复 - 快速部署脚本改成以 Web 面板为主的初始化流程,优先展示 IPv4 地址,不再提示共享默认密码
- 🔇 无头音频修复 - 默认补齐 headless 音频/OpenAL 配置,减少纯 Docker 环境下的 ALSA 启动报错
快速开始
观看一键部署演示
https://asciinema.org/a/SYBS2qWsb5ZlSolbFPuoA7EJY
方式 1:一键部署(推荐小白使用)
中文版(官方):
curl -sSL https://raw.githubusercontent.com/truman-world/puppy-stardew-server/main/quick-start-zh.sh | bash
中文版(国内加速):
如果上面的命令访问失败,可以使用以下加速服务:
# 加速方案 1: jsDelivr CDN(推荐)
curl -sSL https://cdn.jsdelivr.net/gh/truman-world/puppy-stardew-server@main/quick-start-zh.sh | bash
# 加速方案 2: Statically CDN
curl -sSL https://cdn.statically.io/gh/truman-world/puppy-stardew-server/main/quick-start-zh.sh | bash
# 加速方案 3: GitHack
curl -sSL https://raw.githack.com/truman-world/puppy-stardew-server/main/quick-start-zh.sh | bash
**⚠️ 如果所有加速方案都无法访问,请使用方式 2:手动部署(见下方),步骤同样简单,且完全不需要访问 GitHub**。
脚本会自动:
- 检查 Docker 安装
- 引导输入 Steam 凭证
- 创建必要目录并设置正确权限
- 生成配置文件
- 启动服务器
- 显示连接信息
就这么简单! ☕ 下载游戏文件时去喝杯咖啡(约 1.5GB)。
方式 2:手动部署(国内网络友好)
前置要求
- 已安装 Docker 和 Docker Compose
- 快速安装(Linux):
curl -fsSL https://get.docker.com | sh - 或参考官方指南:安装 Docker
- 快速安装(Linux):
- 一个 Steam 账户,并且已购买星露谷物语
- 最低 2GB 内存,推荐 4GB
- 2GB 可用磁盘空间
步骤 1:创建工作目录和配置文件(无需访问 GitHub)
# 创建工作目录
mkdir -p ~/puppy-stardew && cd ~/puppy-stardew
# 直接创建 docker-compose.yml(使用 Docker Hub 镜像)
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
stardew-server:
image: truemanlive/puppy-stardew-server:latest
container_name: puppy-stardew
restart: unless-stopped
stdin_open: true
tty: true
environment:
- STEAM_USERNAME=${STEAM_USERNAME}
- STEAM_PASSWORD=${STEAM_PASSWORD}
- ENABLE_VNC=${ENABLE_VNC:-true}
- VNC_PASSWORD=${VNC_PASSWORD:-stardew1}
ports:
- "24642:24642/udp"
- "5900:5900/tcp"
volumes:
- ./data/saves:/home/steam/.config/StardewValley:rw
- ./data/game:/home/steam/stardewvalley:rw
- ./data/steam:/home/steam/Steam:rw
deploy:
resources:
limits:
cpus: '2.0'
memory: 2G
reservations:
memory: 1G
EOF
# 创建 .env 配置文件
cat > .env << 'EOF'
# Steam 账户信息(必填 - 请修改为您的真实账号)
STEAM_USERNAME=your_steam_username
STEAM_PASSWORD=your_steam_password
# VNC 配置(可选)
ENABLE_VNC=true
VNC_PASSWORD=stardew1
EOF
步骤 2:编辑配置文件,填入您的 Steam 凭证
# 使用文本编辑器修改 .env 文件
nano .env # 或使用 vi、vim 等编辑器
重要:您必须在 Steam 上拥有星露谷物语。游戏文件通过您的账户下载。
步骤 3:初始化数据目录
# 创建数据目录并设置正确权限
mkdir -p data/{saves,game,steam,logs,backups,custom-mods}
chown -R 1000:1000 data/
⚠️ 此步骤很重要! 权限设置不正确会导致 "Disk write failure" 错误。从 v1.0.59+ 版本开始,容器会自动修复权限,但首次创建目录时仍需正确设置。
步骤 4:启动服务器
# 启动服务器
docker compose up -d
# 查看日志
docker logs -f puppy-stardew
如果启用了 Steam 令牌,您需要输入验证码:
docker attach puppy-stardew
# 粘贴您的 Steam 令牌代码并按回车
# 重要:不会显示任何内容 - 这是正常的!
# 等待几秒钟,游戏会自动开始下载
# 按 Ctrl+P Ctrl+Q 分离(不是 Ctrl+C!)
初始设置(仅首次运行)
服务器启动后,您有两种方式管理服务器:
方式 A:Web 管理面板(推荐)🌐
访问 Web 面板:http://服务器IP:18642
- 首次访问:浏览器会提示您创建管理密码
- 功能特性:
- 实时服务器状态仪表盘
- 实时日志流与过滤器
- SMAPI 控制台交互终端
- 玩家管理
- 存档备份/下载
- 配置编辑器
- 模组管理
方式 B:VNC 远程桌面
- 连接到 VNC:
- 在 VNC 窗口中:
- 创建新农场:点击"合作"→"主机"→ 选择"起始小屋数量"
- 重要:起始小屋数量 = 可以加入的玩家数量(不包括主机)
- 例如:选择"3个小屋"允许3个朋友加入(总共4名玩家)
- 如果选择"0个小屋",其他玩家会看到"没有空闲位置"错误
- 加载现有存档:点击"加载"→ 选择您的存档文件
- 创建新农场:点击"合作"→"主机"→ 选择"起始小屋数量"
- 加载完成后:
- ServerAutoLoad 模组会记住您的存档
- 以后重启会自动加载此存档
- Always On Server 会自动启用 Auto Mode
- 您可以断开 VNC 连接了
- 玩家现在可以连接了!
- 打开星露谷物语
- 点击"合作" → "加入局域网游戏"
- 服务器会自动出现在列表中
- 或手动输入服务器IP:
192.168.1.100(示例) - 重要说明:
- 只需输入IP地址,不需要加端口号(不是
192.168.1.100:24642) - 自动使用24642/UDP端口
- 如需内网穿透或端口转发,必须转发UDP协议(不是TCP)
- 只需输入IP地址,不需要加端口号(不是
包含内容
预装模组
| 模组 | 版本 | 用途 | 主要功能 |
|---|---|---|---|
| Always On Server | v1.20.3 | 保持服务器 24/7 运行,不需要房主在线 | 无人值守服务器运行 |
| AutoHideHost | v1.2.2 | 自定义模组 - 隐藏房主玩家并启用即时睡眠 | 无缝昼夜过渡 |
| ServerAutoLoad | v1.2.1 | 自定义模组 - 启动时自动加载存档 | 无需手动VNC加载 |
| ✨ Skill Level Guard | v1.4.0 | 新版 - 防止Always On Server强制升到10级并实现自动启用 | 基于经验值精确计算等级 + Auto Mode自动启用 |
v1.0.66 新功能:
- 🔄 崩溃自动重启:游戏进程意外退出后自动恢复
- 📊 实时监控:Prometheus 指标端点,支持 Grafana 仪表板
- 🔧 自定义模组:通过
data/custom-mods/安装任意 SMAPI 模组 - 🔐 安全凭证:支持 Docker Secrets 替代明文密码
所有模组都已预配置,开箱即用!
系统要求
服务器:
- CPU:1+ 核心(4+ 玩家推荐 2+)
- 内存:最低 2GB(4+ 玩家推荐 4GB)
- 磁盘:2GB 可用空间
- 操作系统:Linux、Windows(Docker Desktop)、macOS(Docker Desktop)
- 网络:开放端口 24642/UDP(VNC 需要 5900/TCP)
客户端:
- 星露谷物语(任何平台:PC、Mac、Linux、iOS、Android)
- 与服务器相同的游戏版本(1.6.15)
- 局域网或互联网连接到服务器
许可证与法律
许可证:MIT 许可证 - 免费使用、修改和分发。
重要法律说明:
- 您必须在 Steam 上拥有星露谷物语
- 游戏文件通过您的 Steam 账户下载
- 这不是盗版工具
- 模组遵循其原始许可证:
- Always On Server:GPL-3.0
- ServerAutoLoad:MIT(本项目自定义模组)
- AutoHideHost:MIT(本项目自定义模组)
- Skill Level Guard:MIT(本项目自定义模组)
致谢
- 星露谷物语 by ConcernedApe
- SMAPI by Pathoschild
- Always On Server by funny-snek & Zuberii
- Docker by Docker, Inc.
贡献
欢迎贡献!请:
- Fork 本仓库
- 创建功能分支
- 提交 Pull Request
支持与社区
- 错误报告:GitHub Issues
- 问题讨论:GitHub Discussions
- Docker Hub:truemanlive/puppy-stardew-server
