第一人称 3D 方块沙盒游戏,支持电脑和触屏操作、持续生成地形、挖掘建造、工具制作、账号云存档与最多四人房间。
需要 Node.js 22 或更新版本,无额外服务端 npm 依赖。
npm start打开 http://localhost:4301/blockworld/index.html 。运行 npm test 执行自动测试。
只能通过 npm start 或 node deploy/blockworld/start.cjs 启动公开部署。不要直接运行 node server.js 对外提供服务:独立启动入口才会限制公开路由。
- WASD 移动,鼠标转向,空格跳跃;手机使用摇杆和屏幕按钮。
- 左键/Q 挖掘或攻击,右键/E 放置;对床按放置睡觉,按挖掘收起。
- 挖下的方块靠近自动拾取,在背包和工作台管理材料、制作工具。
- 地图大厅可创建、命名和切换地图;房间码用于邀请同伴。
本仓库仅含代码和依赖许可,不含真实玩家账号、密码散列、登录令牌、个人/房间地图、背包、补发记录、排行榜数据、浏览器配置或运行日志,也不包含原工作目录的 Git 历史。
默认运行数据写入 runtime-data/。生产环境应通过 DATA_DIR 指向代码目录之外的持久化目录。上传代码不会迁移旧玩家数据。
PORT=4301 DATA_DIR=/srv/fangyu-data npm start同账号的云存档依赖服务器数据;共享背包和独立背包是不同模式。本机备份仍受站点地址和浏览器影响。迁移服务器时,应停服后私下备份、迁移完整数据目录,绝不能提交到公开仓库。
- 当前是原型,不是已经完成安全审计的公网运营版本。发布代码不等于部署游戏。
- GitHub Pages 只能托管静态文件,不能运行当前账号、存档和房间后端。需要支持常驻 Node.js 和持久磁盘的主机。
- 使用单进程实例、HTTPS 反向代理、非管理员服务用户;配置备份、磁盘监控和请求限流。
- 六位数字密码较弱;现有房间逻辑还保留
local认证兼容路径。正式公开运营前必须移除认证绕过、完善账号安全、会话控制、资源配额和服务端权限校验。 - 客户端上报位置、装备和部分物品操作,防作弊不完整;牛羊仍在客户端模拟。
- 房间地图有持久化,但在线玩家和部分生物/掉落状态仍在内存。升级前提醒玩家保存退出,先备份并验证恢复。
- 后端保留共用服务的其他游戏逻辑,但独立启动入口不开放这些路由。公开副本已去除写死的真实管理员姓名和兑换口令,改为无默认值的环境变量;方屿不需要配置它们。
- 本版本未授权清理任何旧玩家数据。遇到保存失败先导出诊断日志并保留页面,不要清空浏览器数据。
Three.js 及 PointerLockControls 随代码提供,许可证位于 blockworld/vendor/three/LICENSE。本仓库未替作者额外选择开源许可证;公开可见不等于授予任意再利用许可。