我的世界国际版在Linux上做服务器,关键就三步:装JAVA环境、拿官方服务端开一次、调好端口和内存,全程命令行操作,比Windows更省资源,稳定跑几十天不重启是常态。
我的世界国际版Linux服务器配置要求
先说硬件,别被“服务器”三个字唬住,官方原版服务端其实很轻,数据核心是CPU单核性能和内存大小。2核4G的VPS就能带10到15个好友稳定玩,你要是开模组整合包,内存加到8G起步。
- CPU:Intel Xeon E5系列或AMD EPYC都行,主频2.5GHz以上
- 内存:原版4G够用,模组服建议8G以上
- 硬盘:SSD首选,机械盘读图块会卡顿
- 带宽:5M峰值就够三五好友,公网多人联机准备10M上行
- 系统:Debian系(Ubuntu)或CentOS/Rocky Linux均可
最近逛国内云厂商活动页,新用户买个3年LIGHT型的轻量服务器大概百来块,比用旧电脑折腾省电,但注意地域词,如果选简米云香港节点,延迟在40ms左右,华东地区连起来很舒服,酷番云的轻量应用服务器在西南地区有成都节点,实测打开区块加载速度中规中矩,核心是别买Windows系统的实例,Linux发行版能省下大约一半内存占用。
Java版本选择是第一个坑
MC的版本决定Java版本,我用一张表说清楚:
- 12.2及以下 → Java 8
- 17到1.20.1 → Java 16或17
- 20.4及以上 → Java 21
如果你拿Java 8的JRE去跑1.19的服务端,启动直接报错,报错信息“UnsupportedClassVersionError”,行业共识认为,官方启动器会自动匹配Java,但你手动开服必须手动装对的版本,装错了就卸掉重装,检查当前版本用java -version。
Ubuntu装Java 17的命令分别是:
sudo apt update && sudo apt install openjdk-17-jdk -y
装Java 8久远一些,但用默认源也够:
sudo apt install openjdk-8-jdk -y
我的世界国际版服务器Linux环境搭建步骤
有了干净的系统,玩家开服最顺手的顺序是:更新系统 → 建目录 → 下载服务端 → 首次启动生成配置 → 改配置 → 正式跑,我拆开揉碎讲,特别适合第一次碰命令行的朋友。
第一步:更新软件源和基本组件
别上来就下服务端,先把基础工具准备齐:
sudo apt update sudo apt upgrade -y sudo apt install wget screen unzip -y
这里screen是重中之重,没它,你SSH一断服务器就停了。wget用来拉服务端文件,unzip处理模组包用。
第二步:创建独立用户并放出目录
用`root`跑MC服务器不安全,独立用户能把权限隔离,就算服务端被黑也拿不到系统权限。
sudo adduser minecraft sudo mkdir /home/minecraft/server sudo chown -R minecraft:minecraft /home/minecraft/server
切到minecraft用户再下载,稳妥得很。
第三步:下载服务端jar包
版本选择有讲究,当前比较平衡的版本12.2老而稳,插件生态最成熟;20.1内容新,但不支持很多的经典插件,在官方启动器里,如果你想完全原版,直接去[mcversions.net](https://mcversions.net)拿对应版本的服务端链接,不要从乱七八糟的镜像站下。
在服务器里这样操作,例如1.20.1版本:
cd /home/minecraft/server wget https://launcher.mojang.com/v1/objects/fd53d90f1d2e1e13a4ea1a5f0b8e2b0e/1.20.1.jar mv 1.20.1.jar server.jar
下载完成后别急着跑,先把启动脚本写好。
第四步:创建启动脚本和允许EULA
新建一个`start.sh`文件,用`nano`或者`vim`都行:
nano start.sh
#!/bin/bash java -Xms1024M -Xmx2048M -jar server.jar -nogui
我经验是别开图形界面占用资源,有-nogui参数就够了,保存后执行:
chmod +x start.sh ./start.sh
首次启动会生成eula.txt和server.properties,它跑几秒就会退出,因为没接受最终用户许可协议,修改eula.txt:
nano eula.txt
改成eula=true保存,再跑一次./start.sh,服务端就正式开跑了。
内存分配与Java参数优化指南
内存给多给少都难受,给多了系统有压力,给少了服务端爆内存崩溃,按我的经验,2G内存的机器用Xms1024M / Xmx1024M,4G机器给`Xms2048M / Xmx2048M`,别搞成Xmx和Xms一样大,预留点给操作系统。
如果开的是高版本,比如1.20.1,需要加一些JVM参数:
java -Xms2G -Xmx4G -XX:+UseG1GC -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -jar server.jar -nogui
- -XX:+UseG1GC:用G1垃圾回收器,MC服务端更流畅
- -XX:MaxGCPauseMillis:设置GC暂停时长上限
- -Dsun.rmi.dgc.server.gcInterval:减少RMI垃圾回收频率
我的世界国际版服务器Linux内存要多大才不卡
多人在线卡顿八成是内存的事,原版服务器每在线一个人,大约额外占80MB内存,算笔账:4G内存减掉系统开销和Java基础占用约1.5G,剩余2.5G能撑20个玩家前提是没开视距区加载,视距在server.properties里设置,默认10改成6或7,能显著降内存,跑大型模组整合包就老实加钱上8G以上。
用Screen让服务器后台跑
关掉SSH窗口服务器就跟着死,这是新手翻车第一现场,直接用screen把你的MC进程挂起来:
screen -S mc
然后运行./start.sh,按Ctrl+A再按D,安全退出,想回去管理:
screen -r mc
觉得这招够用了,后面进程守护这块可以跳过。
防火墙与端口映射实操
服务端进程是起来了,但外网玩家进不来问题十有八九出在端口上,MC默认端口25565,TCP/UDP都要放行,Ubuntu上默认装了`ufw`:
sudo ufw allow 25565/tcp sudo ufw allow 25565/udp sudo ufw enable
CentOS用firewalld,命令有差别:
sudo firewall-cmd --zone=public --add-port=25565/tcp --permanent sudo firewall-cmd --zone=public --add-port=25565/udp --permanent sudo firewall-cmd --reload
如果你的服务器是云主机,记得去云控制台的安全组里把入方向端口加上,简米云就在“安全组规则”里点快速添加,酷番云在防火墙页面放行端口,这个卡住的地方,看半天命令没用,要去后台点两下。
bind IP地址别瞎改
server.properties里有个`server-ip=`字段,留空才是正确姿势,它将绑定所有网卡,不用填你的服务器公网IP,填错了服务器直接无法启动,或者只能内网访问,新手默认动都不要动。
常见问题与排查思路
为什么我的Java进程起来又秒退
准备检查三件事:eula.txt改没改、Java版本对不对、内存够不够,按这个顺序排查,八成能解决。
Spawn保护范围太大会导致卡顿
server.properties里的`spawn-protection`默认是16,这个值越大,出生点附近的区块就被锁得越多,服务器启动和玩家落地都会卡,服务器里当RPG地图玩的话,把它改成0或1最省资源,生存服务器改回2也够用。
服务器崩溃日志怎么看
崩溃日志存在`logs/latest.log`,搜关键字”ERROR”或”Exception”,最典型的报错就是`OutOfMemoryError`,这个直接看`server.properties`里的`view-distance`是不是设太高了。把视距从10降到6,内存瞬间释放一截,另外看看是不是用了匹配错误的Java版本,模组服尤其常见。
Q&A:我的世界国际版开服务器Linux相关问题
搭建我的世界国际版服务器需要独立IP吗?
不需要,只要你的服务器有公网IP地址,绑定默认端口就能连,家庭宽带大多数没有公网IPv4,这时用内网穿透服务或者FRP反向代理转发到VPS,都能解决,只是延迟会高一些,自如玩没问题。
Java服务端一直报“Unable to access jarfile”是什么情况?
jar包的路径不对,确认你在服务端jar所在目录里执行`ls -l server.jar`,或者启动脚本写绝对路径,用`java -jar /home/minecraft/server/server.jar -nogui`跑,路径带空格时用双引号包住。
服务器配置怎么备份?
定期tar打包整个世界文件夹,记住只备份world目录、server.properties还有插件config文件夹,不要整机备份,那样太浪费空间,执行压缩:
tar -zcf backup-$(date +%Y%m%d).tar.gz world server.properties bans.json ops.json whitelist.json
把生成的备份文件放别的目录,可以的话转移到另一台机器存着最稳。
在Linux上开MC服务器没有想象中高不可攀,你把JAVA环境捋顺,会写启动脚本,能开防火墙端口,剩下的就是内存调优的问题,记住稳定优先于版本最新1.12.2和1.20.1都是久经考验的版本选择,一个生态成熟一个内容更丰盛,按你的朋友需求选即可,动手部署过一次,你会把重装流程变成肌肉记忆,以后想开模组服、整合包服都是小改参数的事。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/708039.html





