在Linux环境下架设Minecraft服务器
服务器架设
服务器准备
- 放通所有UDP/TCP端口(根据个人需求,可以选择放通指定端口)
为服务端添加一个用户
直接使用root账户进行开服会存在一定风险,因此建议新建用户进行权限隔离。
1 | 新建用户minecraft |
安装相关软件
1 | 更新apt软件列表 |
安装Minecraft服务端
Minecraft有很多服务端,在这里我们选择官方提供的原生服务端,你可以在这里找到它的页面。
在
~
下新建目录mcserver
1
2
3cd ~
mkdir mcserver
cd mcserver下载
minecraft_server.1.19.jar
1
wget https://launcher.mojang.com/v1/objects/e00c4052dac1d59a1188b2aa9d5a87113aaf1122/server.jar
运行服务端
1
java -Xms1024M -Xmx2048M -jar server.jar nogui
如果想使用图形用户界面启动服务器,您可以省略
nogui
部分。初次启动会提示要求同意EULA,只需要将jar目录下的
eula.txt
中的eula=false
改成eula=true
即可。
配置Minecraft服务端
server.properties
用于配置服务器,其编写可以参考附录。
配置启动关闭脚本
直接使用java
命令是最直接的,但这样的话进程会过于依赖Terminal,导致我们关闭Terminal窗口后,进程也会被Kill,这未免有些不便。
考虑到这种情况,我们可以编写一个脚本,并利用screen实现进程与Terminal的解耦。
启动脚本 (
launch.sh
)1
2
3
screen -dmS mc java -Xms1024M -Xmx2048M -jar /home/minecraft/mcserver/server.jar关闭脚本 (
stop.sh
)1
2
3
4
5
screen -dr mc -X stuff "say 服务器将在10S后关闭!\n"
sleep 10
screen -dr mc -X stuff "stop\n"重启脚本 (
restart.sh
)1
2
3
4
5
6
7!/bin/sh
screen -dr mc -X stuff "say 服务器将在10S后例行重启!\n"
sleep 10
./stop.sh
sleep 20
./launch.sh赋予脚本权限
1
2
3chmod +x launch.sh
chmod +x stop.sh
chmod +x restart.sh脚本的使用
1
2
3
4
5
6
7
8启动服务器
./launch.sh
关闭服务器
./stop.sh
重启服务器
./restart.sh
恢复窗口
screen -r mc想要将服务端控制台放到后台运行,可以按
Ctrl
+A
,然后再按D
,即可将screen放到后台,此时关闭Terminal也不会Kill进程。
附录
server.properties
参考
1 | #Minecraft server properties |
参考资料
教程/架设服务器 - Minecraft Wiki,最详细的我的世界百科 (fandom.com)