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

从零开始云服务器搭建Minecraft服务器 [重制]

谁不想拥有一个属于自己的Minecraft服务器,和朋友一起联机呢?但是现在家庭宽带没有公网IP,没法直接联机,而云服务器大多数人又没有接触过,不知如何购买和使用,Linux系统的操作又非常抽象难懂。不过,这篇教程就是来解决这个问题的。

无论你有没有云服务器使用基础或者是Linux的操作基础,通过这篇零基础教程,你都能成功搭建属于你自己的Minecraft服务器!

注1:本教程面向无基础的玩家,包含很多原理解释和详细的操作过程,因此会显得比较冗长,实际来看其实也没有非常复杂,因此大家在操作时请认真耐心阅读每一句内容。
注2:本文章为本站464号文章的重制版。因为那篇文章是我写过的最成功的一篇,热度最高,但是经过一年多的观察,上篇文章又许多纰漏,因此重制。

成果展示

https://assets.zouht.com/img/2603-26.webp

若使用ecs.t6-c1m1.large型号的ECS,配置2核2G,价格¥41/月(流量按量¥0.8/GB)
原版服务器勉强能开,但性能不够充裕,适合2~4人原版游戏联机。实测内存占用90%以上,CPU占用不跑图时5~20%,跑图时90%以上。综合来说稳定性一般。

若使用ecs.t6-c1m2.large型号的ECS,配置2核4G,价格¥75/月(流量按量¥0.8/GB)
原版服务器稳定运行,且性能比较充裕,适合5~7人原版游戏联机。实测内存占用70%以上,CPU占用不跑图时5~20%,跑图时90%以上。综合来说稳定性较好。Mod服/插件服勉强能开,但不保证稳定性。

若使用ecs.t6-c1m4.large型号的ECS,配置2核8G,价格¥143.00/月(流量按量¥0.8/GB)
原版服务器稳定运行,性能非常充裕,综合来说稳定性非常好。Mod服/插件服能开,稳定性好。根据反馈数据,Spigot服务端得1.17插件服,装载包括多世界的5个插件,内存占用78%,可长时间运行。

云服务器硬件配置极其昂贵,若你需要更高配置的服务器,又无法支付起服务器费用,不妨使用退而求其次的方法,自建内网穿透,在自己的电脑上开服,映射到公网让朋友访问。教程:https://www.zouht.com/2504.html


服务器购买

注1:本教程使用的云服务器提供商是阿里云,若你有其他选择,可以自行调整,操作大同小异。
注2:使用大陆服务器搭建Minecraft服务器无需ICP备案,可放心使用大陆服务器。
注3:本教程所用服务器为临时购买的服务器,教程写完后就释放了,因此IP均未打码。

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

二、注册账号并登陆,并完成实名认证等相关操作。

三、点击“产品分类”->“云服务器 ECS”->“立即购买”进入购买页面,选择“自定义购买”

四、推荐按我的配置选择,没提到的东西默认选项

  • ①基础配置
    • 付费方式:包年包月
      若你要长期开服,请选择包年包月。如果你只是短期测试,可选择按量付费(按小时计算)。包年包月和按量付费之后可以相互转换。长远上来说,按量付费性价比更高。
    • 地域及可用区:华东2(上海)——选择离你最近的地域
      有时候有些地域会有优惠,可以看看优惠力度大不大,如果便宜就可以选它。没优惠的话就买离你最近的地域,如果选择困难的话,就选华东2(上海)
    • 实例规格:ecs.t6-c1m2.large
      这款是2核4G的云服务器,¥68/月(不含云盘、流量),可根据自己服务器需求做调整。一般模组服、插件服的配置要求会显著高于官方的纯净服务端。
      平均基准CPU计算性能20%的意思:本实例CPU占用20%时可长时间免费工作。若CPU占用小于20%会积攒CPU积分,若CPU占用大于20%时会消耗CPU积分,若积分耗尽则会产生额外费用,这个可以让轻度使用用户买到更划算的服务器。当然,如果你发现服务器CPU占用长期居高不下,可能这款就不太适合你了。
    • 镜像:公共镜像 -> CentOS -> 7.9 64位
      Linux系统占用更低,能省出更多性能给Minecraft服务端。如果你出手阔绰,买的服务器性能逆天,选个Windows Server也不是不行。
    • 储存:高效云盘 -> 20GB
      这项我们选择了最低性能的最低空间,为了降低成本。因为一般来说,和好朋友玩的服务器,存档不会太大,20GB都算是过剩了,另外我们也不是专业用户,不需要高性能的云盘。
    • 购买时长:自行选择
    • 然后点击右下角“下一步:网络和安全组”
  • ②网络和安全组
    • 带宽计费模式:按使用流量
      按固定带宽的价格非常昂贵,并且你服务器不可能24小时都有人上线,所以选择按使用流量。流量费¥0.8/GB
    • 带宽峰值:40Mbps
      虽然调到满价格也不变,不拉满是因为你根本用不上,并防止被攻击时产生高额流量费。
    • 然后点击右下角“下一步:系统配置”
  • ③系统配置
    • 登录凭证:自定义密码
      这个是你连接云服务器的密码
    • 登录密码:自行设置,密码强度要高,防止被黑。
    • 然后无需再下一步,直接点击右下角“确认订单”

五、支付订单,成功购买云服务器

连接云服务器

一、下载SSH软件

SSH软件可以让我们连接上远程的Linux服务器,可以远程控制服务器。推荐使用Xshell,官方家庭/学校免费版获取链接:https://www.netsarang.com/zh/free-for-home-school/(填写正确邮箱,选择两者,提交。两封包含下载链接的邮件就会发送到你的邮箱)

二、进入ECS控制台,找到服务器IP

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

https://assets.zouht.com/img/2603-01.webp

三、打开Xshell,创建会话

点击“创建新会话”按钮

https://assets.zouht.com/img/2603-02.webp

根据下图填写相关信息

https://assets.zouht.com/img/2603-03.webp

四、连接服务器

点击新创建的会话

https://assets.zouht.com/img/2603-04.webp

连接新服务器会弹出警告,选择“接受并保存”

https://assets.zouht.com/img/2603-05.webp

弹出用户名对话框,输入用户名(默认为root)

https://assets.zouht.com/img/2603-06.webp

弹出密码对话框,输入你设置的密码

https://assets.zouht.com/img/2603-07.webp

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

https://assets.zouht.com/img/2603-08.webp

安装面板

其实单纯开Minecraft服务器根本用不上面板,全程用命令行就能完成,如果服务器要开网站才用得上面板。但因为大多数玩家没有Linux系统的操作经验,根本不知道Linux命令的使用方法,这样的话进行后续操作会非常不便。因此我还是决定利用宝塔面板中的“文件管理”功能,将命令行操作变为可视化界面,这样大多数人都可以很快接受。虽说操作更繁琐,但是上手更快。

一、访问宝塔面板官网获取安装命令

宝塔Linux面板页面:https://www.bt.cn/bbs/thread-19376-1-1.html,在页面找到“Centos安装命令”并复制。我已经为大家复制好了,见下。

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

二、安装宝塔面板

(一)安装面板

1.打开Xshell,连接到你的服务器,在命令行中粘贴(快捷键SHIFT+INSERT)上面获取到的安装命令,然后回车运行。

2.会显示询问你是否确定安装宝塔面板,输入”y”,回车确认。

https://assets.zouht.com/img/2603-09.webp

3.自动安装过程,无需操作,耐心等待即可。(Linux系统安装过程是不是感觉很炫酷啊~哈哈)

https://assets.zouht.com/img/2603-10.webp

4.出现以下信息即安装成功(不要关闭此界面,之后还需要使用)

https://assets.zouht.com/img/2603-11.webp

(二)放行防火墙8888端口

8888是宝塔面板的默认端口,我们需要先在防火墙放行此端口才能访问宝塔面板。

1.进入阿里云的云服务器管理控制台,选择“安全组”选项卡

https://assets.zouht.com/img/2603-12.webp

2.点击这台服务器的安全组,进入详情界面

3.在入方向中点击”手动添加“,内容如下,未提到的默认即可

  • 端口范围:8888
  • 授权对象:0.0.0.0/0(意思是允许任何IP访问)
https://assets.zouht.com/img/2603-13.webp

4.点击保存即可

访问面板

一、登录面板

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

https://assets.zouht.com/img/2603-14.webp

然后会弹出协议,阅读后同意即可。

然后会弹出安装套件的弹窗,无需安装,直接关闭即可。因为我们只用上了这面板的文件管理功能,那些套件是开网站用的。

https://assets.zouht.com/img/2603-15.webp

还会弹出登录绑定宝塔账号,去注册一个登录即可。(旧版本是没有强制的….现在强制你登账号了)

二、简单调整面板

点击左侧菜单栏”面板设置“选项,进入设置界面。推荐修改以下内容,提高面板的安全性。

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

安装JAVA环境

一、下载JAVA环境

JAVA8:(Minecraft 1.16及以下请使用这个版本)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

JAVA16:(Minecraft 1.17及以上请使用这个版本)
https://www.oracle.com/java/technologies/javase-jdk16-downloads.html

进入后找到“Linux x64 Compressed Archive”一栏,点击下载,需要登录Oracal账号才能下载,注册登录即可。

偷懒的话,也可以直接访问我的云盘来下载:https://run.sh.cn/jre

二、安装JAVA环境

(一)将下载好的压缩包上传至服务器

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

(二)解压压缩包

上传完成后点击解压,解压完成后进入解压出的文件夹,复制目录,之后会用到。

https://assets.zouht.com/img/2603-16.webp

如果你跟随我的教程,用的是JAVA8,应该我们的目录都是/usr/local/java/jdk1.8.0_291,如果你用的是JAVA16,那么你的目录应该是/usr/local/java/jdk-16.0.1

(三)安装JAVA环境

面板中进入/etc目录,找到profile文件,点击编辑。(进入/etc后直接在右上角搜索框搜索)

https://assets.zouht.com/img/2603-17.webp

拖动到文件末尾,粘贴以下内容。如果你安装java的目录和我不一样,请在JAVA_HOME=后面粘贴你自己的java目录(上文复制的那个),编辑无误后点击左上角的保存按钮,退出即可。

这个是JAVA8的:
JAVA_HOME=/usr/local/java/jdk1.8.0_291
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

这个是JAVA16的:
JAVA_HOME=/usr/local/java/jdk-16.0.1
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
https://assets.zouht.com/img/2603-18.webp

(四)刷新生效修改的profile文件

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

source /etc/profile

不会有任何反馈,这是正常现象

(五)检验JAVA是否安装成功

输入命令并执行:javac -version
得到以下反馈即正确:javac 1.8.0_291(JAVA16的不一样哦)

输入命令并执行:java -version
得到以下反馈即正确:(JAVA16的不一样哦)
java version “1.8.0_291”
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)

若出现错误,请检查profile文件是否正确修改,java目录指向是否正确,是否刷新生效了profile文件。

配置Minecraft服务端

一、下载Minecraft服务端核心并上传至服务器

注:本教程使用原版服务端举例,如果你想使用其他服务端,请自行网上搜索。操作基本相同。

打开Minecraft启动器,点击菜单“配置”,点击“新配置”,在版本“选项”中选择你想要玩的版本,点击右上角的服务端下载按钮,即可跳转至对应版本的服务端下载界面。

https://assets.zouht.com/img/2603-19.webp

为了方便大家,我已经收集好了1.6.4~1.17.1的官方原版服务端,有需要的自取。记得1.17及以上的要用JAVA16哦~我的云盘下载:https://run.sh.cn/mcs

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

二、编写启动脚本

下载我的脚本模板:https://run.sh.cn/runsh,按照以下内容修改,然后上传到服务器/root/mc目录。
(不知道为何面板里新建的脚本文件是dos格式而不是unix格式的文档,是无法运行的,用我这个正确格式的文件改就可以了)

#!/bin/sh
java -Xms**m -Xmx**m -jar [path]/server.jar nogui
  • -Xms: 初始启动分配的内存
  • -Xmx: 最大分配的内存(按服务器配置来设置)
  • nogui: 用于以基于文本的界面来显示,可减少内存使用。
  • [path]/server.jar: 这个是你的服务器核心文件目录,请改为自己的核心文件目录

这里有个示例,我是2核4G的服务器,如果你和我一样也可以就用我这个。

#!/bin/sh
java -Xms1024m -Xmx3072m -jar /root/mc/server.jar nogui

编写完成后记得点击保存。

三、设置脚本的权限

点击文件旁的“权限”选项

https://assets.zouht.com/img/2603-20.webp

如下图,将权限设置为755

https://assets.zouht.com/img/2603-21.webp

四、首次启动Minecraft服务器

(一)连接服务器SSH

(二)定位到/root/mc文件夹

输入命令cd /root/mc,定位到文件夹

此命令的意思就是进入/root/mc目录。另外,输入ls -al可以查看此目录的文件。

(三)运行run.sh脚本

输入命令./run.sh,运行启动脚本

此命令意思就是运行当前目录下名为run.sh的文件

(四)同意EULA协议

第一次启动将会报错,因为我们要同意EULA协议。

https://assets.zouht.com/img/2603-22.webp

我们打开mc文件夹里新生成的eula.txt文件,将里面的false改为true,保存即可。

https://assets.zouht.com/img/2603-23.webp

(五)配置服务端

我们打开mc文件夹里新生成的server.properties文件,按照以下注释,根据自己需求进行修改,未注释的项目非专业玩家无需也不要修改。

#Minecraft server properties
#Thu Jul 15 20:03:18 CST 2021
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
sync-chunk-writes=true
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
text-filtering-config=
difficulty=easy #难度 peaceful和平 easy简单 normal中等 hard困难 
broadcast-rcon-to-ops=true
spawn-monsters=true #是否生成怪物
op-permission-level=4
pvp=true #是否启用玩家互相伤害 
entity-broadcast-range-percentage=100
snooper-enabled=true
level-type=default
enable-status=true
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
enable-jmx-monitoring=false
motd=A Minecraft Server #在多人游戏界面显示的服务器介绍语 
rate-limit=0
enable-rcon=false

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

(六)防火墙放行端口

1.放行阿里云安全组

还是和之前一样,在入方向中点击”手动添加“,内容如下。

  • 端口范围:25565
  • 授权对象:0.0.0.0/0(意思是允许任何IP访问)

2.放行宝塔面板防火墙

点击宝塔面板左侧“安全”菜单,添加放行端口。

https://assets.zouht.com/img/2603-24.webp

正式运行服务器

一、安装screen,保证Minecraft服务器常开

输入以下命令安装screen:yum install screen -y

安装只需一秒,出现Complete!即安装完成

二、学习使用screen

Linux系统比较特殊,当你关闭SSH时,你的登陆注销后,你在SSH中远程运行的程序也会被强制关闭,这肯定是我们不想要的情况。通过screen使程序常开是个简单的方法。

你可以把screen理解为Windows系统中的桌面,我在screen中可以创建session,每个session都是一个独立的“桌面”,可以在其中输入命令运行程序。session还可以“最小化”,退出后,在session中运行的程序将不会被关闭。

下面是命令用法:(注意大小写)

  • 创建session: screen -S [起个名字]
  • 最小化session: 先按CTRL+A,松开后然后按D
  • 返回最小化的session: screen -r [session名]
  • 列出已开启的session: screen -ls
  • 关闭session: 在session内的命令行输入exit回车
  • 关闭session: 在session外的命令行输入screen -S [session名] -X quit回车

当然,如果你看不懂也没关系,就跟着下面我的步骤就行啦。

三、运行服务器

(一)创建名为mc的session

输入命令screen -S mc

(二)定位到/root/mc文件夹

输入命令cd /root/mc

(三)运行启动脚本

输入命令./run.sh

(四)耐心等待,第一次启动Minecraft服务器将会生成地图,需要一点时间

(五)出现Done!即启动成功

https://assets.zouht.com/img/2603-25.webp

(六)最小化session

先按CTRL+A,松开后然后按D。如果想要返回session,输入screen -r mc即可。

关闭Minecraft服务端的方法:在服务端的命令行内输入stop回车。千万不要直接关闭,会回档的。

尝试连接服务器

打开相应版本的Minecraft游戏,点击多人游戏,添加服务器。输入你的服务器公网IP即可连接服务器。如果正常登录,那么恭喜你,服务器已经配置成功了!

https://assets.zouht.com/img/2603-26.webp

为服务器绑定域名(可选)

如果你想要给服务器绑定域名,朋友连接时就能直接输入好记的域名就能进入服务器,而不是输入数字IP,更加方便好记。这步操作是可选的,而不是强制需要的。

一、进入阿里云域名注册界面

在官网主页,点击“产品” -> “域名注册”

https://assets.zouht.com/img/2603-27.webp

二、选择你想要的域名

在搜索框内输入你注册的域名,在后面选项中选择你想要的域名后缀,然后点击“查询域名”

例如你想注册chriskimzht.cn,那么先在前面搜索框输入chriskimzht,然后选择.cn后缀

另外,域名后缀的首年价格和续费价格是不同的,请选择价格合算的域名后缀。这边推荐的性价比较高的域名后缀有:.cn .top,另外.xyz的首年注册价格很便宜,续费价格较贵,如果只想用一年而不续费,那注册它没问题。

三、将选好的域名加入清单,如实填写相关信息,最后点击右侧立即结算,付款

https://assets.zouht.com/img/2603-28.webp

四、等待审核

刚注册好的域名需要等待审核,审核通过后即可正常使用

五、解析域名

进入域名控制台,点击“解析”,进入解析控制界面。

https://assets.zouht.com/img/2603-29.webp

点击“添加记录”,主机记录即填写域名前缀,比如你注册的chriskimzht.cn,你要解析www.chriskimzht.cn到你的服务器,主机记录就填写www,如果你想直接解析chriskimzht.cn,那就主机记录填写@。记录值请填写你的服务器公网IP。

https://assets.zouht.com/img/2603-30.webp

解析完后,就可以使用你的域名进入服务器了

本文链接:https://www.zouht.com/2603.html
本文使用:CC BY-NC-SA 4.0 许可
# # #
首页      教程      从零开始云服务器搭建Minecraft服务器 [重制]

发表评论

textsms
account_circle
email

颢天

从零开始云服务器搭建Minecraft服务器 [重制]
谁不想拥有一个属于自己的Minecraft服务器,和朋友一起联机呢?但是现在家庭宽带没有公网IP,没法直接联机,而云服务器大多数人又没有接触过,不知如何购买和使用,Linux系统的操作又非常…
扫描二维码继续阅读
2021-07-16