本指南将带您一步步完成Minecraft服务器的搭建,涵盖Java版和基岩版,包含性能优化、安全管理及高级配置技巧,无论您是个人玩家还是想创建公共服务器,都能找到适合的解决方案。
一、基础环境准备
1.1 硬件需求建议
不同规模服务器的配置要求:
同时在线玩家 | CPU核心 | 内存 | 存储类型 | 网络带宽 | 预估成本(云服务器) |
---|---|---|---|---|---|
1-5人 | 1核 | 2GB | HDD | 5Mbps | $5-10/月 |
10-20人 | 2核 | 4GB | SSD | 10Mbps | $15-25/月 |
50+人 | 4核+ | 8GB+ | NVMe SSD | 50Mbps+ | $50+/月 |
美国主流云服务商对比:
-
Oracle Cloud:永久免费4核24GB ARM实例(适合小型服务器)
-
AWS Lightsail:$7/月起,一键部署镜像
-
DigitalOcean:$6/月起,SSD存储性能稳定
1.2 操作系统选择与优化
Ubuntu Server 22.04 LTS优化命令:
# 更新系统 sudo apt update && sudo apt upgrade -y # 安装必要工具 sudo apt install -y openjdk-17-jdk screen htop # 优化内核参数(/etc/sysctl.conf) echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf echo "net.ipv4.tcp_keepalive_time=300" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 提高文件描述符限制(/etc/security/limits.conf) echo "* - nofile 65535" | sudo tee -a /etc/security/limits.conf
二、Java版服务器搭建
2.1 官方服务端部署
最新版安装流程:
# 创建专用用户 sudo useradd -m -d /opt/minecraft -s /bin/bash minecraft sudo passwd minecraft # 下载官方服务端(替换为最新版本号) wget https://launcher.mojang.com/v1/objects/your_latest_server_id/server.jar -O /opt/minecraft/server.jar # 设置权限 sudo chown -R minecraft:minecraft /opt/minecraft # 首次运行生成文件 sudo -u minecraft java -Xms2G -Xmx2G -jar server.jar nogui
首次运行后配置:
-
编辑
eula.txt
将eula=false
改为eula=true
-
修改
server.properties
关键参数:max-players=20 view-distance=8 simulation-distance=6 enable-command-block=true online-mode=true # 正版验证
2.2 性能优化启动脚本
带GC优化的启动脚本:
#!/bin/bash JAVA_ARGS="-Xms6G -Xmx6G -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" cd /opt/minecraft java $JAVA_ARGS -jar server.jar nogui
通过screen持久化运行:
screen -S mcserver ./start.sh # 上面保存的启动脚本 # 按Ctrl+A然后按D退出screen会话 # 重新连接:screen -r mcserver
三、基岩版服务器搭建
3.1 官方Bedrock版安装
Linux安装步骤:
# 下载最新版(替换版本号) wget https://minecraft.azureedge.net/bin-linux/bedrock-server-your_version.zip unzip bedrock-server-your_version.zip -d bedrock_server cd bedrock_server # 接受EULA sed -i 's/false/true/g' server.properties # 启动服务器(LD_LIBRARY_PATH解决依赖问题) LD_LIBRARY_PATH=. ./bedrock_server
关键配置参数:
server-port=19132 player-movement-distance-threshold=0.3 max-threads=4 level-name=MyWorld gamemode=survival
3.2 Docker部署方案
# Dockerfile示例 FROM ubuntu:22.04 RUN apt update && apt install -y unzip libcurl4 WORKDIR /bedrock ADD https://minecraft.azureedge.net/bin-linux/bedrock-server-1.19.51.01.zip . RUN unzip bedrock-server-1.19.51.01.zip && \ rm bedrock-server-1.19.51.01.zip && \ chmod +x bedrock_server EXPOSE 19132/udp CMD LD_LIBRARY_PATH=. ./bedrock_server
一键运行命令:
docker run -d -p 19132:19132/udp \ -v /path/to/worlds:/bedrock/worlds \ --name mc-bedrock \ bedrock-server:latest
四、管理工具与插件
4.1 基础管理命令
常用服务器命令:
-
/op <玩家>
– 授予管理员权限 -
/whitelist on
– 启用白名单 -
/tp <玩家1> <玩家2>
– 传送玩家 -
/gamerule keepInventory true
– 死亡不掉落 -
/time set day
– 设置白天
自动化脚本示例:
# 定时重启脚本(crontab -e) 0 5 * * * systemctl restart minecraft
4.2 主流插件平台
平台 | 适用版本 | 特色 | 安装方式 |
---|---|---|---|
Bukkit | 1.7-1.20 | 经典插件架构 | 替换原版jar |
Spigot | 全版本 | 性能优化 | BuildTools构建 |
Paper | 1.8+ | 极致优化 | 直接下载jar |
Forge | Mod服 | 支持大型Mod | 安装器运行 |
Paper服务端安装:
wget https://papermc.io/api/v2/projects/paper/versions/1.19.3/builds/397/downloads/paper-1.19.3-397.jar -O server.jar java -Xms4G -Xmx4G -jar server.jar
4.3 必备插件推荐
-
EssentialsX – 基础功能套件
wget https://ci.ender.zone/job/EssentialsX/lastSuccessfulBuild/artifact/Essentials/target/EssentialsX-2.19.7.jar
-
WorldEdit – 地图编辑
wget https://dev.bukkit.org/projects/worldedit/files/latest
-
LuckPerms – 权限管理
wget https://download.luckperms.net/1495/bukkit/loader/LuckPerms-Bukkit-5.4.54.jar
-
Geyser-Spigot – 跨平台互通
wget https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/lastSuccessfulBuild/artifact/bootstrap/spigot/target/Geyser-Spigot.jar
五、网络与安全配置
5.1 端口转发设置
家庭网络路由器:
-
登录路由器管理界面(通常192.168.1.1)
-
找到”端口转发”或”虚拟服务器”选项
-
添加规则:
-
外部端口:25565(TCP)
-
内部IP:服务器本地IP
-
内部端口:25565
-
协议:TCP/UDP
-
云服务器安全组(AWS示例):
aws ec2 authorize-security-group-ingress \ --group-id sg-123456 \ --protocol tcp \ --port 25565 \ --cidr 0.0.0.0/0
5.2 安全加固措施
防火墙配置:
# UFW简单配置 sudo ufw allow 25565/tcp sudo ufw allow 19132/udp # 基岩版 sudo ufw enable
Fail2Ban防爆破:
# /etc/fail2ban/jail.local [minecraft] enabled = true port = 25565 filter = minecraft logpath = /opt/minecraft/logs/latest.log maxretry = 3 bantime = 1d
六、高级优化技巧
6.1 世界生成优化
server.properties关键参数:
# 视距设置(降低服务器负载) view-distance=6 simulation-distance=4 # 实体处理 max-entity-collisions=2 max-tick-time=60000
预生成地图:
# 使用Chunky插件预生成 /chunky radius 5000 /chunky start
6.2 监控与维护
实时监控命令:
# 查看服务器资源占用 htop -u minecraft # 监控网络连接 sudo tcpdump -i eth0 -nn 'port 25565' -w minecraft.pcap
日志分析脚本:
# 分析玩家登录频率 import re from collections import Counter log_file = '/opt/minecraft/logs/latest.log' ip_pattern = r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' with open(log_file) as f: ips = re.findall(ip_pattern, f.read()) print(Counter(ips).most_common(10))
七、常见问题解决
7.1 连接问题排查
无法连接的检查清单:
-
服务器是否运行:
ps aux | grep java
-
端口是否开放:
sudo netstat -tulnp | grep 25565
-
防火墙是否放行:
sudo ufw status
-
云安全组配置是否正确
-
客户端是否使用正确IP和端口
7.2 性能问题诊断
Lag诊断命令:
/timings on # 运行一段时间后 /timings paste
内存泄漏检查:
# 生成堆转储 jmap -dump:live,format=b,file=heap.bin <pid> # 使用Eclipse MAT分析
结语:打造理想游戏环境
通过本指南,您已经掌握了:
-
基础服务器部署(Java版+基岩版)
-
性能优化与安全配置
-
插件管理与高级功能
-
运维监控与问题排查
进阶建议:
-
使用BungeeCord搭建多服网络
-
尝试Mod整合包(如FTB、RLCraft)
-
配置自动化备份系统
-
接入Discord机器人通知
示例备份脚本:
# 每日备份(crontab -e) 0 3 * * * tar -zcvf /backup/mc-$(date +\%Y\%m\%d).tar.gz /opt/minecraft/world*
现在,您的Minecraft服务器已经准备就绪!邀请朋友加入,或发布到服务器列表网站,开始您的冒险之旅吧!