从零开始快速搭建Minecraft游戏服务器完整指南
本指南将带您一步步完成Minecraft服务器的搭建,涵盖Java版和基岩版,包含性能优化、安全管理及高级配置技巧,无论您是个人玩家还是想创建公共服务器,都能找到适合的解决方案。
一、基础环境准备
1.1 硬件需求建议
不同规模服务器的配置要求:
美国主流云服务商对比:
-
Oracle Cloud:永久免费4核24GB ARM实例(适合小型服务器)
-
AWS Lightsail:$7/月起,一键部署镜像
-
DigitalOcean:$6/月起,SSD存储性能稳定
1.2 操作系统选择与优化
Ubuntu Server 22.04 LTS优化命令:
bash
复制
下载
# 更新系统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.confecho \"net.ipv4.tcp_keepalive_time=300\" | sudo tee -a /etc/sysctl.confsudo sysctl -p# 提高文件描述符限制(/etc/security/limits.conf)echo \"* - nofile 65535\" | sudo tee -a /etc/security/limits.conf
二、Java版服务器搭建
2.1 官方服务端部署
最新版安装流程:
bash
复制
下载
# 创建专用用户sudo useradd -m -d /opt/minecraft -s /bin/bash minecraftsudo 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
关键参数:properties
复制
下载
max-players=20view-distance=8simulation-distance=6enable-command-block=trueonline-mode=true # 正版验证
2.2 性能优化启动脚本
带GC优化的启动脚本:
bash
复制
下载
#!/bin/bashJAVA_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/minecraftjava $JAVA_ARGS -jar server.jar nogui
通过screen持久化运行:
bash
复制
下载
screen -S mcserver./start.sh # 上面保存的启动脚本# 按Ctrl+A然后按D退出screen会话# 重新连接:screen -r mcserver
三、基岩版服务器搭建
3.1 官方Bedrock版安装
Linux安装步骤:
bash
复制
下载
# 下载最新版(替换版本号)wget https://minecraft.azureedge.net/bin-linux/bedrock-server-your_version.zipunzip bedrock-server-your_version.zip -d bedrock_servercd bedrock_server# 接受EULAsed -i \'s/false/true/g\' server.properties# 启动服务器(LD_LIBRARY_PATH解决依赖问题)LD_LIBRARY_PATH=. ./bedrock_server
关键配置参数:
properties
复制
下载
server-port=19132player-movement-distance-threshold=0.3max-threads=4level-name=MyWorldgamemode=survival
3.2 Docker部署方案
dockerfile
复制
下载
# Dockerfile示例FROM ubuntu:22.04RUN apt update && apt install -y unzip libcurl4WORKDIR /bedrockADD 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_serverEXPOSE 19132/udpCMD LD_LIBRARY_PATH=. ./bedrock_server
一键运行命令:
bash
复制
下载
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
– 设置白天
自动化脚本示例:
bash
复制
下载
# 定时重启脚本(crontab -e)0 5 * * * systemctl restart minecraft
4.2 主流插件平台
Paper服务端安装:
bash
复制
下载
wget https://papermc.io/api/v2/projects/paper/versions/1.19.3/builds/397/downloads/paper-1.19.3-397.jar -O server.jarjava -Xms4G -Xmx4G -jar server.jar
4.3 必备插件推荐
-
EssentialsX – 基础功能套件
bash
复制
下载
wget https://ci.ender.zone/job/EssentialsX/lastSuccessfulBuild/artifact/Essentials/target/EssentialsX-2.19.7.jar
-
WorldEdit – 地图编辑
bash
复制
下载
wget https://dev.bukkit.org/projects/worldedit/files/latest
-
LuckPerms – 权限管理
bash
复制
下载
wget https://download.luckperms.net/1495/bukkit/loader/LuckPerms-Bukkit-5.4.54.jar
-
Geyser-Spigot – 跨平台互通
bash
复制
下载
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示例):
bash
复制
下载
aws ec2 authorize-security-group-ingress \\ --group-id sg-123456 \\ --protocol tcp \\ --port 25565 \\ --cidr 0.0.0.0/0
5.2 安全加固措施
防火墙配置:
bash
复制
下载
# UFW简单配置sudo ufw allow 25565/tcpsudo ufw allow 19132/udp # 基岩版sudo ufw enable
Fail2Ban防爆破:
ini
复制
下载
# /etc/fail2ban/jail.local[minecraft]enabled = trueport = 25565filter = minecraftlogpath = /opt/minecraft/logs/latest.logmaxretry = 3bantime = 1d
六、高级优化技巧
6.1 世界生成优化
server.properties关键参数:
properties
复制
下载
# 视距设置(降低服务器负载)view-distance=6simulation-distance=4# 实体处理max-entity-collisions=2max-tick-time=60000
预生成地图:
bash
复制
下载
# 使用Chunky插件预生成/chunky radius 5000/chunky start
6.2 监控与维护
实时监控命令:
bash
复制
下载
# 查看服务器资源占用htop -u minecraft# 监控网络连接sudo tcpdump -i eth0 -nn \'port 25565\' -w minecraft.pcap
日志分析脚本:
python
复制
下载
# 分析玩家登录频率import refrom collections import Counterlog_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诊断命令:
text
复制
下载
/timings on# 运行一段时间后/timings paste
内存泄漏检查:
bash
复制
下载
# 生成堆转储jmap -dump:live,format=b,file=heap.bin <pid># 使用Eclipse MAT分析
结语:打造理想游戏环境
通过本指南,您已经掌握了:
-
基础服务器部署(Java版+基岩版)
-
性能优化与安全配置
-
插件管理与高级功能
-
运维监控与问题排查
进阶建议:
-
使用BungeeCord搭建多服网络
-
尝试Mod整合包(如FTB、RLCraft)
-
配置自动化备份系统
-
接入Discord机器人通知
示例备份脚本:
bash
复制
下载
# 每日备份(crontab -e)0 3 * * * tar -zcvf /backup/mc-$(date +\\%Y\\%m\\%d).tar.gz /opt/minecraft/world*
现在,您的Minecraft服务器已经准备就绪!邀请朋友加入,或发布到服务器列表网站,开始您的冒险之旅吧!