【好玩的开源项目】在Linux系统下部署 star-battle太空飞船射击小游戏
- 一、star-battle小游戏介绍
- 1.1 star-battle小游戏简介
- 1.2 star-battle小游戏玩法
- 1.3 开源地址
- 二、本次实践介绍
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 2.3 Apache HTTP Server简介
- 三、安装httpd软件
- 3.1 检查yum仓库
- 3.2 安装httpd软件
- 3.3 启动httpd服务
- 3.4 查看httpd服务
- 3.5 防火墙和selinux设置
- 3.6 浏览器测试web服务
- 四、部署star-battle太空飞船射击小游戏
- 4.1 下载小游戏源码
- 4.2 查看项目源码目录
- 4.3 重启httpd服务
- 4.4 访问小游戏web页面
- 五、试玩star-battle太空飞船射击小游戏
- 六、总结
一、star-battle小游戏介绍
1.1 star-battle小游戏简介
star-battle是一款使用JavaScript ES6、Canvas开发的太空飞船射击小游戏。
1.2 star-battle小游戏玩法
star-battle是一款基于JavaScript ES6和Canvas技术开发的太空飞船射击小游戏。在游戏中,玩家可以扮演一名太空飞船的驾驶员,驾驶自己的飞船在宇宙中与敌人进行战斗。游戏中的目标是尽可能击败更多的敌人,生存更长的时间。玩家可以通过射击敌人来获得得分,击败更多敌人可以获得更高的分数。同时,玩家还需要小心避开敌人的攻击,保持自己的生命值不被消耗完。在star-battle中,玩家可以通过键盘的方向键来控制飞船的移动方向,通过按下空格键来发射子弹。游戏画面使用Canvas技术绘制,呈现出太空的背景和动态的飞船、敌人和子弹。star-battle采用了现代的JavaScript ES6语法,使得游戏的开发更加简洁和高效。同时,利用Canvas技术可以实现流畅的动画效果,为玩家带来更好的游戏体验。star-battle是一款简单而有趣的太空飞船射击小游戏,适合喜爱射击游戏的玩家体验。
1.3 开源地址
github地址:https://github.com/gd4Ark/star-battle
二、本次实践介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | 内核版本 |
---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 3.10.0-957.el7.x86_64 |
2.2 本次实践介绍
1.本次实践环境为个人测试环境,生产环境请谨慎;
2.在centos7.6环境下部署star-battle太空飞船射击小游戏。
2.3 Apache HTTP Server简介
- Apache HTTP Server(简称Apache)是一个开源的Web服务器软件,广泛用于Internet上的各种网站、应用程序和服务。Apache的运行平台包括各种操作系统,如Unix、Linux、Windows等。Apache最初由一群志愿者开发,并且是一个完全免费的软件。它具有高度的可扩展性和灵活性,可以通过模块化的方式实现各种功能和特性。Apache支持多种编程语言和协议,如Perl、PHP、Python、Java和HTTPS等。
- Apache的主要功能包括处理HTTP请求、静态和动态内容的传输、反向代理、负载均衡、虚拟主机等。它提供了丰富的配置选项和强大的日志功能,使管理员能够轻松地管理和监控服务器的运行状态。Apache具有出色的性能和稳定性,经过多年的发展和改进,成为最受欢迎的Web服务器之一。根据统计数据,目前全球超过一半的网站都使用Apache作为其Web服务器。
三、安装httpd软件
3.1 检查yum仓库
如果没有配置镜像源,可以使用阿里云的镜像源。
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
检查yum仓库状态,确保各镜像源正常。
[root@jeven ~]# yum repolist enabled
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors* epel: mirrors.bestthaihost.com
repo id repo name status
!base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,072
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,767
!extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 518
!mongodb-org MongoDB Repository 342
!mysql-connectors-community/x86_64 MySQL Connectors Community 227
!mysql-tools-community/x86_64 MySQL Tools Community 100
!mysql57-community/x86_64 MySQL 5.7 Community Server 678
!updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 5,176
repolist: 30,880
3.2 安装httpd软件
直接使用yum安装httpd软件。
yum -y install httpd
3.3 启动httpd服务
启动httpd服务,并使开机自启。
systemctl start httpd && systemctl enable httpd
3.4 查看httpd服务
查看httpd服务状态,确保httpd服务正常。
[root@jeven ~]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)Active: active (running) since Mon 2023-12-04 20:42:41 CST; 7s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 49534 (httpd)Status: "Processing requests..."CGroup: /system.slice/httpd.service├─49534 /usr/sbin/httpd -DFOREGROUND├─49536 /usr/sbin/httpd -DFOREGROUND├─49537 /usr/sbin/httpd -DFOREGROUND├─49538 /usr/sbin/httpd -DFOREGROUND├─49539 /usr/sbin/httpd -DFOREGROUND└─49540 /usr/sbin/httpd -DFOREGROUNDDec 04 20:42:40 jeven systemd[1]: Starting The Apache HTTP Server...
Dec 04 20:42:41 jeven systemd[1]: Started The Apache HTTP Server.
3.5 防火墙和selinux设置
- 设置selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
- 关闭防火墙,如果想要开启防火墙,需放行80端口。
systemctl stop firewalld && systemctl disable firewalld
3.6 浏览器测试web服务
浏览器打开:http://192.168.3.166,将IP替换为自己服务器IP地址。
四、部署star-battle太空飞船射击小游戏
4.1 下载小游戏源码
进入网页根目录
[root@jeven ~]# cd /var/www/html/
[root@jeven html]#
在github拉取astar-battle小游戏源码
git clone https://github.com/gd4Ark/star-battle.git
4.2 查看项目源码目录
查看star-battle项目源码目录
[root@jeven html]# tree -L 2 star-battle
star-battle
├── css
│ ├── common.css
│ └── style.css
├── img
│ ├── a-.png
│ ├── a+.png
│ ├── background-1.jpg
│ ├── boom.png
│ ├── enemyBullet.png
│ ├── fuel2.png
│ ├── logo-01.png
│ ├── meteorites
│ ├── mute.png
│ ├── pause.png
│ ├── plane
│ ├── playerBullet.png
│ ├── play.png
│ ├── score.png
│ ├── speaker.png
│ ├── star
│ └── time3.png
├── index.html
├── js
│ ├── class
│ ├── config
│ ├── game.js
│ ├── main.js
│ ├── scenes
│ └── utils
├── LICENSE
├── README-CN.md
├── README.md
└── sound├── background.mp3├── destroyed.mp3└── shoot.mp311 directories, 25 files
4.3 重启httpd服务
重启httpd服务
systemctl restart httpd
4.4 访问小游戏web页面
访问地址:http://服务器IP地址/ star-battle,在浏览器进入star-battle太空飞船射击小游戏页面。
五、试玩star-battle太空飞船射击小游戏
- 游戏操作:
- 使用 W、A、S、D 控制飞船,按下 Space 发射。
- 燃料初始值为15,每秒递减1点,当燃料值为0时,游戏结束。
- 触碰掉下的燃料瓶可增加15点,最大值为30点。
- 击中敌方飞船增加5分。行星需击中两次,增加10分。击中友方扣除10分。
- 撞击敌方损失15点燃料,撞击友方扣除10分。
- 游戏允许负分。
- 按下 P 暂停游戏,按下 M 静音。
六、总结
star-battle太空飞船射击小游戏是一款开源的小游戏项目,部署起来非常简单,只需要一个web服务器,将游戏内容放在网站目录即可开始游戏。作为游戏爱好者,你可以将游戏部署在个人服务器上,并在闲暇时享受游戏乐趣。