mcpgame虚拟屋
一个多人在线角色扮演的3D虚拟房屋环境,包含互动元素,包括带有图像显示系统的电视和用于访问MCP系统的计算机终端。
服务介绍
MCPGame
一个使用Node.js后端的多人控制面板游戏,特色在于具有互动元素的虚拟房屋环境。
功能
- 沉浸式第一人称3D虚拟房屋及户外环境
- 精美细致的房屋内外部特征
- 可交互的门以进出房屋
- 带有树木、植物和装饰元素的花园区域
- 具备图像生成能力的可交互电视
- 用于访问MCP系统的计算机终端
- 真实的移动与碰撞检测
- 实时服务器通信
设置
- 安装依赖项:
npm install
- 运行服务器:
npm start
或者在开发模式下自动重启运行:
npm run dev
服务器将在3002端口启动。
游戏控制
- 移动:WASD键
- 环顾四周:鼠标移动(点击游戏启用)
- 交互:靠近交互对象时按ENTER键
- 退出界面:ESC键
- 解除鼠标锁定:ESC键
交互元素
户外环境
- 探索带有树木和花坛的地形
- 沿着小路走到房屋入口
- 靠近门时按ENTER键进入/离开房屋
电视系统
- 走近电视并按ENTER键访问遥控器
- 生成将显示在电视屏幕上的图像
- 在终端界面上输入图像生成提示
MCP终端
- 找到电脑桌并按ENTER键访问终端
- 向MCP系统发送命令
- 访问各种虚拟工具(电子邮件、网络搜索等)
技术细节
- 使用Three.js进行3D渲染
- 第一人称摄像头带指针锁定控制
- 户外环境中的程序化放置树木
- 使用Express.js服务器进行后端通信
- 画布库用于图像生成
- RESTful API用于服务器通信
MCP Game 图像系统
本文件解释了MCP游戏中图像显示系统的工作原理。
概述
该系统从server/openai-server/public/image目录中展示已存在的图像于虚拟房屋内的电视上。为了避免因生成新图像而导致500内部服务器错误,现在系统改为检查指定目录下的现有图像。
工作原理
- 虚拟房屋内的电视会显示
server/openai-server/public/image目录中存在的图像。 - 系统每10秒检查一次新图像。
- 当用户通过电视遥控界面请求新图像时,系统会从目录中随机选择一张图像。
添加新图像
要向电视添加新图像:
- 将图像文件(jpg, jpeg, png, gif, webp)放入
server/openai-server/public/image目录。 - 系统将自动检测并显示这些图像。
- 文件应适合网页显示(推荐尺寸:800x450像素)。
使用方法
- 走近虚拟房屋内的电视。
- 按Enter键访问电视遥控界面。
- 输入任何与显示图像相关的命令。
- 系统将从目录中可用的图像中选择并显示一张。
故障排除
- 如果没有图像显示,请检查
server/openai-server/public/image目录是否存在且包含图像文件。 - 确保服务器正在正确的端口上运行(默认:3002)。
- 检查浏览器控制台是否有与图像加载相关的错误消息。
技术细节
- 系统不再尝试直接生成图像,从而避免了500内部服务器错误。
- 请求时,系统会从目录中随机选择图像。
- 当没有可用图像时,系统提供适当的反馈。
连接到MCP后端服务器
MCPGame可以连接到外部MCP后端服务器,为终端和电视交互启用高级AI功能。
配置
- 打开
main.js文件,并找到顶部的配置部分:
javascript
// --- Configuration ---
const MCP_BACKEND_URL = 'http://localhost:3001'; // MCP终端后端连接
const IMAGE_SERVER_URL = 'http://localhost:3002'; // 图像服务器连接2. 将 MCP_BACKEND_URL 更新为指向您的 MCP 后端服务器:
- 对于本地开发:
http://localhost:PORT(将 PORT 替换为您的后端端口号) - 对于生产环境: 使用部署的后端服务器的完整 URL
必需的 API 端点
您的 MCP 后端服务器应实现以下端点:
GET /api/status- 返回 MCP 系统的状态POST /api/query- 接受用户查询并返回 AI 响应
响应格式
查询端点应以如下 JSON 格式返回响应:
json
{
"response": "在终端中显示的文本",
"spokenResponse": "可选的语音合成文本"
}
测试连接
- 启动您的 MCP 后端服务器
- 启动 MCPGame 服务器 (
node server.js) - 在浏览器中打开游戏
- 与虚拟房屋中的计算机终端进行交互
- 当您使用终端时,游戏将连接到您的 MCP 后端服务器