> 在线体验:立即进入桃源乡独立版
链接地址:
http://taoyuanxiang.ymzcc.com/

🌟 一个可独立部署的国风田园经营项目 🌟
整合单人经营冒险与账号、云存档、交流大厅、游戏邮箱、AI 小助理等在线能力。
[!IMPORTANT] 在线游玩地址:http://taoyuanxiang.ymzcc.com/) 官方交流群:1094297186 (QQ)
玩家向简介 · 新手教程 · 系统百科 · 参考仓库 · QQ 群:1094297186
国风田园经营
单人冒险
任务板 / 主题周 / 周结算
鱼塘 / 育种 / 博物馆 / 公会 / 瀚海
Docker / Compose
| 项目 | 说明 |
|---|---|
| 游戏定位 | 国风田园经营 + 探索冒险 + 关系养成 + 独立版在线能力 |
| 核心体验 | 单人经营仍然是主轴,在线能力负责账号、持久化和辅助社交 |
| 适用场景 | 本地自用、局域网试跑、朋友小范围共享、自建公网服务 |
| 默认端口 | 单端口 4013 |
| 前端目录 | taoyuan-main/ |
| 后端目录 | server/ |
| 数据目录 | data/ |
| 部署方式 | 本地启动、Docker、Docker Compose |
v2.6.0 这轮新变化:阅读 v2.6体验教程.md快速开始Docker 与 Compose 部署开发者说明如果你想看更完整的玩家向介绍,建议直接打开 游戏简介.md。





一行命令即可运行,省去本地依赖安装和前端编译。
docker pull ghcr.io/memorial-coder/taoyuan-duli:latest
docker run -d \
--name taoyuan \
-p 4014:4013 \
-e SECRET_KEY=请替换为至少24位随机字符串 \
-e ADMIN_TOKEN=请替换为管理员口令 \
-e SUPER_ADMIN_TOKEN=如需可填入超级管理员口令 \
-e COOKIE_SECURE=false \
-e COOKIE_SAME_SITE=lax \
-v taoyuan-duli-data:/app/data \
ghcr.io/memorial-coder/taoyuan-duli:latest
访问 http://127.0.0.1:4014 即可看到游戏。生产环境请在运行前添加 CORS_ALLOWED_ORIGINS、COOKIE_SECURE=true 等安全配置。
cd taoyuan-main
npm install
npm run build # 输出至 taoyuan-main/docs
cd ../server
copy .env.example .env
在 server/.env 中至少修改:
- SECRET_KEY:随机长字符串
- ADMIN_TOKEN:管理员口令
- SUPER_ADMIN_TOKEN(可选)
4. 启动后端:
npm install
npm start
服务启动后,打开 http://127.0.0.1:4013 访问游戏。确保 taoyuan-main/docs 已完成构建,否则前端页面将无法展示。
创建根目录 .env(复制 .env.compose.example),并填写 SECRET_KEY、ADMIN_TOKEN、SUPER_ADMIN_TOKEN(如需)。
目录结构示例:
/opt/taoyuan/
├─ docker-compose.yml
├─ .env
└─ data/ # 用于持久化 /app/data
docker-compose.yml 示例:
services:
taoyuan:
image: ghcr.io/memorial-coder/taoyuan-duli:latest
container_name: taoyuan
restart: unless-stopped
env_file: [.env]
environment:
DB_STORAGE: /app/data/.storage.json
ports:
- "${HOST_PORT:-4014}:4013"
volumes:
- ./data:/app/data
启动或更新:
cd ......./taoyuan
docker compose pull # 拉取最新镜像
docker compose up -d # 启动或重启服务
健康检查:
curl http://127.0.0.1:4014/api/health
| 模块 | 技术 | 说明 |
|---|---|---|
| 前端框架 | Vue 3.5 + Pinia + Vue Router | 游戏界面、状态管理、页面路由 |
| 构建与类型 | Vite 7 + TypeScript 5.9 | 前端构建、类型检查、开发联调 |
| 样式 | TailwindCSS 3 + 原生 CSS | UI 布局与样式组织 |
| 后端服务 | Express 4 + express-session + Helmet + CORS | 登录、存档、大厅、邮箱、AI 助手接口 |
| 数据存储 | 本地文件用户库 / MySQL2 | 支持本地文件与 MySQL 两种账号模式 |
| 多端能力 | Electron + Capacitor | 桌面打包与 Android 构建能力已在前端目录中保留 |
| 部署 | Docker + Docker Compose | 本地、服务器、自定义镜像部署 |
.
├─ taoyuan-main/ # 前端源码、静态资源、构建产物
│ ├─ src/ # 游戏前端源码
│ ├─ public/ # 新手教程、系统百科等静态文件
│ ├─ images/ # README / 宣传图等素材
│ ├─ docs/ # Vite 构建输出目录
│ └─ package.json # 前端脚本与依赖
├─ server/ # 独立版后端
│ ├─ src/ # API、会话、存档、大厅、邮箱、AI 助手
│ ├─ .env.example # 后端配置示例
│ └─ package.json # 后端脚本与依赖
├─ data/ # 运行时数据
├─ data-defaults/ # 默认配置与初始数据
├─ tools/ # 辅助工具脚本
├─ docker-compose.yml # 默认 Compose 入口(本地 repack 流程)
├─ Dockerfile # 完整构建镜像
├─ Dockerfile.repack # 基于现有镜像快速回填构建
├─ .env.compose.example # Compose 环境变量示例
├─ 游戏简介.md # 玩家向介绍
└─ README.md # 项目入口说明
| 系统 | 定位 | 当前特点 |
|---|---|---|
| 田庄 / 种植 | 开局保底经营线 | 六种田庄、轮作种植、设施升级、稳定现金流 |
| 牧场 / 家园 | 日常经营扩展线 | 动物照料、产物维护、宅院布置与生活化体验 |
| 钓鱼 / 鱼塘 | 中期经营线 | 钓鱼补现金流、鱼塘周赛、展示池、高阶养护 |
| 矿洞 / 公会 | 冒险成长线 | 矿石素材、战斗推进、讨伐、捐献、荣誉与赛季 |
| 育种 | 中后期实验线 | 谱系、认证、图鉴、品鉴周赛、规划器 |
| 博物馆 | 收藏与展陈线 | 展陈评分、馆务推进、学者委托、长期收集目标 |
| 瀚海 | 高阶段商路线 | 商路投资、遗迹勘探、轮换货架、异域经营 |
| 村民 / 婚姻 / 仙灵 | 关系与奇遇线 | 送礼、恋爱、婚姻、仙缘与长期加成 |
| 在线功能 | 独立版差异能力 | 登录、云存档、交流大厅、邮箱、AI 小助理 |
部署时主要看根目录 .env。如果你是本地源码直跑,再另外参考 server/.env.example。
.env 常用配置| 配置项 | 是否常用 | 作用 | 常见说明 |
|---|---|---|---|
HOST_PORT |
是 | 映射到宿主机的端口 | 常见为 4014、80、443 后的反代入口 |
SECRET_KEY |
是 | 传给容器内服务的会话密钥 | 规则同上 |
ADMIN_TOKEN |
是 | 传给容器内服务的管理员口令 | 规则同上 |
SUPER_ADMIN_TOKEN |
否 | 超级管理员口令 | 可留空 |
CORS_ALLOWED_ORIGINS |
通常是 | 允许跨域携带 Cookie 的来源 | 生产环境建议填写真实域名 |
COOKIE_SECURE |
生产环境建议开启 | 控制 HTTPS Cookie | 与反向代理配置一起考虑 |
COOKIE_SAME_SITE |
视跨域策略 | Cookie 跨站策略 | 跨站登录常见为 none |
MYSQL_HOST / MYSQL_PORT / MYSQL_USER / MYSQL_PASSWORD / MYSQL_DATABASE |
否 | MySQL 用户库配置 | 不使用 MySQL 时留空即可 |
SECRET_KEY、ADMIN_TOKEN、SUPER_ADMIN_TOKEN.env 或 server/.env 提交到仓库COOKIE_SAME_SITE=none 时同时启用 COOKIE_SECURE=trueCORS_ALLOWED_ORIGINS 填写的是实际访问地址,而不是临时测试地址/app/datadata/ 目录或容器挂载的数据卷.envdata/、.env 和数据库docker compose down 后再 docker compose up -d/api/health 和实际登录流程确认升级成功查看容器状态:
docker compose ps
查看实时日志:
docker logs -f taoyuan
检查健康接口:
curl http://127.0.0.1:4014/api/health
重建并启动:
docker compose up -d --build
停止并移除当前服务:
docker compose down
如果你当前是本地直接运行模式,后端启动命令是:
cd server
npm start
如果你要继续开发、二开或本地联调,可以把前后端分开运行。
cd taoyuan-main
npm install
npm run dev
常用命令:
npm run build:构建生产静态资源到 taoyuan-main/docsnpm run lint:执行前端 lintnpm run type-check:执行 TypeScript 检查npm run qa:late-game:执行较完整的后期样本与静态检查流程cd server
npm install
npm run dev
常用命令:
npm start:普通启动npm run dev:使用 node --watch 监听改动server 会优先提供 taoyuan-main/docs 下的静态页面taoyuan-main 下的 npm run buildserver 或容器即可Dockerfile.repack 流程,前端修改只有在重新构建 docs 后才会进入镜像先检查两件事:
npm run buildserver 目录里执行了 npm start优先排查这几项:
taoyuan-main 下的 npm run builddocker compose up -d,但没有重新构建镜像taoyuan-duli:latest 镜像如果 4013 被别的程序占用了,可以修改 server/.env 里的 PORT。如果你用的是 Compose,则修改根目录 .env 里的 HOST_PORT。
先优先检查:
SECRET_KEY 有没有改掉示例值CORS_ALLOWED_ORIGINS 是否和你的访问地址一致COOKIE_SECURE 与 COOKIE_SAME_SITE如果你是本地直接运行,通常数据会保存在本地运行目录。
如果你是用 Docker 运行,必须挂载 /app/data,否则重建容器后数据会丢失。
不要填写 MYSQL_HOST / MYSQL_PORT / MYSQL_USER / MYSQL_PASSWORD / MYSQL_DATABASE,后端会自动回退到本地文件用户库。
.env 中自定义管理员口令与会话密钥,不要直接使用示例值SUPER_ADMIN_TOKEN,则可启用“普通管理员 / 超级管理员”双角色本仓库代码遵循 MIT 开源协议,但在使用与分流时请遵守以下约定:
[!CAUTION] 尊重开源,始于致敬。 桃源乡的每一行代码都倾注了开发者的心血,请在遵守协议的前提下进行交流与学习。
$ claude mcp add taoyuan-duli \
-- python -m otcore.mcp_server <graph>