# 口袋广场 (PokePlaza) - 项目使用指南 这是一个基于 **Godot 4.5 + Node.js** 的复古像素风格多人在线聊天室(Pixel Art Cozy MMO)。 --- ## 🏗️ 项目架构 ``` whale_town/ ├── server/ # Node.js 后端服务器 │ ├── index.js # WebSocket 游戏服务器 (默认端口: 8910) │ └── package.json # npm 依赖 ├── Scenes/ # Godot 场景文件 ├── Scripts/ # Godot 脚本 └── project.godot # Godot 项目配置 ``` --- ## 🚀 快速开始 ### 0. 环境准备 (Prerequisites) 在开始之前,请确保已安装以下软件: 1. **Node.js**: v18 或更高版本 * 检查命令: `node -v` * [下载 Node.js](https://nodejs.org/) 2. **Godot Engine**: 4.5 或更高版本 * [下载 Godot](https://godotengine.org/) ### 1. 启动游戏服务器 (Server) 服务器负责处理多玩家同步。 ```bash # 1. 进入服务器目录 cd server # 2. 安装依赖 (仅首次运行需要) npm install # 3. 启动服务器 node index.js ``` **成功标志**: 终端输出: `PokePlaza Server listening on ws://localhost:8910` ### 2. 启动游戏客户端 (Client) 1. 启动 **Godot Engine**。 2. 导入本项目 (`project.godot`)。 3. 点击右上角的 **运行 (Run)** 按钮 (快捷键 `F5`)。 4. **登录界面**: * 输入你的名字 (例如: "Ash")。 * 点击 **Start** 按钮。 * *默认会自动连接到本地服务器 `ws://127.0.0.1:8910`*。 ### 3. 多人联机测试 要在本地测试多人功能: 1. 运行一个客户端实例,登录并在地图上移动。 2. 在 Godot 编辑器中,再次点击运行,或使用 **Debug -> Run Multiple Instances** 启动第二个窗口。 3. 用不同的名字登录。 4. 现在你应该能看到两个角色在同一个世界中互动! --- ## ⚙️ 配置说明 (Configuration) ### 修改服务器端口 如果你需要修改 WebSocket 服务器端口 (默认 `8910`): 1. 打开 `server/index.js`。 2. 找到第 3 行: `const PORT = 8910;`。 3. 修改为你想要的端口号。 4. 重启服务器生效。 ### 修改客户端连接地址 如果你将服务器部署在局域网或其他机器上: 1. 打开 Godot 脚本 `Scripts/StartMenu.gd`。 2. 找到代码中的 `SERVER_URL` 常量 (通常在顶部): ```gdscript const SERVER_URL = "ws://127.0.0.1:8910" ``` 3. 将其修改为你的服务器 IP 地址,例如 `ws://192.168.1.5:8910`。 --- ## 🎮 操作说明 | 动作 | 按键 | |------|------| | **移动** | `W`, `A`, `S`, `D` 或 方向键 | | **聊天** | 点击左下角输入框 -> 输入消息 -> `Enter` 发送 | | **互动** | 靠近物体/椅子 (如果有互动提示) | --- ## ⚠️ 常见问题 (Troubleshooting) **Q: 客户端显示 "Connection failed"?** * 检查服务器终端是否正在运行 (`node index.js`)。 * 检查端口是否被防火墙拦截 (默认 `8910`)。 * 确认 `StartMenu.gd` 中的地址是否正确。 **Q: 无法看到其他玩家?** * 确保所有玩家都连接到了**同一个**服务器 IP。 * 如果在局域网测试,请使用具体的局域网 IP (如 `192.168.x.x`) 而不是 `127.0.0.1`,并确保防火墙允许通信。 **Q: 报错 `Script Error`?** * 请检查 Godot 控制台底部的 Debug 信息,确保脚本语法兼容 Godot 4.5+。 --- *Powered by Godot 4.5 + Node.js*