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即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 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.mdgames.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企业节,可享受限时优惠,立即行动 吧!

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值