2026-01-07 23:37:56 +08:00
2025-12-22 18:57:51 +08:00
2025-12-22 18:57:51 +08:00
2025-12-22 19:08:50 +08:00
2025-12-22 18:57:51 +08:00
2025-12-22 18:57:51 +08:00
2025-12-22 18:57:51 +08:00
2025-12-22 18:57:51 +08:00
2026-01-07 23:37:56 +08:00

口袋广场 (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 或更高版本
  2. Godot Engine: 4.5 或更高版本

1. 启动游戏服务器 (Server)

服务器负责处理多玩家同步。

# 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 常量 (通常在顶部):
    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

Description
No description provided
Readme 12 MiB
Languages
GDScript 75.7%
JavaScript 21.9%
Python 2.4%