本教程整理了从 安装 Ubuntu → 公网访问 → DDNS → Minecraft 服务器 → Screen 管理 → 性能优化 的完整流程。
适用于:
家用电脑服务器
低配置设备
原版 / Fabric 生存服
公网 IP + 光猫环境
一、安装 Ubuntu(建议无桌面)
如果已安装桌面版,可以关闭桌面节省内存。
1. 禁用桌面服务
sudo systemctl set-default multi-user.target
sudo reboot重启后进入纯命令行模式。
内存通常可释放 500MB~1GB。
查看内存:
free -h二、网络准备(公网访问前提)
你的网络结构:
光猫(拨号 + NAT) → 服务器需要完成:
服务器固定内网 IP
光猫端口映射
DDNS(动态域名)
三、设置服务器固定 IP
查看网卡名称:
ip a编辑 netplan:
sudo nano /etc/netplan/*.yaml示例:
network:
version: 2
ethernets:
eno1:
dhcp4: no
addresses: [192.168.1.173/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]应用:
sudo netplan apply四、光猫端口映射
登录光猫后台,添加端口转发:
SSH 示例:
五、DDNS 动态域名(DuckDNS)
注册域名后创建脚本:
nano ~/duck.sh内容:
echo url="https://www.duckdns.org/update?domains=你的域名&token=你的token&ip=" | curl -k -o ~/duck.log -K -赋予权限:
chmod +x ~/duck.sh测试:
./duck.sh返回 OK 即成功。
六、DDNS 自动更新
编辑计划任务:
crontab -e添加:
@reboot sleep 30 && ~/duck.sh
*/5 * * * * ~/duck.sh >/dev/null 2>&1说明:
开机自动更新
每 5 分钟刷新 IP
七、安装 Java 21
Minecraft 1.21+ 必须 Java 21。
sudo apt update
sudo apt install openjdk-21-jdk -y验证:
java -version八、下载 Minecraft 服务器
创建目录:
mkdir ~/mc-server
cd ~/mc-server下载官方 server.jar。
首次运行:
java -Xmx1G -Xms1G -jar server.jar nogui生成文件后修改:
nano eula.txt改为:
eula=true九、Screen 管理服务器(推荐)
安装:
sudo apt install screen -y创建会话:
screen -S mc启动服务器:
java -Xms1G -Xmx2300M -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -jar fabric-server.jar nogui离开界面(后台运行):
Ctrl + A
D重新进入:
screen -r mc关闭服务器:
stop删除残留 screen:
screen -ls
screen -X -S 编号 quit十、Fabric 服务器迁移(可选)
Fabric 优点:
更高性能
支持优化模组
生电服务器推荐
启动:
java -Xms1G -Xmx2G -jar fabric-server-launch.jar nogui世界存档不会丢失。
十一、推荐服务器优化 Mod
适合低配置:
必装
Lithium
FerriteCore
功能 Mod
Xaero's Minimap
improved.Animations
性能影响极小。
十二、服务器性能建议(4GB 内存设备)
推荐参数:
-Xms1G -Xmx2G不要超过 2.5G。
优化原则:
村民 ≤ 30
实体 ≤ 200
不要同时加载大量区块
控制红石机器规模
十三、外网访问
玩家连接:
你的域名:25565例如:
epiphanye.duckdns.org:25565服务器显示:
Done!即可进入。
十四、SSH 远程管理
开放端口:
sudo ufw allow 22/tcp
sudo ufw enable光猫映射:
22022 → 22连接:
ssh 用户名@域名 -p 22022十五、常见问题
1. 无法外网访问
检查:
公网 IP 是否变化
DDNS 是否更新
端口映射是否存在
防火墙是否开放
2. 重启后域名失效
原因:
动态 IP 变化。
解决:
DDNS + 定时任务。
3. Java 版本错误
提示:
UnsupportedClassVersionError说明 Java 太旧。
安装 Java 21。
十六、光影说明
光影是客户端功能。
服务器无需任何操作。
十七、备份建议(重要)
创建备份脚本:
tar -czvf backup_$(date +%F).tar.gz world建议:
每天备份
更新模组前备份
十八、最终推荐配置总结
你的服务器最佳状态:
Ubuntu 无桌面
Java 21
Fabric
Lithium
FerriteCore
Screen 管理
DuckDNS
2GB 内存分配
可以稳定运行 3~5 人生存服。
十九、开机自动启动 MC 服务器(systemd ⭐推荐)
创建服务文件:
sudo nano /etc/systemd/system/mc.service内容:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=epiphanye
WorkingDirectory=/home/epiphanye/mc-server
ExecStart=/usr/bin/java -Xms1G -Xmx2G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -jar fabric-server-launch.jar nogui
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target重新加载:
sudo systemctl daemon-reload设置开机启动:
sudo systemctl enable mc立即启动:
sudo systemctl start mc查看状态:
sudo systemctl status mc查看日志:
journalctl -u mc -f二十、自动备份脚本(完整版 ⭐重要)
创建备份目录:
mkdir ~/mc-backup创建脚本:
nano ~/mc-server/backup.sh内容:
#!/bin/bash
SERVER_DIR="/home/epiphanye/mc-server"
BACKUP_DIR="/home/epiphanye/mc-backup"
DATE=$(date +%F_%H-%M)
mkdir -p $BACKUP_DIR
# 保存世界
tar -czf $BACKUP_DIR/world_$DATE.tar.gz -C $SERVER_DIR world
# 删除7天前备份
find $BACKUP_DIR -type f -mtime +7 -delete
# 日志
echo "[$(date)] Backup complete" >> $BACKUP_DIR/backup.log赋予权限:
chmod +x ~/mc-server/backup.sh自动每天备份:
crontab -e添加:
0 4 * * * /home/epiphanye/mc-server/backup.sh每天凌晨4点自动备份。
二十一、性能监控(TPS / CPU)
查看 CPU 和内存
top更好工具:
sudo apt install htop -y
htop查看服务器 TPS
进入服务器控制台输入:
tps理想:
20.015 以下说明卡顿。
Fabric 性能分析(可选)
安装 Spark Mod 可查看详细性能。
二十二、一键启动脚本
创建:
nano ~/start-mc.sh内容:
#!/bin/bash
cd /home/epiphanye/mc-server
screen -dmS mc java -Xms1G -Xmx2G -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -jar fabric-server-launch.jar nogui权限:
chmod +x ~/start-mc.sh使用:
./start-mc.sh进入控制台:
screen -r mc二十三、推荐最终结构 ⭐⭐⭐⭐⭐
最佳长期方案:
1️⃣ systemd 自动启动服务器
2️⃣ crontab 自动备份
3️⃣ DuckDNS 自动更新
4️⃣ Fabric + Lithium + FerriteCore
服务器重启后:
全部自动恢复,无需人工操作。