从零搭建Minecraft Java版服务器(1.21.1)— Linux环境Java 21安装与服务端完整部署教程

ytt 发布于 2026-05-04 178 次阅读


适用系统:Ubuntu 20.04/22.04/24.04、Debian 11/12、CentOS/RHEL 8/9
MC版本:1.21.1
Java要求:Java 21(必须)
涵盖内容:apt安装Java · 二进制包安装Java · 原版服务端下载配置 · 服务器启动 · 性能优化 · 开机自启

一、环境准备与版本说明

在开始动手之前,建议先升级一下系统包列表:

# 更新系统软件包列表
sudo apt update
# 然后可选更新已安装的包
sudo apt upgrade -y

选择Java安装方式

如果你只是想快速搭建、对Java版本没有特殊要求,方式一(apt) 最简单省事。
如果你需要精确控制Java版本、或服务器上已经有其他Java版本需要共存,方式二(二进制) 更灵活。

二、安装 Java 21(两种方式任选其一)
方式一:通过 apt 包管理器安装(推荐)

这是最简便的方式,适合 Ubuntu 和 Debian 系统。截至编写时,Ubuntu 24.04 LTS 已默认提供 OpenJDK 21。

# 安装 OpenJDK 21
sudo apt install openjdk-21-jdk -y
# 验证是否安装成功
java -version

安装成功后,系统会显示类似如下的版本信息:

openjdk version "21.0.4" 2024-07-16
OpenJDK Runtime Environment (build 21.0.4+7-Ubuntu-1ubuntu224.04)
OpenJDK 64-Bit Server VM (build 21.0.4+7-Ubuntu-1ubuntu224.04, mixed mode, sharing)

如果只打算运行服务器不做开发,也可以只装 JRE(更轻量)

sudo apt install openjdk-21-jre -y

不同Ubuntu版本的说明

  • Ubuntu 24.04 LTS:直接支持 openjdk-21-jdk
  • Ubuntu 22.04 / Debian 12:理论上仓库也包含 OpenJDK 21,若找不到可换方式二或手动添加 PPA
  • 更老版本(Ubuntu 20.04 等):建议使用方式二(二进制安装)

方式二:通过二进制包手动安装

此方式适用于想要安装特定版本(如 Oracle JDK 21)的用户。

步骤 1:下载 JDK 21 压缩包

访问Oracle JDK 21 下载页面,选择 Linux 平台的 tar.gz 格式包。或者也可以在服务器上用 wget 直接下载:

# 进入 /usr/local 目录
cd /usr/local
# 创建 java 目录
sudo mkdir -p java
cd java

# 下载 JDK 21(以下为示例链接,请以 Oracle 官网最新链接为准,或修改版本号)
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz

步骤 2:解压并配置环境变量

# 解压缩
sudo tar -zxvf jdk-21_linux-x64_bin.tar.gz
# 编辑环境变量文件
sudo nano /etc/profile

在文件末尾添加以下内容

export JAVA_HOME=/usr/local/java/jdk-21.0.6
export PATH=$JAVA_HOME/bin:$PATH

步骤 3:使配置生效并验证

# 让环境变量立即生效
source /etc/profile

# 验证安装
java -version

输出中看到 21.x.x 即表示安装成功

三、下载与配置 Minecraft 服务端

步骤 1:下载官方服务端 JAR

访问 Minecraft 官方服务器下载页面 ,如果需要添加模组访问mc server forge,下载 server.jar或直接在服务器上用 wget 下载:

# 创建服务器目录
mkdir -p ~/minecraft-server
cd ~/minecraft-server

# 下载 1.21.1 服务端 JAR(如果官方链接版本号有更新,请修改对应下载地址)
wget https://piston-data.mojang.com/v1/objects/59353fb1eb7e83328fd5caa1b5b8b6e83bfa3f39/server.jar -O server.jar
# 首次运行时会提醒具体下载地址,也可以从官方页面获取最新链接

步骤 2:首次启动服务器

首次启动会生成 eula.txtserver.properties 等配置文件,然后自动退出:

java -Xmx2G -Xms1G -jar server.jar nogui

启动参数说明
-Xmx2G:最大分配 2GB 内存
-Xms1G:初始化内存为 1GB
nogui:不显示图形界面(服务器通常无需 GUI)

步骤 3:同意 EULA

用编辑器打开 eula.txt

nano eula.txt

eula=false 改为 eula=true,保存退出

此时目录结构大致如下:

  • ~/minecraft-server/
  • ├── server.jar
  • ├── eula.txt # ← 已改为 true
  • ├── server.properties
  • ├── logs/
  • ├── world/
  • ├── banned-players.json
  • ├── banned-ips.json
  • ├── ops.json
  • └── whitelist.json

步骤 4:调整服务器设置

根据需要修改 server.properties,常用配置项包括

nano server.properties
配置项	默认值	说明
server-port 25565 服务器端口
max-players 20 最大玩家数
online-mode true 是否正版验证
difficulty easy 游戏难度
gamemode survival 默认游戏模式
motd A Minecraft Server 服务器列表描述
view-distance 10 视距
离线模式:若需允许盗版玩家进入,将 online-mode 设为 false。

四、启动服务器与联机测试

正式启动

在服务器目录下执行

cd ~/minecraft-server
java -Xmx2G -Xms1G -jar server.jar nogui

看到 Done! 字样即启动成功,说明服务器已在 25565 端口监听

客户端连接测试

打开 Minecraft Java 版客户端,选择「多人游戏」→「添加服务器」,输入服务器 IP 地址(本地用 127.0.0.1,云服务器用公网 IP)。

云服务器用户请注意
确保在云服务商控制台的安全组/防火墙中,放行 TCP 25565 端口入站规则,否则无法从外网连接

五、进阶优化与维护(可选,看服务器性能和人数,如果少建议可无需看下文)

1. 性能优化 JVM 参数

针对内存和 GC 做针对性调优:

java -Xmx4G -Xms4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
     -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
     -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M \
     -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 \
     -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 \
     -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem \
     -XX:MaxTenuringThreshold=1 -jar server.jar nogui

2. 使用 screen 保持后台运行

直接 SSH 运行服务器,断开连接后进程也会终止。使用 screen 可以让服务器在后台持续运行:

# 安装 screen(若未安装)
sudo apt install screen -y

# 创建新的 screen 会话并启动服务器
screen -S minecraft
java -Xmx4G -Xms4G -jar server.jar nogui

# 按 Ctrl+A 然后按 D 即可退出会话(服务器继续在后台运行)
# 重新连接会话:
screen -r minecraft

3. 配置 systemd 开机自启

创建 systemd 服务文件,实现服务器开机自动启动:

sudo nano /etc/systemd/system/minecraft.service

填入以下内容:

[Unit]
Description=Minecraft Server
After=network.target

[Service]
Type=simple
User=你的用户名
WorkingDirectory=/home/你的用户名/minecraft-server
ExecStart=/usr/bin/java -Xmx4G -Xms4G -jar server.jar nogui
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

然后启用服务

sudo systemctl daemon-reload
sudo systemctl enable minecraft
sudo systemctl start minecraft
sudo systemctl status minecraft   # 查看运行状态

4. 常用服务器管理命令

游戏内或服务器控制台可执行常用管理命令:

命令效果
/stop正常关闭服务器并保存存档
/op 玩家名赋予玩家管理员权限
/whitelist add 玩家名将玩家加入白名单
/ban 玩家名封禁玩家
/save-all手动保存世界数据
/list查看当前在线玩家

5. 备份策略

建议定期备份 worldworld_netherworld_the_end 文件夹以及配置文件:

# 创建备份脚本 backup.sh
#!/bin/bash
cd ~/minecraft-server
tar -czf backups/server-$(date +%Y%m%d-%H%M).tar.gz world world_nether world_the_end *.json *.properties

配合 crontab 设置定时任务即可实现自动备份。

六、常见问题排查

问题 1:Error: A JNI error has occurred

原因:Java 版本不对。Minecraft 1.21.1 必须使用 Java 21。运行 java -version 检查版本,如果不是 21.x 请按本文重新安装。

问题 2:Can't keep up! Is the server overloaded?

原因:服务器性能不足。可尝试降低 view-distance、减少同时加载的区块数,或增加服务器内存。

问题 3:You need to agree to the EULA

原因:未同意最终用户协议。编辑 eula.txt,将 eula=false 改为 eula=true

问题 4:外网无法连接

检查防火墙/安全组是否放行 25565 端口,确认 server.propertiesserver-ip 留空(或设为 0.0.0.0

问题 5:端口被占用

如果 25565 端口已被其他程序占用,可在 server.properties 中更改 server-port 为其他值(如 25566)。

七、总结与进阶方向

至此,你已经完成了一个完整的 Minecraft 1.21.1 Java 版服务器搭建!回顾整个过程:

阶段关键步骤
Java 环境apt 安装 openjdk-21-jdk 或二进制包手动安装
服务端下载 server.jar → 首次启动生成配置 → 同意 EULA
启动运行java -Xmx4G -Xms4G -jar server.jar nogui
后台维持使用 screen 或 systemd 服务
安全防护配置防火墙 + 白名单 + 定期备份

下一步可以尝试

  • 安装 Paper/Spigot 服务端:获得更好的性能和插件支持
  • 安装 Fabric/Forge:添加各种有趣的模组
  • 搭建 MCSManager 面板:通过网页可视化管理服务器
  • 配置 Geyser 插件:让基岩版(手机/主机)玩家也能加入
  • 设置自动重启:使用 cron 或 systemd timer 定时重启清理内存

Happy Crafting! 🎮

祝你开服顺,游戏快乐.

此作者没有提供个人介绍。
最后更新于 2026-05-28