搭建服务器
环境依赖
Git
sudo apt install git
Java
参照Minecraft Wiki的内容,Minecraft对 Java 版本的最低要求如下
| Minecraft版本(起) | Minecraft版本(止) | Java版本最低要求 |
|---|---|---|
| 第一版 | 1.5.2 | 5 |
| 1.6.1 | 1.11.2 | 6 |
| 1.12 | 1.16.5 | 8 |
| 1.17 | 1.17.1 | 16 |
| 1.18 | 1.20.4 | 17 |
| 1.20.5 | 及更高版本 | 21 |
该表用于快速判断旧版本。构建前仍应查看 BuildTools 的当前前置要求,因为新 Minecraft 版本可能提高最低 Java 版本。
最简单的办法就是使用源安装
sudo apt install openjdk-21-jdk-headless
但是有时候会遇到源里的最新版本并不满足Minecraft对 Java 版本的最低要求,如Debian 12源能安装最新的openjdk版本为17,但最新的Minecraft要求Java版本为21及以上
可以选择 Oracle JDK 或 OpenJDK。
也可以使用维护方提供的 OpenJDK 构建:Microsoft、Red Hat、Temurin 或 Azul。
下载并解压后,为当前终端设置 JAVA_HOME:
export JAVA_HOME="<JDK目录>"
export PATH="$JAVA_HOME/bin:$PATH"
java -version
确认版本正确后,再把前两行加入 shell 配置文件。
构建服务端
- 下载构建工具
- curl
curl -fLo BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar - wget
wget -O BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
- curl
- 构建
构建最新版
java -jar BuildTools.jar --rev latest构建指定版本
java -jar BuildTools.jar --rev <目标版本>
构建结束后,把生成的 spigot-<版本>.jar 复制到独立的服务器目录,不要直接在 BuildTools 工作目录运行服务器。
首次启动
mkdir -p ~/minecraft-server
cd ~/minecraft-server
cp <BuildTools目录>/spigot-<版本>.jar spigot.jar
java -Xms1G -Xmx2G -jar spigot.jar nogui
首次启动会生成 eula.txt 并退出。阅读 Minecraft EULA 后,将 eula=false 改为 eula=true,再创建启动脚本:
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
exec java -Xms1G -Xmx2G -jar spigot.jar nogui
内存上下限应按在线人数、视距和插件数量调整,不要把全部系统内存分给 JVM。
修改配置文件
server.properties:端口、视距、在线验证、白名单等基础设置。spigot.yml:Spigot 行为与性能相关设置。plugins/<插件名>/:插件首次启动后生成的配置目录。
修改前停止服务器并备份世界目录及配置。不要在服务器运行时直接覆盖插件 JAR。
安装插件
AuthMeReloaded
下载
配置
自定义服务器名字
配置plugins/AuthMe/config.yml
settings:
serverName: 七度空间
切换语言为中文
配置plugins/AuthMe/config.yml
settings:
messagesLanguage: zhcn
防止获取玩家坐标
配置 plugins/AuthMe/config.yml:
settings:
restrictions:
SaveQuitLocation: true
teleportUnAuthedToSpawn: true
配置 plugins/AuthMe/spawn.yml:
spawn:
world: world
x: 0
y: 300
z: 0
# 水平朝向:0=南,90=西,180=北,-90=东
yaw: 0
# 俯仰角:-90=向上,0=平视,90=向下
pitch: -90
防止查看玩家背包
配置plugins/AuthMe/config.yml
settings:
restrictions:
ProtectInventoryBeforeLogIn: true
EssentialsX
下载
LuckPerms
下载
ProtocolLib
下载
ProtocolLib 是许多协议相关插件的依赖。下载前确认插件版本支持当前 Minecraft 和 Java 版本。
参考
Spigot Wiki
BuildTools
Spigot Installation
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。