エンジニアのための、圧倒的最安Minecraftサーバ構築(月々たったの600円!)
始めに値段を書きます
只需每月600日元,您就可以随时启动Minecraft服务器。(*当前价格。)
-
- Docker (option)
- Google Cloud Platform (f1-micro instance)
f1-micro instance は、月間常時起動した場合 $0.006/hour(EU/asia)。
31*24=744時間で$4.464、ディスクの値段等を含めると$5程なので、$1=120円として600円程度です。
Diskは10GBの標準ディスクとして計算。(SSDだと結構値段が変わって来るので気を付けてください。10GB当たり150円程度UP)。Minecraftのワールドデータはどんなに大きくても1GBくらいだろうと思ったので、このサイズにしました。足りなくなったら後で拡張する事も可能ですし
f1-micro じゃ動かなくね?
可能会被认为是这样的。(或者说它根本不动)
所以,这就是“cuberite”出现的地方!!
Cuberite是什么?
-
- http://cuberite.org/
- https://github.com/cuberite/cuberite
本服务是一个宣称与C++编写的官方Minecraft服务器完全兼容的服务器。
在f1-micro实例上尝试运行时,内存使用情况为VIRT大约为600MB,RES约为80MB(我们为swap分配了大约2GB的空间)。由于没有任何CPU占用,所以CPU使用率几乎为0%,因此相对来说是健康的(稍后将说明在多人登录状态下的内存使用情况)。
我也试过运行Minecraft服务器的公式,但是CPU占用率达到了100%,内存也频繁地进行交换,一个服务器刻度花费了60.99秒(应该是最多0.05秒)(导致了每个刻度的处理时间超过了60秒),导致服务器崩溃,完全无法使用。
在Cuberite中,如果能够加载现有的世界数据,则可以直接使用,这意味着即使已经通过其他方式启动了服务器,也可以无问题地进行迁移。
由于刚开始使用,如果在多人游戏等方面频繁出现故障,我会追加说明。
Cuberite的使用方法
公式サイトでバイナリを配布しているので、これを使用する事も可能です。(32bit / 64bit 両方あります)
只有一个需要注意的问题,需要glibc 2.15或以上版本。
CentOS 6.x系だと glibc 2.12 になってしまうので入れる事が出来ません。(恐らくCentOS 7系以降だと入れられると思います)Ubuntuだと12系がダメで、14以降かな・・・
新しくインスタンスを立ち上げる際のOSとして、「慣れているから」と言う理由で、これら古い系統のOSを選択してしまうと、動作しない悲しい思いをしてしまうので気を付けてください・・・。
それでも古いOSを使いたかったら?
Dockerを使う、と言う手があります。と言うか僕がそうでした。(既にCentOS 6.7で立ててしまっていたので・・・)ので一応書いておきます。
- https://github.com/gfiedler/docker-cuberite
一开始我充满兴致地想自己编写Dockerfile,但当我搜索后发现已经有人写好了,所以我直接使用了这个。
$ sudo docker run -i -p 25565:25565 --name mc sftech/minecraft-server
请按以下方式启动。这对于喜欢容器的容器爱好者也是一个推荐的选择。
最后一件不应忘记要做的事情
在防火墙规则中,请不要忘记打开tcp端口25565!
设置实例的标签
不要忘记保存。
补充
Cuberite 似乎仍然有一些不完善的地方。
在迁移现有的世界时,建议您先备份原始世界数据。