自己开服最大的问题是卡顿和内存溢出。本文给出经过验证的配置。
一、环境要求
| 项目 | 最低 | 推荐 |
|---|---|---|
| 内存 | 2 GB | 4 GB+ |
| CPU | 2 核 | 4 核 |
| Java | 17 | 21 |
| 硬盘 | 10 GB | 20 GB SSD |
1.18 之后必须用 Java 17+,还在用 Java 8 的会直接启动失败。
二、安装 Java
# Debian / Ubuntu
apt update && apt install -y openjdk-21-jre-headless
# CentOS / Rocky
dnf install -y java-21-openjdk-headless
java -version
三、下载服务端
到 Mojang 官方下载 server.jar,然后:
mkdir -p /opt/minecraft && cd /opt/minecraft
# 把 server.jar 放进来
echo "eula=true" > eula.txt
四、启动脚本(JVM 调优)
这是最关键的一步。不要用默认参数:
#!/bin/bash
java -Xms4G -Xmx4G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-jar server.jar nogui
要点:
-Xms和-Xmx设成一样,避免堆反复伸缩- 用 G1GC,不要用默认的 Parallel
- 堆不要超过物理内存的 70%
五、server.properties 关键项
| 配置项 | 建议值 | 说明 |
|---|---|---|
view-distance |
6 | 影响最大的性能项 |
simulation-distance |
4 | 1.18+ 新增 |
max-players |
按内存定 | 每人约 100 MB |
online-mode |
true | 关掉容易被冒名 |
spawn-protection |
0 | 装插件后容易冲突 |
六、后台常驻
用 systemd 管理,比 screen 稳:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
WorkingDirectory=/opt/minecraft
ExecStart=/opt/minecraft/start.sh
Restart=always
User=minecraft
[Install]
WantedBy=multi-user.target
常见问题
Q:开服几小时就崩?
A:九成是内存泄漏(插件导致)。先看日志里的 OutOfMemoryError,再逐个禁用插件排查。
Q:玩家一多就卡?
A:先降 view-distance,这是性价比最高的优化。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END










暂无评论内容