开服准备

首先我们要明确自己开设的服务器的用途,是为了满足自己短时间联机的需求,还是想做大做强、做成24小时不间断运行的服务器?对于前者,笔者建议你在每次联机前花十分钟购买和配置一台ECS弹性服务器,对于后者笔者建议租用轻量运用型云主机。前者的优点是便宜,毕竟我们租来服务器以后不是24小时都会上线游玩的,如果我们到玩的时候才租服务器,玩多久租多久,就可以为自己省下一大笔成本;后者的优点是方便,不需要每次都麻烦的进行配置,想玩的时候打开MC客户端直接上号就可以了。

毕竟很多想要开服的人还是学生党,所以节约成本真的很重要(当然如果你是土豪那我没说)。如果选用ECS的话,大概成本在每小时1元左右;如果选择包年/包月租用主机的话,大概成本在每月三十到四十(有些网站有学生优惠,可以把成本压缩到两百一年左右)。

服务器配置选择

如果想要玩的爽、玩的流畅,服务器的配置就不能差。依笔者的个人经验,1核1G(内存)是底线,只适宜三人左右的联机。一般推荐2核2G左右的配置,这样玩起来服务器的负担会轻很多(服务器卡顿是真的令人难受)。如果你想开能容纳几十几百人的大服务器,服务器的配置就必须相应的变得更高,甚至可能花费会到达千元级别。

服务器的租用

这里笔者以租用ECS为例。我们首先随便找一家云服务提供商,找到ECS弹性云服务器,进入租用的配置选择界面。

计费模式选择按需计费(很重要),区域选择离自己近的。

规格按需选择。这里笔者财大气粗,选择了一个4核8GB的,玩游戏就是要让自己和基友都开心。

镜像选择Ubuntu 20.04LTS(很重要,本文展示的apt源基于Ubuntu20.04版本,若选择22.04及更高的话会出现软件源的问题)

网络配置。注意!注意!注意!一定要选择按流量计费,我们是轻量运用,不值得花大钱去买带宽。带宽大小越大越好,最好拉满(按流量计费时,带宽大小与计费无关)。其他设置默认即可。

部分服务商会要求在配置时就设置密码,乖乖设置即可。

到这里我们的服务器配置就告一段落了,配置费用每小时1元,很便宜。

如果你需要租用包年/包月的专属云主机的话,操作也是相同的。注意镜像选择Ubuntu 20.04LTS即可。

到这里我们的服务器就租用成功了。

服务器配置

服务器刚刚租下来是白板一块,我们要对它进行必要的设置。

安全组/防火墙放行25565端口

出于安全考虑,服务器一般都只放行少数几个端口。这里我们的MC服务器一般运行在25565端口上,如果不对它予以放行的话会导致我们连接不上服务器。我们前往服务器的控制界面,找到防火墙/安全组界面(如果找不到就是没有防火墙,就不需要这一步了)。

这里我们选择更改安全组(或者其他类似的按钮),在入方向规则和出方向规则中加入TCP协议25565端口,和UDP协议25565端口(以防万一)。

登录服务器,更改软件源

按下Win+R,输入cmd打开命令提示符(用Mac的同学打开终端)。输入

ssh root@你的IP

如果提示没有找到ssh的话,就去设置-应用-可选功能中添加功能OpenSSH客户端

第一次连接服务器会弹出类似提示,输入yes确认即可。

接下来输入设定好的密码,或者服务器管理界面显示的初始密码即可。

现在我们已经成功地连接上了服务器。

对Ubuntu系统而言,它的默认软件源位于国外。由于一些不可抗力的影响,我们从国外下载数据速度很慢,所以我们可以将默认的软件源更换为位于国内的阿里源或者清华源。

我们使用vim编辑软件源文件:

vim /etc/apt/sources.list

此时你应该看到如下图的界面

注意:如果最下方有readonly字样的话,就退出vim(输入冒号和一个q),并在上面的指令前加上sudo和一个空格再次运行。理论上,接下来你的所有操作都应该如此。

进入vim后不要轻举妄动,键盘上的键并不能直接向文件输入内容。

我们先依次按下999dd,将文件清空。接下来,按下i,进入插入(编辑)模式。复制下面的内容(二选一),粘贴到vim中。粘贴的方式很简单,win10下可以直接右键点击cmd窗口快速粘贴。

阿里云:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

清华大学:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

接下来,按一下ESC,然后输入**:wq**(注意冒号),回车,就可以退出了。

vim的操作比较复杂,但是对于你来说,使用vim将会变成你将来Linux平台上所有操作中最不可或缺的一部分。

接下来,更新软件列表(但不要跟着其他教程upgrade升级软件!)

apt update

如果看到大片的内容滚滚而下,那就是成功了。

安装Java

每个玩MC的人都知道,MC是跑在Java上的,我们服务器也不例外,需要安装Java。安装的方式很简单,先搜索最新版本的Java。

apt search openjdk

服务器会为我们搜索到各种各样版本的Java。请记住,你需要安装的是最新版本的openjdk-xx-jdk。例如,笔者写下本文时,需要安装的是这个:

如果jdk安装版本过老,会导致游戏不能正常启动!请务必注意

接下来找到最新版本的jdk,就可以对它进行安装了。

apt install openjdk-17-jdk -y

接下来,稍等片刻,Java就安装完成了。查看一下Java的版本来确认安装成功:

java --version

下载MC服务端

打开网站MCVersions.net - Minecraft Versions Download List。这里列出了官方版本的服务器包。(之后你可以考虑其他支持插件的服务器包

进入下载页面,有客户端和服务端两种选项。

我们右键点击Server Jar按钮,选择复制链接(我们不需要真的下载)。

回到服务器,我们切换一下目录,并在用户目录下创建一个mcserver目录存放服务端、存档等文件。

cd ~
mkdir mcserver
cd mcserver

接下来我们把服务端jar下载到我们的服务器上。

wget 刚刚复制的链接

很快就下完啦。使用ls -l命令确认一下当前目录。

ls -l

可以看到,server.jar文件已经静静地躺在了我们的服务器上。

开服!

启动server.jar

我们使用这样的命令来启动服务端:

java -jar server.jar nogui

首次启动,Minecraft会要求我们同意EULA条款。

使用vim打开elua.txt:

vim eula.txt

将其中的eula = false 改为eula = true。

再次用刚刚的命令启动服务端。

很顺利,服务器开始生成世界了。

我们打开电脑上的游戏,输入我们的IP地址:25565端口,尝试连接服务器。

很顺利!我们服务器成功地启动了!

如果出现“验证失败”之类的错误,可能是因为你没有使用正版账号登录。这种情况也简单,我们关闭服务器的正版验证就好了。打开根目录的server.properties文件,将online-mode一行改为false:

online-mode=false

回到服务器的界面,我们可能需要给自己上个管理(op),这种情况下在后台输入

op 你的名字

即可。

当我们需要关闭服务器时,输入

stop

服务器就会随之关闭。

使用screen

可能有的同学会担心,关闭ssh窗口后服务器会不会继续运行。对此,linux很安全,虽然不会把mc的服务端进程杀掉,但是我们也不能再回到服务器后台的界面中。如果你不幸遇到了这种情况,请这样操作来先把服务端杀掉:

ps -aux | grep java

如图,我们看到Java进程的PID是7501。所以我们就把7501进程结束就好了。

kill 查到的PID

接下来我们使用一个叫做screen的工具,来在linux下实现多任务的操作。

screen -S 一个名字

这个操作的意思是创建一个新的screen,并把-S后的内容作为它的名字。

进入screen后,我们正常启动服务器。

如果需要退出screen,我们就同时按下Ctrl+A,并马上按下D

退出后,可以使用这样的命令回到screen。

screen -r 那个名字

下载存档

当我们不玩以后,我们可能需要将我们的存档下载下来。这时我们就先把服务器关掉,回到这里:

我们使用ls命令,可以看到多了很多东西。蓝色的world就是存放存档的文件夹。

我们用cd命令切换到world文件夹中,使用zip命令将目录下的所有内容压缩到save.zip

cd world
zip -q -r save.zip *

如果提示没有安装zip,就安装一下:

apt install zip -y

如果什么都没说,那就是压缩成功了。我们退出服务器,回到cmd中:

exit

使用scp命令把存档下载到当前目录(就是光标前面那个):

scp root@你服务器的IP地址:/root/mcserver/world/save.zip save.zip

过程中,会要求你输入服务器密码,输入就好了。

上传存档也是一样的,只不过先本地后远程:

scp save.zip root@123.60.21.159:/root/mcserver/save.zip

我们可以先删除远程已有的存档,然后重新创建存档目录并将save.zip解压

rm -rf world
mkdir world
mv save.zip world/save.zip
unzip world/save.zip
rm -f world/save.zip

关服(认真脸)

如果是用ECS的小伙伴,玩完以后一定要记得删除服务器哦!不然会一直计费。

到这里,基本教程就告一段落啦,现在你已经学会了最基本的开服操作,接下来迎接你的有各种各样的模组,权限,MOD等等,一个崭新而又宽广的世界已经向你开启了大门,希望你玩的开心!