转载声明
本文为汤老板的良心大作,原标题为《云筏科技容器云假正经教学测评系列之容器部署minecraft服务器(一)》。
原文:https://ivistang.cloudraft.cn/articles/123/
为什么选择容器云来部署mc服务器
关于为什么选择容器云平台来部署minecraft服务器,其主要原因有两个:
第一,容器安装和管理minecraft服务器很方便,使用逻辑基本上就是start和stop容器来控制mc server的开关,通过改变容器运行参数来对mc server进行设置,基本跳过了复杂的命令行和linux管理过程。
第二,cloudraft容器云平台依据使用量付费,当容器处于stop状态时只计算硬盘费用,大概一个月几毛钱,非常划算,不像其他定制化服务器,感觉不用就是浪费钱,非常适合三五好友下班放学玩的情形。
云筏科技的容器云的产品逻辑:账号=>环境=>容器,环境是持续化文件的保存位置,这意味如果你需要更换server版本,只需要替换容器的版本,配置信息和记录不会消失。这意味着版本更替极为方便,而不需要担心重装软件带来的困扰。
ps. 本文针对mc私服小白玩家,如果你是想开启商业化mc服务器,那我建议定制vps,毕竟粗又大。
部署流程
创建环境选择docker
首先上docker hub(https://hub.docker.com/)看看minecraft服务器container的排名。
星数最多的就是itzg/minecraft-server,强烈推荐这个,好用又好控制(有许多控制参数又设置了相当好的默认值)。
接下来登入云筏科技云平台(https://app.paas.cloudraft.cn/),点击左侧新建环境按钮(new environment)。
注:右边红框标出了容器的资源使用量,包含了每个环境磁盘使用量和计算单元使用量,方便随时观看。
呼出环境设置界面后,选择docker选项卡,并选择应用服务器(application server),查找并选定itzg/minecraft-server容器,点击下一步next确定。
设置运行和环境参数
首先设置计算资源,个人感觉设置最大资源8-12G就已经够用了,跑起来完全不卡,不过要注意的是由于java是先分配内存的关系,所以资源用量是相对固定的,如果想要节省money,还是主要通过闲置时停止服务器来实现,理论上不搞自动化生产的话还是可以的(听说无人登陆的时候本来游戏时间就是停止的,尚待考证)。磁盘大小50G差不多够用了,有需求可以最大设置到100G,还能发工单申请更大的计算资源和磁盘空间。
其次,非常重要的就是设置环境参数(Variables),必须设置的参数如下:
参数名(Name) | 参数值(Value) | 备注 |
EULA | true | 表示同意莫酱的EULA协议,此参数需要手动添加 |
MEMORY | 8G | Java占用的最大内存,建议设置为容器的最大资源的80%或以下,空出来的资源不会额外收费,但也避免了告警。 |
参数设置方式:
新添参数(如EULA):点击绿色Add按钮;
编辑参数(如MEMORY):下拉进度条,找到并选中相应参数值后,点击黄色Edit按钮;
save:确认并保存修改;
cancel:取消修改;
参数修改完成后,点击右下方的绿色Apply按钮进行确认。
目前云筏科技容器云不支持自定义域名,因此,回到前一步的设置页面,点击右下方的Create即开始创建容器。期间时间可能有些长(5~10min),需要等待。
设置出网端口
自建环境的默认端口是80,443啥的,但我们要用的是25565,因此需要设置开启外网端口映射。具体步骤如下:
- 鼠标移至环境上方呼出环境设置按钮并点击呼出环境设置界面;
- 选中settings中的endpoint选项,点击上方Add按钮,呼出添加界面;
- 在添加端口(Add Endpoint)界面,在name处输入任意好记的名字(比如mc),内部端口号(Private Port)设置为25565,通信协议(Protocol)设置为tcp,然后右下角的Add按钮确认即可;
- 设置完成后,你会发现Endpoint多了一行内容,记录下Access URL即对应mc服务器地址(单击选中后复制)。
参考图如下:
添加hosts
最后一步,也是最关键的一步,更改hosts。由于不可抗力的原因,貌似不管是mojang还是alpine的服务器貌似都会被屏蔽,因此需要修改,
首先打开应用服务器的webssh界面;
输入以下命令:
1 2 3 4 | sed -i \'s/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g\' /etc/apk/repositories ##这里用了科大alpine镜像源,小伙伴们可以试试其他的 echo "13.224.163.129 launchermeta.mojang.com launcher.mojang.com" >> /etc/hosts echo "13.224.153.169 sessionserver.mojang.com" >> /etc/hosts echo "52.85.126.162 authserver.mojang.com" >> /etc/hosts ##上述为mc服务器地址和验证服务器地址,ip随时间可能有变,大家可以百度之 |
然后重启节点(restart node)即可。
服务器控制
服务器控制完全不需要代码操作,爽。
停止服务器
启动服务器
大约需要2min:
查看服务器日志
点开服务器log按钮,选中run.log文件。