【教程】利用群晖docker插件搭建MineCraft服务器

前言

动机

前几天偶然看到能利用群晖docker中的镜像搭建MineCraft服务器→群辉Docker搭建Minecraft服务器

Snipaste_2019-09-12_01-12-03

看起来配置相当容易,就试了下,但是似乎没办法打mod和用别人的地图存档。如果你只是想要玩原版MineCraft的话还是比较推荐的,毕竟配置起来很简单。但如果你想要高度自定化的服务器就没办法了。于是就想到用docker中的CentOS镜像搭建一个MC服务器,几经波折最后是成功搭好了,但是发现网上的教程实在是支离破碎,于是就想到写下这篇教程。

为什么要用docker搭建服务器

我在MCBBS看到的大部分服务器端整合包都是在Windows下运行的,包里一般都附带一键开服脚本,开服确实方便,如果你想要让服务器长时间在虚拟机里运行,相比起linux系统可能确实没那么稳定,而且还更耗费资源。

如果在我们的群晖NAS中搭建MC服务器,一般只有两种办法,一是开linux虚拟机,二是利用docker插件。个人认为docker也可以理解为是一种虚拟机,但是docker相较于linux虚拟机来讲不需要完整的系统环境,所以消耗的资源更少,更轻量化。

-------------------------------------------------------------------------------------

开始搭建MC服务器

1.下载CentOS镜像

打开docker插件,搜索centos(其他的镜像也可以,这里以CentOS为例),下载最新版镜像。(如果你是第一次接触docker插件,可以去先去了解一下如何安装→一学就会的Docker迅雷远程下载)

Snipaste_2019-09-12_01-56-08

2.创建服务器端文件夹

在等待下载的过程中我们可以先去在docker文件夹中创建一个新的文件夹,名字无所谓,这个文件夹将来会用来存放你的服务端文件。

Snipaste_2019-09-12_11-15-17

3.启动容器

  1. 找到下载好的centos镜像,启动镜像

Snipaste_2019-09-12_02-19-05

  1. 配置容器名称,CPU优先度一般选高,内存限制根据服务器需要设置,一般最少都要2G以上,完成后进入高级设置。

Snipaste_2019-09-12_02-26-36

  1. 选择卷,添加刚刚新建好的服务端文件夹,装载路径任意填,之后在终端机中输入装载路径就能进入你的服务端文件夹了。不要勾选只读选项。

Snipaste_2019-09-12_11-26-40

  1. 选择端口设置,新增一项端口,MC的默认容器端口是25565,但是之后可以更改,这里就以25564为例。本地端口是你要映射出去的端口,填一个没有被占用的端口就好,这里为了好记就还是填25564。类型选默认TCP。

Snipaste_2019-09-12_11-35-08

5.确认设置后点击应用,启动容器

Snipaste_2019-09-12_11-41-14

4.配置容器环境

  1. 回到docker界面,选中刚刚启动的容器,点击详情,并进入终端机。

Snipaste_2019-09-12_11-45-09

2.输入指令安装java1.8.0版本,如果你的MineCraft是1.7.10版本及以下的话则需要安装java1.7.0。

yum -y install java-1.8.0-openjdk*

等待java安装完毕。

5.准备服务端文件

可以去MCBBS下载你想要的服务端,本教程就以Forge官服1.12.2版本为例子。 把下载好的服务端放到docker的MC服务端文件夹内,比如我就应该放到docker/MCServer2文件夹下。启动器和开服器可以酌情删除,本教程用不到。

Snipaste_2019-09-12_15-10-59

forge-1.12.2-14.23.2.2611-universal.jar和minecraft_server.1.12.2.jar是服务器端的核心文件,在下载完服务器端包后最好检查一下有没有这两类文件。如果没有的话,有些整合包会附带一个install.bat之类的脚本,运行之后就会自动下载必要的核心组件了(当然也可以在终端机中运行install.sh,本质是一样的)。 例子中的forge版本有点老了,安装一些mod可能会失败,所以我们需要去更新forge版本。 打开Minecraft Forge官网下载稳定版本的forge安装器。

Snipaste_2019-09-12_15-24-02

打开安装器,选择安装服务器版本,安装目录选择MC服务器端文件夹,等待安装完成。

Snipaste_2019-09-12_15-28-34

在MC服务器端文件内新建一个文本文档,输入以下内容

java -Xmx4096M -Xms512M -jar forge-1.12.2-14.23.5.2768-universal.jar nogui

其中-Xmx4096M意思是最大占用内存为4096M,-Xms512M为最小占用512M。-jar XXXXXX.jar是你服务器端的核心文件。 保存文档后将文档改为start.sh文件,注意文件后缀格式也要改。

完成之后找到eula.txt文件,如果没有的话需要自己新建一个,确认文档内有eula=true,如果是false需要改为true,代表你同意相关社区协议。

找到server.properties文件,用记事本方式打开,由于我修改了MC服务器端口,需要将文件内的server-port=25565改为server-port=25564。如果是默认则无需修改。注意,如果你要以离线模式启动MineCraft,则还需要将online-mode=true改为online-mode=false跳过在线验证。文件内还有很多设置参数可以更改,具体可以参考MineCraft维基百科

再确认下这三个文件已经修改好。

Snipaste_2019-09-12_15-46-59

6.开始部署服务器

回到终端,输入指令

cd /home/server

切换到服务器端文件目录下,再输入指令

ls -al

确认目录下的文件是否正确。

Snipaste_2019-09-12_16-08-30

确认无误,输入指令,启动MC服务器

./start.sh

等待完成,有的服务端会出现下面的提示

Snipaste_2019-09-12_14-15-58

你只需要输入

/fml confirm

直至完成开服即可。

如果你不知道服务器开没开成功,则可以输入

say hello

如果服务器有回应则证明开服成功了。这时你可以关闭终端窗口了,服务器会在容器中后台运行。

Snipaste_2019-09-12_16-17-38

7.进入你的服务器

打开MineCraft,输入群晖的ip地址并加上端口,比如我的是192.168.31.64:25564即可进入服务器。如果你有公网ip也可以将MC服务器端口映射后用动态域名加端口访问。如果不了解可以参考→【DDNS】怎样在外网访问家里的NAS等智能设备,端口转发

8.自定化你的服务器

1.MOD

说实话给服务器打mod其实比较烦,因为很有可能在开服时会报错,而且服务器上不建议打太多mod,会造成服务器负载太大,甚至有些服务器端的整合包也会开服报错,我也遇到过好多次,还没搞清楚到底是哪里有问题。所以最好是把一些有新物品的mod要放到服务器端里,否则在服务器游玩时物品不会显示出来。 一般来讲服务器端有的mod也都要放到客户端,否则会进不去服务器。此外如果打了mod进不去游戏也有可能是需要更新一下客户端的forge版本。 服务器的mod就放到服务器端文件夹下mods文件内。添加新mod后需要重新开启服务器,参考步骤6。

2.地图存档

下载好别人的地图存档要放到服务器端目录下的world文件夹下,这个没什么好讲的了,注意存档的版本要对应就行了。

-------------------------------------------------------------------------------------

结语

利用docker插件开服对于初学者还是有点难度的,我自己也是磕磕绊绊才弄好服务器,到现在也还没弄明白为什么有些服务器整合包就是开服不成功。当然我也参考了这位大哥的教程【如何在群辉中安装Minecraft服务器】,但我觉得写得不够“小白”,有些细节上的东西没有讲得很明白,新手很容易看糊涂。整理这篇教程也是希望后来者能少走点弯路。总之,HAVE FUN! image.png

# 教程 

评论

美食&料理 教程
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×