type
status
date
slug
summary
tags
category
icon
password
URL
1. 前言
小学的时候,班上有几个同学家里比较富裕,爸爸妈妈给他们买了步步高电子词典,本来是学习的工具,但是有一天发现可以下载游戏,于是学习机就变成了游戏机。
我当时没有这个机器,只能看着他们玩,还记得又一次把作业给同学抄,然后借他的步步高玩了金庸群侠传,非常上头。后来还玩了伏魔记、魔塔……
一晃眼,现在都工作好多年了……
今天就让我们重温一下儿时的游戏吧。
2. 项目展示
直接丢几个图:
2.1 特点
- 支持 docker 一键部署
- 中文 DOS 游戏合集,目前共有 1898 款游戏
- 支持存档
3. 相关地址
咕咕的 Demo:https://games.gugu.ovh/
GitHub 官方仓库:https://github.com/rwv/chinese-dos-games
4. 搭建环境
- 服务器:腾讯香港轻量应用服务器 24 元 / 月 VPS 一台 咕咕自己搭建用的是香港的腾讯轻量应用服务器 ,(这次最好选带宽比较大的,而且线路还不错的机器)如果是小白刚开始玩的话,可以选择 Racknerd 的高性价比服务器(注意地区选美国西部城市的)
- 系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)
- 安装好 Docker、Docker-compose(相关脚本)
- 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)
- 【非必需本教程选用】安装好 Nginx Proxy Manager(相关教程)
5. 搭建视频
5.1 YouTube
5.2 哔哩哔哩
6. 搭建方式
如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。
安装系统(腾讯云轻量应用服务器)
腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 (如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源) 不建议用国内的 。
登陆(腾讯云轻量应用服务器)
6.1 安装 Docker 与 Nginx Proxy Manager
可以直接参考这篇内容:
6.2 创建安装目录
创建一下安装的目录:
英文输入法下,按
i
这边有两种搭建方式,因为 36G 的游戏做成 docker 的镜像太大了,所以作者只是将 40 多个经典的 DOS 游戏封装到了 docker 的镜像里面,所以你的服务器如果硬盘不够大,可以直接用默认的方式安装。
修改好之后,注意切换成英文输入法,然后按一下
esc
,然后 :wq
保存退出。如果你的服务器硬盘大于 36G,那你可以尝试直接装 1989 款游戏。
修改好之后,注意切换成英文输入法,然后按一下
esc
,然后 :wq
保存退出。然后在
注意这边下载默认是下载 1989 款游戏的,总共 36G 左右,如果你的服务器的下载带宽不大的话,可能需要非常非常久。这也是这边推荐大家用海外的服务器的原因,带宽普遍较大,比如 Racknerd(注意选美西地区),下载是 G 口的速度,理论值在 128M/s,下载起来相对较快。
如果出现:
输入:
再重新运行:
即可。
如果出现:
说明电脑上没装 python,你需要装一个
这边还是以 Debian 系统为例:
即可。
如果你担心 SSH 断开,或者你不想一直等着,想让它后台慢慢下载,可以试试咕咕之前分享过的 Screen 的使用方法:Linux 实用工具 Screen —— 再也不怕因为网络连接中断杀死任务了!
下载完成之后,你可以运行:
查看文件夹中的文件数量。不出意外应该显示
1898
你也可以用:
计算文件夹的总大小,不出意外应该显示:
没什么问题的话,我们可以运行:
或者
取决于你的 docker compose 的版本,新的是没有
-
的等待拉取镜像即可。
6.3 打开服务器防火墙(非必需)并访问网页
如果你是阿里云、腾讯云、甲骨文、azure 等大厂的机器,可能需要打开防火墙的端口
8090
举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):
图中示例填的是
5230
,备注填的是 memos
,这边我们填 8090
,示例填 games
,确定即可(如果你在 docker-compose 文件里换了 9009
,这边就需要填 9009
,以此类推)查看端口是否被占用(以
8090
为例),输入:如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~
如果出现:
运行:
如果端口没有被占用(被占用了就修改一下端口,比如改成
8081
,注意 docker 命令行里和防火墙都要改)最后:
理论上,等出现绿色的
done
字样,我们就可以输入
http://ip:8090
访问了。不过现在我们还是用 IP + 端口的方式访问的,不够优雅,一般情况下,我们都需要给网页加上 https!让网页更安全!
namesilo 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo 上 6 位数字的 xyz 续费永远都是 0.99 美元 = =)
如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入
gugugege
来获得 1 美元的优惠(失效的话可以评论区反馈一下~)namesilo 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些丑 古老 = =)
我们接着往下看!
7. 反向代理
我们要用域名而不是 IP + 端口的方式来访问我们的服务!
7.1 利用 Nginx Proxy Manager
之后,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager(相关教程))
直接丢几张图:
IP 填写:
如果 Nginx Proxy Manager 和 games 在同一台服务器上,可以在终端输入:
查看对应的 Docker 容器内部 IP。
否则直接填
games
所在的服务器 IP 就行。再次打开,勾选这些:
然后就可以用域名来安装访问了。
7.2 利用宝塔面板
发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:
直接新建一个站点,不要数据库,不要 php,纯静态即可。
然后打开下面的配置,修改 Nginx 的配置。
代码如下:
此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。
有同学可能会问,为什么不直接用宝塔自带的反向代理功能。
也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =
所以后来就不用了,直接用上面的方法来操作了。
8. 使用教程
参考视频。
8.1 更新 games
一般应该不需要怎么更新,作者停更很久了,不过这边还是提供一下 docker-compose 安装的应用的基本更新方法。
提示:
输入
y
利用 Docker 搭建的应用,更新非常容易~
8.2 卸载 games
可以卸载得很干净。
9. 常见问题
- 部分游戏没有按键说明,可能需要自己在键盘尝试一下,一般就是
shift
、alt
、enter
、空格
、command
、z
、x
这几个键,大家自己试试看。
- 部分游戏可能有 bug,大家可以反馈一下。
10. 结尾
祝大家用得开心,有问题可以去 GitHub 提 Issues,也可以在评论区互相交流探讨。
同时,有能力给项目做贡献的同学,也欢迎积极加入到 项目 中来,贡献自己的一份力量!
最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!
参考资料
GitHub 官方仓库:https://github.com/rwv/chinese-dos-games/
- Author:NetSec
- URL:https://blog.51sec.org/article/d0ea1220-f620-4dfa-b9ad-ff5de4073e2b
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!