warning 文章废弃
新版教程已经更新,为视频形式,而且我认为新方法更加简单方便。新教程也加入了Mod服配置方法、基岩版配置方法。重制版见下。
谁不想拥有一个属于自己的Minecraft服务器,和朋友一起联机呢?但是现在家庭宽带没有公网IP,没法直接联机,而云服务器大多数人又没有接触过,不知如何购买和使用,Linux系统的操作又非常抽象难懂。不过,这篇教程就是来解决这个问题的。
无论你有没有云服务器使用基础或者是Linux的操作基础,通过这篇零基础教程,你都能成功搭建属于你自己的Minecraft服务器!
注1:本教程面向无基础的玩家,包含很多原理解释和详细的操作过程,因此会显得比较冗长,实际来看其实也没有非常复杂,因此大家在操作时请认真耐心阅读每一句内容。
注2:本文章为本站464号文章的重制版。因为那篇文章是我写过的最成功的一篇,热度最高,但是经过一年多的观察,上篇文章又许多纰漏,因此重制。
成果展示
若使用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。
三、打开Xshell,创建会话
点击“创建新会话”按钮
根据下图填写相关信息
四、连接服务器
点击新创建的会话
连接新服务器会弹出警告,选择“接受并保存”
弹出用户名对话框,输入用户名(默认为root)
弹出密码对话框,输入你设置的密码
点击确定后,出现“Welcome to Alibaba Cloud Elastic Computer Service”的欢迎语后,即已经连接上服务器
(若没有成功连接,检查密码是否输入正确,IP是否输入正确,再多试几次)
安装面板
其实单纯开Minecraft服务器根本用不上面板,全程用命令行就能完成,如果服务器要开网站才用得上面板。但因为大多数玩家没有Linux系统的操作经验,根本不知道Linux命令的使用方法,这样的话进行后续操作会非常不便。因此我还是决定利用宝塔面板中的“文件管理”功能,将命令行操作变为可视化界面,这样大多数人都可以很快接受。虽说操作更繁琐,但是上手更快。
一、访问宝塔面板官网获取安装命令
宝塔Linux面板页面:https://www.bt.cn/new/download.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”,回车确认。
3.自动安装过程,无需操作,耐心等待即可。(Linux系统安装过程是不是感觉很炫酷啊~哈哈)
4.出现以下信息即安装成功(不要关闭此界面,之后还需要使用)
(二)放行防火墙8888端口
8888是宝塔面板的默认端口,我们需要先在防火墙放行此端口才能访问宝塔面板。
1.进入阿里云的云服务器管理控制台,选择“安全组”选项卡
2.点击这台服务器的安全组,进入详情界面
3.在入方向中点击”手动添加“,内容如下,未提到的默认即可
- 端口范围:8888
- 授权对象:0.0.0.0/0(意思是允许任何IP访问)
4.点击保存即可
访问面板
一、登录面板
复制(快捷键CTRL+INSERT)刚才出现的Bt-Panel后面的链接,粘贴到浏览器。然后再输入账号密码登录(安装成功界面有)
然后会弹出协议,阅读后同意即可。
然后会弹出安装套件的弹窗,无需安装,直接关闭即可。因为我们只用上了这面板的文件管理功能,那些套件是开网站用的。
还会弹出登录绑定宝塔账号,去注册一个登录即可。(旧版本是没有强制的….现在强制你登账号了)
二、简单调整面板
点击左侧菜单栏”面板设置“选项,进入设置界面。推荐修改以下内容,提高面板的安全性。
- 面板用户:改成好记的名字
- 面板密码:设一个安全的密码
- 安全入口:改成好记的名字,比如“/你的姓名拼音”
- 面板端口:可选择修改,修改后请防火墙放行相应端口(上文说到过操作),不放行的话面板打不开的。
- 修改后面板登录链接就是:
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压缩包,点击“开始上传”。
(二)解压压缩包
上传完成后点击解压,解压完成后进入解压出的文件夹,复制目录,之后会用到。
如果你跟随我的教程,用的是JAVA8,应该我们的目录都是/usr/local/java/jdk1.8.0_291,如果你用的是JAVA16,那么你的目录应该是/usr/local/java/jdk-16.0.1
(三)安装JAVA环境
面板中进入/etc目录,找到profile文件,点击编辑。(进入/etc后直接在右上角搜索框搜索)
拖动到文件末尾,粘贴以下内容。如果你安装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
(四)刷新生效修改的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启动器,点击菜单“配置”,点击“新配置”,在版本“选项”中选择你想要玩的版本,点击右上角的服务端下载按钮,即可跳转至对应版本的服务端下载界面。
为了方便大家,我已经收集好了1.6.4~1.17.1的官方原版服务端,有需要的自取。记得1.17及以上的要用JAVA16哦~我的云盘下载:https://run.sh.cn/mcs
然后进入宝塔面板,进入/root目录,创建文件夹mc,进入mc文件夹,点击上传将服务端核心上传到服务器。
二、编写启动脚本
下载我的脚本模板:https://run.sh.cn/runsh,按照以下内容修改,然后上传到服务器/root/mc目录。
#!/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
编写完成后记得点击保存。
三、设置脚本的权限
点击文件旁的“权限”选项
如下图,将权限设置为755
四、首次启动Minecraft服务器
(一)连接服务器SSH
(二)定位到/root/mc文件夹
输入命令cd /root/mc
,定位到文件夹
此命令的意思就是进入/root/mc目录。另外,输入ls -al
可以查看此目录的文件。
(三)运行run.sh脚本
输入命令./run.sh
,运行启动脚本
此命令意思就是运行当前目录下名为run.sh的文件
(四)同意EULA协议
第一次启动将会报错,因为我们要同意EULA协议。
我们打开mc文件夹里新生成的eula.txt文件,将里面的false改为true,保存即可。
(五)配置服务端
我们打开mc文件夹里新生成的server.properties文件,按照以下注释,根据自己需求进行修改,未注释的项目非专业玩家无需也不要修改。
warning 易错点注意
下面的配置文件仅为示例,不要直接覆盖掉自己的配置文件!否则可能因为配置文件版本不匹配导致启动失败。让服务端自己生成好配置文件后,再对应下面的例子的注释进行修改。
#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。
(六)防火墙放行端口
warning 易错点注意
下面的“阿里云安全组”和“宝塔面板防火墙”需要都放行25565端口!
1.放行阿里云安全组
还是和之前一样,在入方向中点击”手动添加“,内容如下。
- 端口范围:25565
- 授权对象:0.0.0.0/0(意思是允许任何IP访问)
2.放行宝塔面板防火墙
点击宝塔面板左侧“安全”菜单,添加放行端口。
正式运行服务器
一、安装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!即启动成功
(六)最小化session
先按CTRL+A,松开后然后按D。如果想要返回session,输入screen -r mc
即可。
关闭Minecraft服务端的方法:在服务端的命令行内输入stop回车。千万不要直接关闭,会回档的。
尝试连接服务器
打开相应版本的Minecraft游戏,点击多人游戏,添加服务器。输入你的服务器公网IP即可连接服务器。如果正常登录,那么恭喜你,服务器已经配置成功了!
为服务器绑定域名(可选)
如果你想要给服务器绑定域名,朋友连接时就能直接输入好记的域名就能进入服务器,而不是输入数字IP,更加方便好记。这步操作是可选的,而不是强制需要的。
一、进入阿里云域名注册界面
在官网主页,点击“产品” -> “域名注册”
二、选择你想要的域名
在搜索框内输入你注册的域名,在后面选项中选择你想要的域名后缀,然后点击“查询域名”
例如你想注册chriskimzht.cn,那么先在前面搜索框输入chriskimzht,然后选择.cn后缀
另外,域名后缀的首年价格和续费价格是不同的,请选择价格合算的域名后缀。这边推荐的性价比较高的域名后缀有:.cn .top,另外.xyz的首年注册价格很便宜,续费价格较贵,如果只想用一年而不续费,那注册它没问题。
三、将选好的域名加入清单,如实填写相关信息,最后点击右侧立即结算,付款
四、等待审核
刚注册好的域名需要等待审核,审核通过后即可正常使用
五、解析域名
进入域名控制台,点击“解析”,进入解析控制界面。
点击“添加记录”,主机记录即填写域名前缀,比如你注册的chriskimzht.cn,你要解析www.chriskimzht.cn到你的服务器,主机记录就填写www,如果你想直接解析chriskimzht.cn,那就主机记录填写@。记录值请填写你的服务器公网IP。
解析完后,就可以使用你的域名进入服务器了
发表回复