Arch Linux服务器搭建MineCraft Spigot

准备:
Arch Linux服务器一台
Java环境 (java-17-jdk为例子)
服务器防火墙开放 25565/TCP 端口


开始

1、添加ArchLinuxCN软件仓库源

打开 /etc/pacman.conf 文件

1
vim /etc/pacman.conf

在末尾添加

1
2
3
[archlinuxcn]
SigLevel = Never
Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$arch

:wq!:x保存并退出

2、更新软件仓库数据

1
pacman -Syy --needed --noconfirm

3、安装Java环境(java-17-jdk)

1
pacman -Sy --needed --noconfirm jdk

4、更换系统默认java环境

输入

1
archlinux-java status

若出现包含java17的字样,即为安装成功

1
2
3
archlinux-java status                  
Available Java environments:
java-17-jdk (default)

若java-17-jdk为default则已成功将java17设置为默认环境
若不是,则输入

1
archlinux-java set 刚才查出来的java环境名

后输入archlinux-java查看,若为default,则成功

5、安装spigot(minecraft的第三方服务端)

输入

1
pacman -Sy --noconfirm --needed spigot

进行安装

6、启动服务并添加许可

安装完成输入

1
systemctl start spigot

可能会出现报错,不要紧,这是因为咱还没更改许可协议
打开/srv/craftbukkit/

1
cd /srv/craftbukkit/

输入

1
vim eula.txt

1
eula=false

改成

1
eula=true

:wq!或者:x保存并退出
重启服务

1
systemctl restart spigot

如果你想服务器开机就能启动Spigot服务,就输入

1
systemctl enable spigot

7、允许非正版授权账户进行登陆

进入Spigot配置所在文件夹

1
cd /srv/craftbukkit

打开server.properties文件

1
vim server.properties

1
online-mode=true

改为

1
online-mode=false

:wq!或者:x保存并退出
重启服务

1
systemctl restart spigot

8、添加白名单支持

进入Spigot配置所在文件夹

1
cd /srv/craftbukkit

打开server.properties文件

1
vim server.properties

1
white-list=false

改为

1
white-list=true

:wq!或者:x保存并退出
重启服务

1
systemctl restart spigot

以sakunia账户为例
添加白名单的命令为

1
spigot command whitelist add sakunia

在当前文件夹的whitelist.json即可看见添加的白名单

1
2
3
4
5
6
[
{
"uuid": "f5d88c8d-7a2a-398e-9a5a-e339813115f4",
"name": "sakunia"
}
]

若仍无内容,请手动输入命令重载

1
spigot command whitelist reload

9、op管理员账户添加

添加op账户的命令为(以sakunia为例)

1
spigot command op sakunia

执行后在/srv/craftbukkit/ops/json即可看到

1
2
3
4
5
6
7
8
]
{
"uuid": "f5d88c8d-7a2a-398e-9a5a-e339813115f4",
"name": "sakunia",
"level": 4,
"bypassesPlayerLimit": false
}
]

若无列表,请手动输入命令重载

1
spigot command ops reload

10、防火墙配置

若服务器使用iptables,则输入

1
iptables -A INPUT -p tcp -m tcp --dport 25565 -j ACCEPT

输入

1
iptables-save > /etc/iptables/iptables.rules

以保持下次iptables服务重启时,该端口仍然生效
若服务器使用firewalld,则输入

1
2
firewall-cmd --add-port=25565/tcp --permanent //永久开放tcp 25565端口
firewall-cmd --reload //重新加载

若为云计算厂商的云服务器(VPS),则开放厂商提供的防火墙的25565/TCP端口

11、查看spigot版本,安装MineCraft客户端

输入

1
pacman -Ss spigot

看到

1
archlinuxcn/spigot 1.18.1+b144-13 [installed]

则我的MineCraft客户端需要1.18.1版本
可通过HMCL客户端下载
从下面地址寻找对于系统的安装宝进行安装
HMCL客户端

准备完毕

使用HMCL进行开心的游玩吧,连接地址可为IPV4/V6地址或者域名