Pwn Adventure 3的游戏场景设置在一座美丽的岛屿上,在这个岛上任何情况都有可能发生,例如飞行,无限游戏虚拟币等。
以下是该视频系列的一部分,涵盖了游戏中各类不同的挑战任务。
安装条件
来自官方README文档:
你可以通过以下3种方法来构建和部署自己的服务器。
1.官方文档
根据官方提供的文档说明来构建和部署服务器。官方文档:http://www.pwnadventure.com/#server
2.指南
@Beaujeant创建了一个简易的分步指南,你可以参考该指南来构建和部署服务器。https://github.com/beaujeant/PwnAdventure3/blob/master/INSTALL-server.md
3.Docker
如果你的主机上已安装了docker和docker-compose,那么这个方法应该说是最简便的了。它可以轻松运行和TEARDOWN服务器,而无需更改实际的主机系统。
首先,我们下载并安装PwnAdventure3:
git clone https://github.com/LiveOverflow/PwnAdventure3.git
cd PwnAdventure3
wget http://pwnadventure.com/pwn3.tar.gz
tar -xvf pwn3.tar.gz
想要运行服务器,必须要安装docker和docker-compose。Docker的更新发展速度较快,因此建议大家最好通过PwnAdventure3的官方文档安装部署。
docker-compose
: https://docs.docker.com/compose/install/然后在项目目录下运行docker-compose build来重新构建服务,并启动主服务器和游戏服务器:
docker-compose build
docker-compose up
你也可以在docker-compose up后添加-d参数,使其在后台运行。
首先从官方网站下载客户端:http://www.pwnadventure.com/#downloads
要使客户端连接到新服务器,必须修改客户端的server.ini文件。docker启动的服务器主机名master.pwn3和game.pwn3(理论上是可以在docker/setup文件中进行修改的)。
客户端的server.ini文件必须遵循以下内容格式:
[MasterServer]
Hostname=master.pwn3
Port=3333
[GameServer]
Hostname=game.pwn3
Port=3000
Username=
Password=
Instances=
确保客户端可以访问这些主机,例如将它们添加到/etc/hosts文件。在本例中,服务器运行在192.168.178.57上:
192.168.178.57 master.pwn3
192.168.178.57 game.pwn3
警告:在server.ini中使用IP作为主机名将不起作用!在这个问题上我被折腾了2个多小时。
终止服务器,只需输入docker-compose。
警告:数据库文件并不是永久保存的 - 取下容器将会重置所有内容。所以为了以防万一,请提前做好备份。
$ docker-compose build
Building init
ERROR: Error processing tar file(exit status 1): write /client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Content/Paks/Characters.pak: no space left on device
原因:你的磁盘空间可能不足。
$ docker-compose build
Building init
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
原因:你的用户可能不属于docker组。sudo usermod -a -G docker pwn3,用id验证。或service docker restart重启docker服务。
文件完整性
检查文件是否已损坏:
$ md5sum pwn3.tar.gz
d3f296461fa57996018ce0e4e5a653ee pwn3.tar.gz
$ sha1sum pwn3.tar.gz
022bd5174286fd78cd113bc6da6d37ae9af1ae8e pwn3.tar.gz
Connection Error: Unable to connect to master server
这可能意味着MasterServer不可访问。
客户端问题:
服务器问题:
Waiting in connection queue…
这说明MasterServer可以访问,现在正在等待一个可以提供给客户端的免费GameServer。这可能意味着没有GameServer正在运行,或者无法连接到MasterServer。
服务器问题:
以下是在测试期间的主机版本:
$ uname -a
Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ docker-compose version
docker-compose version 1.19.0, build 9e633ef
docker-py version: 2.7.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
$ docker --version
Docker version 17.12.1-ce, build 7390fc6
*参考来源:GitHub, FB小编 secist 编译,转载请注明来自FreeBuf.COM