828华为云征文|部署在线中文DOS游戏项目 Dosgame
一、Flexus云服务器X实例介绍
云服务器是一种基于云计算技术的虚拟服务器,提供灵活的计算资源和存储空间。用户可以通过互联网访问和管理云服务器,无需购买和维护物理硬件。云服务器具有高可用性、可扩展性和成本效益,适用于各种应用场景,如网站托管、数据存储和大数据分析。用户可以根据需求动态调整资源配置,确保系统的高效运行和资源的最佳利用。
华为云下一代云服务器Flexus X实例
焕新上线,新产品搭配弹性伸缩服务AS及负载均衡服务ELB,可以实现基于业务负载的快速弹缩,从容应对多变的市场业务压力,智能全域调度,算力分配长稳态运行,一直加速一直快。
Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。
本次测评使用的规格是:4核12G-100G-3M规格
的Flexus X实例基础模式
二、Flexus云服务器X实例配置
2.1 重置密码
购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址
和用户名,首先打开你的服务器控制台,选择重置密码
勾选自动重启,点击确定即可
2.2 服务器连接
华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78
命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。
我个人习惯使用 MobaXterm
这款软件,添加SSH连接,输出公网IP
、用户名和端口(默认22),连接即可。
2.3 安全组配置
安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略
。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组
。
主要需要填写优先级
(默认填1即可)、协议端口
(协议一般为TCP
或UDP
,端口一般选择你项目需要暴露的端口即可),描述
(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
2.4 Docker 环境搭建
本次服务器环境是ubuntu系统镜像,需要自己安装docker环境
服务器类别 | 系统镜像 | 内网IP地址 | Docker版本 | 操作系统版本 |
---|---|---|---|---|
Flexus云服务器X实例 | Ubuntu | 192.168.0.168 | 27.2.0 | Ubuntu 22.04.4 LTS |
使用apt-get
命令安装docker及其配置
# 安装必要工具包
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 配置仓库源
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 更新apt包索引
$ sudo apt-get update
# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://ustc-edu-cn.mirror.aliyuncs.com/",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://ccr.ccs.tencentyun.com/",
"https://docker.m.daocloud.io/",
"https://dockerproxy.com",
]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
测试docker
安装是否成功
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```
检查docker
服务状态
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
Docs: https://docs.docker.com
Main PID: 24912 (dockerd)
Tasks: 13
Memory: 24.7M
CPU: 3.778s
CGroup: /system.slice/docker.service
`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查docker compose
版本
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2
三、Flexus云服务器X实例部署 Dosgame
3.1 Dosgame 介绍
Dos游戏中文版 webui,一个可以浏览器内玩 dos 游戏的镜像,包含40几个经典游戏!例如 仙剑奇侠传、模拟城市 2000、美少女梦工厂 2、同级生 2、大富翁3 等。并支持群晖,威联通等一切X86系统 docker 部署。
这些游戏涉及了多种类型,从简单的益智游戏到大型的角色扮演游戏,每一款都代表着那个时代的记忆。项目不仅仅是一个简单的游戏合集,更像是一本大型的电子百科全书,将每一款游戏的文化背景、历史意义一一呈现给玩家。
项目的最大特色在于其复原了游戏的原汁原味。无论是经典的操作方式,还是那些简约却极具创意的游戏机制,中文DOS游戏项目都完美保留了下来。同时,项目中的大多数游戏都可以直接在浏览器中运行,无需安装额外的软件。这一方便特性极大地降低了玩家进入复古游戏世界的门槛。
- 官网:https://dos.lol/
- Github:https://github.com/rwv/chinese-dos-games
3.2 Dosgame 部署
- 创建 docker-compose.yml
version: '3.5'
services:
dosgame:
image: oldiy/dosgame-web-docker:latest
container_name: dosgame
ports:
- "262:262"
restart: unless-stopped
- ports:配置访问端口
如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d
即可自动拉取 Dosgame 镜像,并创建并启动一个容器。 up
表示启动服务,-d
表示在后台执行。docker-compose down
命令用于停止和清理由 docker-compose up
启动的服务。
- 配置安全组
在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听262端口,所以添加安全组为TCP:262
协议端口。
- 启动服务
进入项目目录,执行docker compose up -d
启动命令,会自动拉取容器并运行
从 Dockerhub 拉取 Dosgame 镜像,地址:https://hub.docker.com/r/oldiy/dosgame-web-docker
root@flexusx-c6b3:~/dosgame# docker-compose up -d
Creating network "dosgame_default" with the default driver
Pulling dosgame (oldiy/dosgame-web-docker:latest)...
latest: Pulling from oldiy/dosgame-web-docker
169185f82c45: Pull complete
15535b654dbe: Pull complete
24c041d71669: Pull complete
Digest: sha256:082e2f84cb8a3212f1ff1e2d66f92f9e7d84673cd25e0667e75f86ee48a7d639
Status: Downloaded newer image for oldiy/dosgame-web-docker:latest
Creating dosgame ...
Creating dosgame ... done
- 检查容器状态
检查 Dosgame 容器状态,确保容器正常启动
root@flexusx-c6b3:~/dosgame# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b9df43e0059 oldiy/dosgame-web-docker:latest "/bin/sh -c 'gunicor…" 18 minutes ago Up 18 minutes 0.0.0.0:262->262/tcp, :::262->262/tcp dosgame
- 访问地址
内网:http://localhost:262
外网:http://公网IP:262
- 访问结果
若出现此页面,则部署 dosgame server 成功。
3.3 Dosgame 使用
进入首页,网站设计简单,主要包含首页、游戏列表、关于、搜索功能菜单,还有游戏本体
查看游戏列表页
查看关于页面,展示项目开源地址、手工增加游戏方法、游戏列表、感谢、许可
查看搜索功能,输入关键字点击搜索即可,没目前内置的只有40个,此功能需要在超多游戏数量时才有作用
查看 仙剑奇侠传
游戏,中间是游戏嵌入框,右侧有操作
说明和游戏攻略
的链接
按任意键开始游戏,等待游戏加载,可以切换全屏游戏
方向键
移动,Alt
显示菜单、取消操作,Enter/Ctrl/Space
对话、调查、菜单选择
游戏对话操作太多了,一直按空格键,菜单栏调出显示金钱、状态、仙术、物品、系统信息
查看游戏攻略页,新手提示、遊戲密技、遊戲攻略、裝備列表、仙術列表、敵人列表、存檔修改
程式修改、資訊修改
如果你觉得40多个游戏不够玩,或者有收集癖好,作者也提供一下完整的游戏下载列表,大家可以自己把游戏下载之后,放到 docker 里面。
游戏文件保存在docker容器的 /app/static/games
里面,我们需要把games
目录拷贝到云服务器的本地。
docker ps
,列出全部docker容器,记住dosgame-web-docker的ID 前4位:2b9d
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2b9df43e0059 oldiy/dosgame-web-docker:latest "/bin/sh -c 'gunicor…" 18 minutes ago Up 18 minutes 0.0.0.0:262->262/tcp, :::262->262/tcp dosgame
复制容器内的games
游戏目录,到云服务器的本地路径 /root/dosgame/
docker cp 2b9d:/app/static/games /root/dosgame/
查看games
目录结构
root@flexusx-c6b3:~/dosgame/games# tree -L 1
.
|-- 1898all_games.json
|-- CONTRIBUTING.md
|-- LICENSE
|-- README.md
|-- all-geme-list.txt
|-- bin
|-- download_data.py
|-- games.json
`-- img
2 directories, 7 files
bin
目录里都是游戏all-geme-list.txt
是全部游戏的列表,复制到迅雷下载即可1898all_games.json
直接替换games.json
即可CONTRIBUTING.md
为games.json
的编辑说明
修改docker-compose.yml
,新增volumes
配置映射本地目录到容器目录
version: '3.5'
services:
dosgame:
image: oldiy/dosgame-web-docker:latest
container_name: dosgame
volumes:
- ./games:/app/static/games
ports:
- "262:262"
restart: unless-stopped
最后重启容器即可
docker-compose down
docker-compose up -d
DOS 游戏在目前这个时代已经是完全落伍了,但是作为我们绝大多数80后的青春还是值得回味一下的,不知道屏幕前面的你在玩这些经典的DOS 游戏会有什么感触,我本人是玩的很不习惯了,画质较差,像素化严重,可能游戏本身的玩法、情节才是玩家们更注重的,我还是没有get到那个点,欢迎老玩家们自行探索了,找回以前的青春记忆吧。
四、总结
Dosgame 是中文 DOS 游戏合集开源项目,集成了各种经典的RPG DOS 游戏,直接收集了1898 款 DOS 游戏,支持在线玩,还可以通过Docker一键部署到我们的NAS上,让我们随时都能体验到 DOS 游戏的乐趣。此次使用的Flexus X实例
配置还是很高的4核12G-100G-3M规格
的基础模式
,游戏的加载很快,试玩的时候查看CPU和内存占用都很少,仙剑奇侠传游戏才20m
大小,游戏操作灵敏,只是没有以前的乐趣了,还是很适合怀旧的。
华为云服务器是部署游戏项目的理想选择。其高性能计算能力和灵活的扩展性,能够满足游戏的高并发需求。华为云提供全球多地域的数据中心,确保低延迟和高可用性,提升玩家体验。现在华为云服务器正进行828 B2B企业节
,可享受限时优惠,立即行动 吧!