搭建一个专业的Linux系统上的Minecraft服务器,涉及系统准备、Java环境配置、服务端选择与优化等多个步骤。以下是一份专业、准确的操作指南及相关扩展内容。

一、 系统准备与前提条件
建议使用Linux发行版如Ubuntu Server 22.04 LTS或CentOS Stream 9(鉴于CentOS 7已停止维护),它们提供长期稳定支持。确保系统已更新,并拥有sudo权限的用户。
二、 安装必要的软件包与Java环境
Minecraft服务端(尤其是原版)运行于Java环境。首先安装合适版本的Java。对于Minecraft 1.17+,需要Java 17或更高版本。
以Ubuntu/Debian为例:
sudo apt update
sudo apt install openjdk-17-jdk-headless
安装后验证:java -version。
同时,建议安装用于管理屏幕会话的screen或tmux工具:sudo apt install screen。
三、 获取与配置Minecraft服务端
1. 创建专用目录与用户:为安全与管理方便,建议创建专用用户和目录。
sudo adduser --system --home /opt/minecraft minecraft
sudo mkdir /opt/minecraft/server
sudo chown -R minecraft: /opt/minecraft
2. 下载官方服务端Jar文件:访问Minecraft官网服务器下载页获取最新版server.jar,或使用wget命令。例如:
sudo -u minecraft wget -O /opt/minecraft/server/server.jar https://piston-data.mojang.com/v1/objects/8dd1a28015f51b1803213892b50b7b4fc76e594d/server.jar(版本号请替换为最新)。
3. 首次运行与同意EULA:进入目录并首次运行以生成必要文件。
cd /opt/minecraft/server
sudo -u minecraft java -Xmx2G -Xms1G -jar server.jar nogui
首次运行会失败并生成eula.txt文件,编辑它并将eula=false改为eula=true以同意Mojang的最终用户许可协议。
4. 基础服务器配置:编辑生成的server.properties文件,关键配置项包括:
| 配置项 | 说明 | 建议值/示例 |
|---|---|---|
| server-port | 服务器监听端口 | 25565(默认) |
| gamemode | 默认游戏模式 | survival |
| max-players | 最大在线玩家数 | 20 |
| online-mode | 是否开启正版验证 | true(若开启,需正版账户) |
| level-seed | 世界种子 | 可留空或自定义 |
| difficulty | 游戏难度 | normal |
| enable-command-block | 是否启用命令方块 | false |
| view-distance | 玩家视距(区块) | 10(根据服务器性能调整) |
四、 优化与高级管理
1. 启动脚本优化:创建一个启动脚本(如start.sh),以便统一管理JVM参数。示例脚本内容:
#!/bin/bash
cd /opt/minecraft/server
java -Xms4G -Xmx4G -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui
此脚本使用了社区推荐的Aikar‘s Flags进行GC优化,适用于现代Java版本。务必根据服务器物理内存调整-Xms(初始堆内存)和-Xmx(最大堆内存)值,建议设置为相等且不超过系统总内存的80%。
2. 配置系统服务(Systemd):为了实现开机自启和方便的服务管理,创建systemd服务单元文件。
sudo nano /etc/systemd/system/minecraft.service
写入以下内容:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server
ExecStart=/bin/bash /opt/minecraft/server/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
然后执行:
sudo systemctl daemon-reload
sudo systemctl enable minecraft.service
sudo systemctl start minecraft.service
此后即可使用sudo systemctl status/stop/start/restart minecraft管理服务器。
3. 防火墙配置:如果系统启用了防火墙(如UFW或firewalld),需开放端口。
UFW示例:sudo ufw allow 25565/tcp。
五、 扩展:服务端类型与核心选择
除了原版(Vanilla)服务端,根据需求可选择不同核心,它们能提供更好的性能、更多功能或插件支持。
| 核心类型 | 代表项目 | 主要特点 | 适用场景 |
|---|---|---|---|
| 原版 (Vanilla) | Mojang官方Jar | 绝对兼容,无额外功能 | 纯净生存,小规模好友服 |
| 插件端 (Bukkit系) | Paper, Purpur | 优化出色,支持Bukkit/Spigot插件 | 中小型生存/小游戏服,需插件扩展 |
| 模组端 (Forge/Fabric) | Forge, Fabric | 支持加载Mod(模组) | 模组整合包服务器 |
| 混合端 | Mohist, Magma | 同时支持插件和部分模组 | 需要插件与模组共存的场景 |
其中,Paper及其衍生版Purpur因其对原版游戏机制的高度兼容性和显著的性能优化(如异步区块加载、实体优化),已成为目前插件服最主流的选择。
六、 安全与维护建议
1. 定期备份:使用cron定时任务备份world目录及重要配置文件。
2. 保持更新:及时更新服务端Jar文件以获得最新功能与安全补丁。
3. 权限管理:如果使用插件端,务必通过权限管理插件(如LuckPerms)精细控制玩家权限,避免使用OP(管理员)权限直接游戏。
4. 监控资源:使用top、htop或systemctl status监控服务器的CPU、内存使用情况,并根据负载调整JVM参数或视距等设置。
遵循以上步骤,你可以在Linux上搭建一个稳定、高效且易于维护的Minecraft服务器。

查看详情

查看详情