如何通过Linux云服务器来搭建Minecraft服务器
如何通过Linux云服务器来搭建Minecraft服务器

如何通过Linux云服务器来搭建Minecraft服务器

内容纲要

最近开始折腾云服务器,开始学习一下Linux相关的知识,就尝试用Linux来搭建一个Minecraft的服务器。具体方法如下⬇

1 准备工作

Linux 系统,*这次是用Centos来做操作。

1.1 安装文件传输工具

为了方便传文件到服务器上,这里先装一个远程传输工具。

bash

yum -y install lrzsz

1.2 安装java

Minecraft服务端也需要jre才能运行,这里有两个安装方法(选择一种):

1.2.1 官网下载

去官网下载(Java17)Linux x64的gz包,得到jdk-17.0.4.1_linux-x64_bin.tar.gz文件(不知道为什么用Java18Minecraft服务端会报错所以用了Java17)。

bash

rz	#将下载好的gz文件上传到服务器

# 创建安装目录
mkdir /usr/local/java/

# 解压当前目录下的JDK压缩文件(版本不一样文件名也会不一样,善用tab自动补全)
tar -zxvf jdk-17.0.4.1_linux-x64_bin.tar.gz -C /usr/local/java/

# 方便后面配置环境,改一下文件名
mv /usr/usr/local/java/jdk-17.0.4.1_linux-x64_bin.tar.gz /usr/usr/local/java/jdk1.7.0

# 设置环境变量(安装 VIM 输入 yum -y install vim)
vim /etc/profile
# 在末尾添加对应变量
滚动光标到末尾 按下 键盘上的 I 键,切换至插入模式
输入这几串内容后 按ESC退出插入模式 
然后按下 : 输入 wq 并回车保存

export JAVA_HOME=/usr/local/java/jdk1.7.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 应用修改后的环境变量
source /etc/profile

# 软链接程序到环境变量中
ln -s /usr/local/java/jdk1.8.0/bin/java /usr/bin/java

# 测试是否安装正常,显示 java version "17.0.4.1" 则为正常
java -version

1.2.2 或yum安装

bash

sudo yum install openjdk-17-jdk
#Ubuntu
sudo apt install openjdk-17-jdk -y

有询问输入y即可

1.3 安装screen

安装screen,后面开服时会用到。使用screen可以让服务器进程在后台运行,而不会因为远程连接的断开而停止进程。

bash

# RedHat/CentOS
yum install -y screen

# Ubuntu/Debian
apt install screen

1.4 配置防火墙

一定要在root用户中操作。

这步很关键,开服之后连接不到服务器,很可能就是因为防火墙没配置好!

添加一个端口(25565默认)

text

firewall-cmd --zone=public --add-port=25565/tcp --permanent

然后 重启防火墙

text

firewall-cmd --reload

查看端口状态

text

firewall-cmd --zone= public --query-port=25565/tcp

在网页端的管理控制台 安全 防火墙 右上添加规则

TCP 25565

1.5 创建用户

不建议使用root系统进行后面的操作,接下来为Minecraft创建一个专门的用户。

bash

useradd -m Minecraft	# 新建一个名为Minecraft的用户
passwd Minecraft		# 为用户Minecraft设置密码
su - Minecraft			# 切换至新建的Minecraft用户。改成root,可以切换回root用户

2.Minecraft服务端

给MC服务端创建一个文件夹

bash

cd ~
mkdir MinecraftServer	#创建文件夹
cd MinecraftServer		#进入文件夹

2.1 获取服务端

MC目前主流的服务端分很多种,简单可以分为三类:

①原版纯净:官网直接下服务端,不能装mod不能装插件 点击下载

②forge服务端:Mod服,只能装Mod,不能装插件

http://files.minecraftforge.net/)

③Craftbukkit、Spigot服务端:插件服,只能装插件,不能装Mod

④CatSetver服务端:国人开发的,MOD+插件服,白火现在在用。

以上服务端,按需要选择一个,到对应官网下载。(或直接下载别人配置好的懒人服务端,别人配置好的服务端,可视情况跳至2.3步骤。)

你可以在自己的电脑上下载好服务端,然后利用Xshell等远程终端的lrzsz插件,传输到服务器上。

用cd MinecraftServer指令,进入刚才创建的MinecraftServer内。输入指令:

bash

rz

下载好后执行下面这一句。这里分别以Forge和CatServer举例。不论你用那种服务端,你只需要把-jar后面的名字改成你服务端文件的名字即可。善用Tab补全代码,避免输错。

bash

#Forge服
java -jar forge-1.12.2-14.23.4.2705-installer.jar -nogui -installServer
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar

这一步其实是在安装服务端,还要在下载一会服务端资源,网络比较慢。有意思的是,其中CatServer服端安装服务端的指令,和后面正真运行服务端的指令是一样的。(Forge则是不同的)

如果提示下载失败了,或部分资源下载超时了,就再重执行一次上面的forge-*-installer.jar

现在服务器资源都正确下载了,执行以下代码:

bash

#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
#官服(如果您想使用图形用户界面启动服务器,您可以省略“nogui”部分。)
java -Xmx1024M -Xms1024M -jar minecraft_server.1.19.2.jar nogui

2.2 同意协议

首次运行必定失败,会提示你需要同意协议。这时我们输入ls就能看到目录下多了一个eula.txt。我们需要修改eula文件同意协议,才能启动。

bash

vim eula.txt

将eula=false改成eula=true即可。

然后按esc,输入:wq保存退出。

*其实官服这个时候就可以再次运行

bash

java -Xmx1024M -Xms1024M -jar minecraft_server.1.19.2.jar nogui

就可以成功开服了。

2.3 配置文件

为了方便以后开服,我们创建一个startServer.sh文件。(别人配置好的服务端可能已经创建过了)

bash

vim startServer.sh

然后i写入

bash

#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
#官服(如果您想使用图形用户界面启动服务器,您可以省略“nogui”部分。)
java -Xmx1024M -Xms1024M -jar minecraft_server.1.19.2.jar nogui

按esc,输入:wq保存退出。

其实就是把刚才我们运行服务器的指令,写进了shell中,以后省的敲指令了,直接运行这个shell即可。

这和windows的bat批处理性质相似,在windoes中开服,也是把开服的指令写进一个bat中,每次运行bat就省的敲指令了。

bash

# 给start.sh执行权限
chmod 777 startServer.sh

# 执行start.sh即可开服
./startServer.sh	

# 控制台不再跳新的信息时,说明开服成功了
# 我们先结束服务器,完成服务器配置
stop

首次成功开服后,会产生一个server.properties文件,是服务器的配置文件。

bash

vim server.properties	#修改配置文件

其中online-mode=true是检测正版登录用户,true是只允许正版玩家进入可以使用,false则允许离线进入。

更多配置参考这个文件。

https://minecraft-zh.gamepedia.com/index.php?title=Server.properties&variant=zh

2.4 正式开服

创建一个名为MinecraftServer的screen,可以让服务器在后台运行,断开远程连接也不终止进程。

bash

screen -S MinecraftServer

启动服务器

bash

./startServer.sh

最后你只要看到有Type “/help” for help,就说明你的服务器已经跑起来了。

然后按住Ctrl + A +D ,将screen加入后台运行

当你需要回到这个sreen页面时,使用如下指令。

bash

screen -ls	# 查看screen,记下MinecraftServer的编号
screen -r <MinecraftServer的编号>

现在进游戏,输入自己服务器的ip加端口号25565就可以连上了。

写在最后

开服后,在服务器的命令窗口输入

op 玩家名 #给予管理员权限,不然没法玩只能看

常用的游戏指令。

传送:

/tp 被传送的玩家名 传送到谁的玩家名
/tp 玩家名 坐标x 坐标y 坐标z。    #坐标可以在游戏里按F3查看

更改模式

/gamemode survival 玩家ID。  #生存模式
/gamemode creative 玩家ID。  #创造模式
/gamemode adventure 玩家ID。  #冒险模式
/gamemode spectator 玩家ID。  #旁观者模式

参考

MC云服务器搭建教程[非硬核]

如何在Linux下搭建Minecraft服务器

Minecraft Wiki:server.properties

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注