ChrisKim
Do not go gentle into that good night.
颢天

【已重制】从零开始 CentOS 搭建 Minecraft 服务器

warning 文章废弃
因本文已有更优秀的重制版,因此本文废弃。重制版见下。

本教程从零开始介绍使用CentOS开服的每一个步骤,不出意外的话,只要正确跟随本教程的操作,每个人都能搭建出自己的Minecraft服务器。教程很长,请耐心阅读和操作。

序言、成果展示

https://assets.zouht.com/img/blog/464-01.webp
1.15.2纯净正版服务器

使用阿里云ecs.t6-c1m1.large搭建,地域华北3张家口。
2核(Intel Platinum 8269CY)2G内存20G盘,29.2元/月。
40Mbps出网带宽(按量付费0.8元/GB)。

实测1.15.2纯净服务器5人不卡,20*20*20TNT爆炸没有问题。5人生存CPU占用在20~25%波动(无跑图情况下)。

warning 关于服务器配置
如果你想开多mod的forge服务器,或是在线人数较多的服务器,需要的硬件配置会变得更高,因此你需要购买更高配的云服务器。本教程服务器配置仅为本教程负责,若你发现配置不够,请自行升级。

一、购买云服务器

本教程使用阿里云ECS搭建,若你有更实惠的云服务器,你也可以自行购买。

注:使用大陆服务器搭建Minecraft服务器无需ICP备案,可放心使用大陆服务器。

1.进入阿里云官网。https://www.aliyun.com/

2.注册账号并登陆。

3.点击“产品分类”->“云服务器 ECS”->“立即购买”进入购买页面

4.推荐我的配置选择,没提到的东西全部默认选项(可按照自己状况来调整)

付费模式:包年包月
(可先使用按量付费测试几小时或几天,但按量付费不能转为包年包月,测试完需要重新购买包年包月)
地域及可用区:华北3(张家口)
(本地域在此文章撰写时价格最实惠,若价格变化,可自行选择最便宜的地域)
实例:在筛选中选择2vCPU,2GiB,选择突发性能型T6,价格¥23.6/月
平均基准CPU计算性能20%的意思:本实例CPU占用20%时可长时间免费工作。若CPU占用小于20%会积攒CPU积分,若CPU占用大于20%时会消耗CPU积分,若积分耗尽则会产生额外费用。(但根据我的经验,搭建MC服务器没人在线时CPU积分会一直积攒,我就开了半天就攒了300多积分,有人在线时积分也基本不增不减。所以CPU积分应该不会缺。)
镜像:公共镜像->CentOS->7.3 64位
(Linux系统占用小,节省配置资源。如果你够土豪,配置足够的话上Windows Server也无妨,毕竟你有钱嘛)
储存:系统盘->高效云盘->20G(默认40G)
(若你只是好朋友玩,存档不会很大,选择20G足够,还能节省5.6元)
购买时长:自行选择
然后点击右下角“下一步:网络和安全组”

带宽计费模式:按使用流量
(按固定带宽价格过于昂贵,并且你服务器不可能24小时都有人上线,所以按量付费更实惠)
带宽峰值:40Mbps
(虽然调到满价格也不变,不拉满是因为你用不上,并防止被攻击时产生高额流量费。)
然后点击右下角“下一步:系统配置”

登录凭证:自定义密码
(这个是你连接云服务器的密码)
登录密码:自行设置,密码强度要高,防止被黑。
然后无需再下一步,直接点击右下角“确认订单”

5.支付订单
然后就是钱解决的问题了,仔细检查配置是否有误,确认订单购买即可。

二、连接云服务器

1.百度下载SSH软件(推荐使用Xshell,如果懒得下载也可以使用阿里云控制台自带的SSH)
官方家庭/学校免费版获取链接:https://www.netsarang.com/zh/free-for-home-school/(填写正确邮箱,选择两者,提交。两封包含下载链接的邮件就会发送到你的邮箱)

2.进入ECS控制台(点击阿里云主页的右上角控制台,再点左上角选择云服务器ECS)
进入你购买实例的控制台,找到配置信息一栏,找到公网IP

https://assets.zouht.com/img/blog/464-02.webp
本服务器是我为了写教程专门开的演示服务器,所以未打码

3.打开本机的Xshell软件,点击“创建新会话”按钮

https://assets.zouht.com/img/blog/464-03.webp

在弹出的对话框中填写公网IP,然后点击确定

https://assets.zouht.com/img/blog/464-04.webp
https://assets.zouht.com/img/blog/464-05.webp

第一次连接服务器会弹出这个安全警告,无需理会直接点击“接受并保存”

https://assets.zouht.com/img/blog/464-06.webp

输入服务器用户名:root
可以勾选上记住用户名,下次就不用再输入

https://assets.zouht.com/img/blog/464-07.webp

输入你设置的服务器密码
可勾选记住密码,下次就不用输入

https://assets.zouht.com/img/blog/464-08.webp

点击确定后,出现“Welcome to Alibaba Cloud Elastic Computer Service”的欢迎语后,即已经连接上服务器
(若没有成功连接,检查密码是否输入正确,IP是否输入正确,再多试几次)

https://assets.zouht.com/img/blog/464-09.webp

三、安装面板

其实开Minecraft服务器无需安装面板,所有操作全部可以用Linux命令完成。但是考虑到Linux命令可能有些人不熟悉,所以安装宝塔面板,就可以可视化管理文件,极大程度地简化操作流程。如果你精通Linux指令,跳过本步骤。(话说精通Linux的人会看得起我这教程吗)

1.安装面板

在Xshell里粘贴以下命令安装宝塔面板
Xshell的粘贴快捷键是Shift + Insert
复制快捷键是Ctrl + Insert
也可以右键复制粘贴
官网: https://bt.cn/

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

然后会出现询问你是否确定安装宝塔面板,输入y回车即可。

https://assets.zouht.com/img/blog/464-10.webp

然后就是炫酷的安装环节(个人觉得命令行的安装过程真的看起来很炫酷),稍作等待,出现以下信息即安装成功。
(不要关闭界面,之后还需要使用)

https://assets.zouht.com/img/blog/464-11.webp

2.放行服务器防火墙8888端口

进入阿里云ECS控制台(之前复制公网IP的那里)

https://assets.zouht.com/img/blog/464-12.webp
https://assets.zouht.com/img/blog/464-13.webp
https://assets.zouht.com/img/blog/464-14.webp
https://assets.zouht.com/img/blog/464-15.webp

放行防火墙后就可以进行下一步了

3.进入并配置面板

复制出现的Bt-Panel后面的链接,粘贴到浏览器。然后再输入账号密码登录(安装成功界面有)

https://assets.zouht.com/img/blog/464-16.webp

登陆成功后同意用户协议,点击进入面板即可。
进入面板后会弹出安装推荐套件,无需安装,直接关掉。我们用宝塔面板只是管理文件用的,这个套件是建网站用的,所以不需要安装。

https://assets.zouht.com/img/blog/464-17.webp

点击左侧面板设置,配置一下面板,推荐修改一下:
面板用户:改成好记的名字
面板密码:设一个安全的密码
安全入口:改成好记的名字,比如“/你的姓名拼音”
面板端口:可选择修改,修改后请防火墙放行相应端口(上文说到过操作),不放行的话面板打不开的
修改后面板登录链接就是:
http://服务器公网IP:你设置的端口/你设置的安全入口

至此,宝塔面板安装完成。

四、安装Java环境

1.下载Java环境

进入官方网站:链接
进入后找到“Linux x64 Compressed Archive”一栏,点击下载,需要登录Oracal账号才能下载,注册登录即可。
个人云盘下载链接:
https://run.sh.cn/javalinux

2.将下载的压缩包上传至服务器

进入服务器宝塔面板,点击左侧“文件”选项卡,进入“/usr/local”目录,点击“新建”->“新建目录”,新建一个java文件夹,再进入新建的java文件夹,点击“上传”,选择你下载的jdk压缩包,点击“开始上传”。

上传完成后点击解压,解压完成后进入解压出的文件夹,复制目录,之后会用到。(如果你跟随我的教程,应该我们的目录都是/usr/local/java/jdk1.8.0_241)

https://assets.zouht.com/img/blog/464-18.webp

3.安装Java环境

面板中进入/etc目录,找到profile文件,点击编辑。

https://assets.zouht.com/img/blog/464-19.webp

拖动到文件末尾,粘贴以下代码。如果你安装java的目录和我不一样,请在JAVA_HOME=后面粘贴你自己的java目录(上文复制的那个)

JAVA_HOME=/usr/local/java/jdk1.8.0_241 
CLASSPATH=.:$JAVA_HOME/lib.tools.jar 
PATH=$JAVA_HOME/bin:$PATH 
export JAVA_HOME CLASSPATH PATH
https://assets.zouht.com/img/blog/464-20.webp

编辑无误后点击左上角的保存按钮,退出即可。

4.生效配置文件

进入服务器SSH(即用Xshell连接服务器),粘贴以下代码执行。

source /etc/profile

然后执行以下代码

javac -version
java -version

若出现以下信息,即Java环境安装成功!

https://assets.zouht.com/img/blog/464-21.webp

五、配置Minecraft服务端

1.下载服务端核心

服务端自行下载,本文使用的是纯净正版服务端,在正版启动器内可以直接下载。如果你要开插件服/mod服,可自行百度服务端,配置方法同下文。

https://assets.zouht.com/img/blog/464-22.webp
正版启动器在配置编辑界面可以下载服务器端

下载后我们就得到了一个jar文件

个人云盘下载链接:
https://run.sh.cn/mcserver

2.上传服务端核心jar文件

进入宝塔面板,进入/root目录,创建文件夹mc,进入mc文件夹,点击上传将服务端核心上传到服务器。

3.编写启动脚本

在mc文件夹里新建空文件,文件名run.sh,编辑文件,粘贴以下代码。

补充:
有些根据我教程操作的人运行脚本时出现以下问题,为脚本编码格式的问题。
我写教程时使用宝塔面板新建的脚本文件时unix格式的,可以正常使用。不知道为什么有些人新建的文件就是dos格式的。dos格式的文本再每行末尾会加上一个不可见的”^M”符号,在Linux系统下运行脚本时就会出错,因此要将文本格式改为unix格式(如果会操作的话直接用vim编辑器新建就是正确的格式)。dos改unix具体操作可参见这篇文章:https://www.cnblogs.com/chengd/p/7809430.html
如果看不懂这个操作,可以下载我写好的脚本,格式是unix的:https://run.sh.cn/mcrun下载后解压上传到服务器就能正常使用,可在宝塔面板内自己修改配置内容。

https://assets.zouht.com/img/blog/464-23.webp
#!/bin/sh
java -Xms**m -Xmx**m -jar [path]/minecraft_server.[version].jar nogui


# -Xms:初始启动分配的内存
# -Xmx:最大分配的内存(按服务器配置来设置)
# nogui:用于以基于文本的界面来显示,可减少内存使用。如果使用图形化界面,那么移除nogui选项。
# [path]/minecraft_server.[version].jar:这个是你的服务器核心文件目录,如果你和我的不一样请自行改为自己的核心文件目录
#!/bin/sh
java -Xms768m -Xmx1536m -jar /root/mc/minecraft_server.1.15.2.jar nogui

# 这是我使用的配置文件
https://assets.zouht.com/img/blog/464-24.webp

编写完成后点击保存,然后点击权限,把所有勾都打上确认。

4.首次启动Minecraft服务器

连接SSH,输入以下命令定位到mc目录

cd /root/mc

输入以下命令运行脚本,启动服务器

./run.sh
https://assets.zouht.com/img/blog/464-25.webp

首次运行不会成功,因为要同意一个协议。

5.同意最终用户许可协议 EULA

宝塔面板进入mc目录,找到生成的新文件eula.txt,点击编辑。将eula=false改为eula=true,保存即可。

https://assets.zouht.com/img/blog/464-26.webp

6.修改服务器配置文件server.propertices

宝塔面板进入mc目录,找到文件server.properties,点击编辑。以下是简单的介绍,服务器配置文件配制方法网上有很多文章,如果有不清楚的可以自己查一下。

#Minecraft server properties 
#Sat Mar 14 16:12:18 CST 2020 
spawn-protection=16 
max-tick-time=60000 
query.port=25565 
generator-settings= 
force-gamemode=false 
allow-nether=true #是否允许进入地狱 
enforce-whitelist=false 
gamemode=survival #游戏模式 survival生存 creative创造 adventure冒险 
broadcast-console-to-ops=true 
enable-query=false 
player-idle-timeout=0 
difficulty=easy #难度 peaceful和平 easy简单 normal中等 hard困难 
broadcast-rcon-to-ops=true 
spawn-monsters=true #是否生成怪物 
op-permission-level=4 
pvp=true #是否启用玩家互相伤害 
snooper-enabled=true 
level-type=default 
hardcore=false #极限模式 
enable-command-block=false 
network-compression-threshold=256 
max-players=20 #最大玩家数 
max-world-size=29999984 
resource-pack-sha1= 
function-permission-level=2 
rcon.port=25575 
server-port=25565 #服务器端口,可自行修改,也可以不修改 
server-ip= #服务器IP,留空即可 
spawn-npcs=true 
allow-flight=false 
level-name=world #存档名称,也就是读取的存档文件夹的名称,默认为world 
view-distance=10 #视距 
resource-pack= 
spawn-animals=true 
white-list=false #是否启用白名单,启用后只有白名单用户能进入服务器 
rcon.password= 
generate-structures=true 
online-mode=true #是否连接正版验证,开启后只有正版玩家能进入,开盗版服请改为false 
max-build-height=256 
level-seed= #地图种子,默认留空 
prevent-proxy-connections=false 
use-native-transport=true 
motd=A Minecraft Server #在多人游戏界面显示的服务器介绍语 
enable-rcon=false

修改完成后,我们需要记住的是自己设置的server-port是多少,默认25565。

7.防火墙放行端口

进入宝塔面板,点击“安全”选项卡,放行你设置的端口。

https://assets.zouht.com/img/blog/464-27.webp

进入阿里云ECS控制台,进入本实例控制界面,点击“本实例安全组”,添加安全组规则(上文已经说到过添加方法)。添加25565端口的出网和入网放行规则。授权对象:0.0.0.0/0

两个放行必不可少,否则服务器无法连接。

8.启动服务器

cd /root/mc
./run.sh

第一次开服服务器会生成地图,耐心等待。

https://assets.zouht.com/img/blog/464-28.webp

出现Done后,开服成功!

恭喜你,服务器已经成功启动,现在测试下服务器吧。

六、尝试登录服务器

打开相应版本的Minecraft游戏,点击多人游戏,添加服务器。输入你的服务器公网IP即可连接服务器。

https://assets.zouht.com/img/blog/464-29.webp

如果正常登录,那么恭喜你,服务器已经配置成功了!
但是还有一件重要的操作,请继续跟随本教程!

请先关闭Minecraft服务端!输入stop指令停止服务器!若强制关闭服务器,有存档丢失风险!!

七、设置Minecraft服务端一直运行

如果现在你关闭SSH连接,Minecraft服务器就会被关闭,这当然是你不想的,你想24小时开启本服务器,那就得设置Minecraft服务端一直运行。(进行本操作请先关闭mc服务端)

1.安装虚拟终端screen
在SSH内粘贴本代码一键安装,安装很快,几秒钟就安装成功了。

yum install -y screen

2.创建一个名为mc的session(注意是大写S

screen -S mc

3.然后再输入开服指令(上面已经说过好多次了)

cd /root/mc
./run.sh

下面是screen命令用法

将终端后台:按Ctrl + A,再按D

回到终端mc:

screen -r mc 
screen -D -r mc #强制进入

关闭此screen:

exit

列出已经打开的screen:

screen -ls 
# 或 
screen -list

这样,你的mc服务器就能在你断开SSH连接后继续运行了。

恭喜!Minecraft服务器正式开启成功!

八、额外配置

如果你想要给你的服务器绑定一个域名,可以到阿里云购买一个域名,然后将域名解析到你服务器的公网IP即可。

https://assets.zouht.com/img/blog/464-30.webp

这样你就能直接在游戏里填写服务器绑定的域名进入游戏了。

后记、一些闲话

我写这一篇教程的目的是因为我发现网上的教程都不叫从零开始开服的教程,要么就是没提如何安装Java环境,要么就是很简单的几句话概括一下方法。虽然我看还算看的懂,但是如果没有一些电脑基础看起来还是比较吃力。于是我决定写一个从零开始的教程,详解开服流程。当然本教程也不是完美的,如果有建议可以评论留言哦。

为了这篇教程截图,我还特意又买了一个服务器,专门来截图,保证读起来有图有真相,可以对照图片看自己操作是否正确。写这篇教程花了5个多小时,于是服务器费用高达2.5元(滑稽)

本文链接:https://www.zouht.com/464.html
本文使用:CC BY-NC-SA 4.0 许可
# # #
首页      隐藏      【已重制】从零开始 CentOS 搭建 Minecraft 服务器

颢天

【已重制】从零开始 CentOS 搭建 Minecraft 服务器
warning 文章废弃因本文已有更优秀的重制版,因此本文废弃。重制版见下。 本教程从零开始介绍使用CentOS开服的每一个步骤,不出意外的话,只要正确跟随本教程的操作,每个人都能搭…
扫描二维码继续阅读
2020-03-14