最近在研究我的服务器,在服务器上搭了很多docker的项目,然后找着找着发现一个能用Docker配置环境的游戏叫Pkland。
项目地址:GitHub - popkarthb/pkland: 疯狂大陆是一款多人在线的战略游戏。 游戏操作简捷,您仅需要使用浏览器就可以在任何时间任何地点进行游戏。 疯狂大陆遵循完全人与人的对抗和合作,作为一名将领您将与成千上万的玩家共处在一片疯狂而又无序的世界中。 你所关注的是如何发展自己..疯狂大陆是一款多人在线的战略游戏。 游戏操作简捷,您仅需要使用浏览器就可以在任何时间任何地点进行游戏。 疯狂大陆遵循完全人与人的对抗和合作,作为一名将领您将与成千上万的玩家共处在一片疯狂而又无序的世界中。 你所关注的是如何发展自己.. - popkarthb/pklandhttps://github.com/popkarthb/pkland 有官服,可以先去体验一下:http://www.pkland.lol/
当然了这是一个能多人对战的游戏,所以如果搭私服没人玩还是去官服爽玩吧233
还有QQ群:515238858,想注册估计得让管理帮忙激活账号。(不知道管理员现在有没有关掉邮箱验证)
来几张我本地搭好后游玩的图片。
我感觉像是文字放置版红警。(但我没玩过红警,说错了请见谅)
看着挺不错,但是在我安装的时候着实痛苦,虽说官服是完整的,但是在Github上我们下载下来的源代码有一些缺失,导致我们在启动docker compose和配置数据库时有一些问题,现在我在CentOS虚拟机上搭建一遍作为演示。
个人比较懒,不想再讲一遍docker和docker compose了,就当各位都安装并且配置好了下载源吧。
从Github下载项目代码包,放到系统里,因为只是演示,我就放桌面了。
在目录里打开终端,或者从已有终端cd过去。
源码包里是自带docker-compose.yml的,但这个时候直接up就会报错。
编辑docker-compose.yml文件,你会发现其实是有个缩进错误。
其实还有一些别的小问题,不影响启动,但是着实让我难受,所以放一个我修改的版本吧。
services:
web:
image: webdevops/php-apache-dev
depends_on:
- db
volumes:
- .:/app
environment:
DB_HOST: db
DB_USER: 2moons # 数据库账户,和下面的MYSQL_USER相同
DB_PASSWORD: 2moons # 数据库密码,和下面的MYSQL_PASSWORD相同
DB_NAME: 2moons # 游戏的数据库,和下面的MYSQL_DATABASE相同
ADMIN_NAME: admin # 游戏服务器管理员账号
ADMIN_PASSWORD: test # 管理员密码
ADMIN_MAIL: mail@example.com
ports:
- 80:80 # 冒号之前的80可以改成你想要的端口
# 这里其实还有个443端口,并且自带证书,不过我在服务器上用Nginx Proxy Manager反代了,用不着了
networks:
- 2moons
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: root # 数据库root账户的密码
MYSQL_DATABASE: 2moons # 游戏数据库,要和上面的DB_NAME相同
MYSQL_USER: 2moons # 额外创建的数据库账户,要和上面的DB_USER相同
MYSQL_PASSWORD: 2moons #额外数据库账户的密码,要和上面的DB_PASSWORD相同
networks: # 这里上一行其实有个数据库端口,但是用network可以让两个容器用容器名访问,用不着了,关了也安全点
- 2moons
networks:
2moons:
虽然修改好了docker-compose.yml内容,但我们还不能直接启动,还有点问题需要解决。
在项目文件夹内的install文件夹中,有个文件叫做install.sql的文件,这个文件定义了游戏安装过程中数据库内数据的创建,但是在Github上下载下来的版本中,缺失了很多字段的定义,如果直接安装的话,有些功能就会出现这样的错误。
所以我们得先替换这个文件再进行安装,经过我在安装时的不断试错,我已经更新好了这个文件。
下载地址:https://pan.baidu.com/s/1Nv-iVmifC-VssptIAp-PIw?pwd=5piv
下载好文件过后,我们把文件放到以下路径:/项目文件夹(我这里就是pkland-main)/install/,替换掉原有的install.sql。
这一步完成后,我们就真的可以是用docker-compose启动项目了。我这里拉取过镜像,所以直接启动了,如果没有拉取过会自动下载,等待就好。
等到启动后,直接访问地址,当时写的端口是哪个就访问哪个端口,我是用的默认的80,就不用写了。
如果Docker启动顺利,你会看到这个界面。
这个界面提示我们要去/include文件夹添加一个叫做ENABLE_INSTALL_TOOL的文件以开启安装模式,所以直接touch一个就行,名字一样就行不需要有内容。
创建完成后刷新页面,就进入正式的安装流程了。如果这里不是中文,可以在右上角选一下。
到了系统需求这一步,主要是看前几项有没有通过。
后面一堆未找到和不可写,改一下权限就行,不过得先创建一个cache文件夹。
修改好后,刷新页面,这个时候应该就都通过了。
来到数据库配置,填写数据库信息,有时候会和你写的不一样,改一下就行。
到这一步,其实安装就完成了。
继续,会让你登陆管理员后台,根据自己设置的信息登陆就行。
管理员面板就是设置一些东西,点击右上角回到游戏就进入游戏界面了。
一切完成,开玩!