你可以试下这个开放世界:
https://summer-afternoon.vlucendo.com/

他支持多人在线。
我们也来实现下这个功能。
它是基于 WebSocket 来做的。
我们用 Nest 来写服务端。
安装下:
npm install -g @nestjs/cli
nest new open-world-server

进入项目,安装依赖,把服务跑起来:
pnpm install
pnpm run start:dev


首先,我们要做一下用户系统,也就是登录、注册,不然没法知道是哪个用户。
安装 docker desktop:
首先需要安装 Docker,直接从官网下载 docker desktop 就行:
(windows 选择 widnows 的安装包。m1 要注意芯片类型,选择 apple chip 那个包)
它内置了 docker 命令。
把它安装到系统之后,可以在命令行看下 docker 命令是否可用:
然后我们来看看 docker desktop 的界面:
images 是本地的所有镜像,containers 是镜像跑起来的容器。
docker desktop 可以可视化的管理它们,很方便。
跑一下 mysql 的镜像:
通过 Docker Desktop 查询下 MySQL 的镜像:
点击 run,传入参数:
这里端口 3306 就是 client 连接 mysql 的端口。
(另一个 33060 端口是 mysql8 新加的管理 mysql server 的端口,这里用不到)
指定 volume,用本地目录作为数据卷挂载到容器的 /var/lib/mysql 目录,这个是 mysql 保存数据的目录。
(这里的 /Users/guang/mysql 是我本地的一个目录,任意目录都行。在 windows 下就是 D://xxx/xx 的形式)
GUI 客户端有很多,这里我们用 mysql 官方的 GUI 客户端: MySQL Workbench
选择你的操作系统版本和 cpu 架构对应的安装包,点击 download:
(m1 芯片要选择 arm 的包)
它会让你登录,你可以点下面的 no thanks,直接开始下载:
安装包下载后,点击安装。
安装好后,打开 mysql workbench,点击这个 + 号:
输入连接名,点击 store in keychain 输入密码:
之后你可以点击下 Test Connection 测试连接是否成功:
然后点击 ok。
之后点击这个连接,进入操作 mysql server 的界面:
创建一个 database:

点击 apply

这样,数据库就创建成功了。
下节我们来实现用户系统。
总结
这节开始我们给开放世界加上后端部分。
我们创建了 nest 项目,安装了 docker 和 mysql,创建了数据库。
下节连上数据库做增删改查。