调查在Cloud Foundry v2上运行和访问Minecraft的方法(番外篇)

调查在Cloud Foundry v2上运行和访问Minecraft的方法(额外篇)。

作为调查云原生平台Cloud Foundry v2上运行Minecraft并访问的额外篇章。

我尝试了将之前在Qiita上发布的《如何连接到Cloudn PaaS v2(CloudFoundry)的Service(PostgreSQL & MySQL)》的chisel应用到实现在容器中运行的minecraft代理上,尽管S3持久化仍然存在问题,但我推测这是可行的,并进行了实验。

进入(Minecraft服务器+代理)的步骤

为了在Cloud Foundry上的容器内访问Minecraft,克隆cf-minecraft-chisel。

$ git clone https://github.com/morikat/cf-minecraft-chisel
$ cd cf-minecraft-chisel

将必需的eula.txt文件添加到服务器启动中

$ echo 'eula=true' > eula.txt

将应用程序推送到Cloud Foundry

$ cf push minecraft-app

启动Chisel客户端

$ ./chisel-bin/chisel_linux_amd64 client -v --keepalive 3s http://hogehoge.mybluemix.net 25565:127.0.0.1:25565

在这种情况下,http://hogeohge.bluemix.net部分是推送应用的URL。

25565:127.0.0.1:25565部分表示了在运行chisel client的机器上的25565 Cloud Foundry应用程序中的Minecraft服务器的IP Minecraft服务器端口。

如果在Mac或Windows上运行Chisel客户端,请按照以下步骤操作。

在chisel-bin中存储了各自的二进制文件,所以请使用那里的文件。

$ ls chisel-bin/
chisel_darwin_amd64  chisel_linux_amd64  chisel_windows_386.exe

进入Minecraft客户端的步骤

通过凿子在Cloud Foundry上访问Minecraft。

选择多人游戏

image

增加服务器

image

添加服务器界面

image

请将服务器名称设置为易于理解的名称,并指定运行Chisel客户端的计算机和端口作为服务器地址,然后点击完成。

连接到添加的服务器。

image

世界视图

image

解释动作的原理

cf-minecraft-chisel是一个应用程序本身。

用户许可协议(手动添加的文件)

只要在eula.txt文件中设置eula=true的值,Minecraft的服务器就被视为同意EULA。
(每个人都必须同意,因此需要手动存储)

凿刀仓库里的货物

在代理的帮助下,存放着连接到云计算平台Cloud Foundry容器内应用程序所需的二进制文件。

manifest.yml 的本地化中文版本。

指定内部使用的Minecraft用构建包分支。
默认情况下,内存设定为512M,根据需要进行更改。

《Minecraft下载链接.txt》

在Minecraft的构建包中,使用此URL的值来下载服务器的jar文件。

启动_minecraft.sh

在Cloud Foundry上启动Minecraft服务器的命令
根据manifest.yml中的内存值进行相应的更改。

Heroku构建包-Oracle Java(构建包侧)。

我正在将Minecraft分支更改为Minecraft使用。原始构建包的派生版本在这里。

垃圾桶下面

检测

根据是否存在 EULA.txt 文件来决定是否应用 Minecraft 的构建包。

编译

    1. 安装JDK

 

    1. 使用minecraft_download_url.txt的值获取minecraft的jar文件

 

    下载用于代理的chisel

lib的下属

工具

存储了在编译部分调用的函数定义等内容。

未完成的问题

将其适配并使其持久化存储在s3等上。

需要像heroku-buildpack-minecraft那样,使用s3cmd工具通过while循环每60秒同步s3等进行一些改进的措施。

如果Cloud Foundry内的容器中运行的Minecraft服务器进程死亡,则进行恢复。

通常来说,如果Cloud Foundry的应用程序死亡,会自动启动一个新实例的机制。

根据现有的cf-minecraft-chisel配置,由于监控的对象是chisel服务器端,为了实际应用,我们也需要采取相应的措施。

广告
将在 10 秒后关闭
bannerAds