服务端启动失败
启动报错的常见原因,按报错内容定位
服务端启动失败
服务端启动失败基本都能通过报错信息定位。这篇把最常出现的几类列出来,对号入座。
报错信息怎么看
日志里带 ERROR 的行是重点,但报错往往有很多行,看最关键的那一行——通常是最下面写的 Caused by: 或者靠近最前面的那个异常类型。别把整篇日志都复制给搜索引擎,那是在为难别人。
常见报错速查
UnsupportedClassVersionError
原因:Java 版本不对,服务端要求更高版本的 Java。
解决:看《开服前的准备》的版本对应表,装对 Java,并确认启动脚本用的是它(多装了几个 Java 时,java -version 会显示默认那个)。
Port already in use / bind failed
原因:25565 端口被占用,可能你开了两个服务端,或者有别的程序占了端口。
解决:关掉多余的服务端,或改 server-port。怎么确认哪个进程占着端口:Windows 命令行运行 netstat -ano | findstr 25565,看 PID 再在任务管理器结束它。
EULA not accepted
原因:没同意用户协议。
解决:eula.txt 里 eula=false 改成 true。这是必须的一步,跳过它服务端永远起不来。
Unable to access jarfile
原因:启动脚本里的 jar 文件名写错了,或路径不对。
解决:确认 start.bat 里的文件名和你实际下载的 jar 完全一致,注意大小写和版本号。
OutOfMemoryError
原因:内存不够,-Xmx 设的值超出机器实际内存,或机器内存本身不足。
解决:先看机器物理内存多大,-Xmx 留点余量给系统。别设得比物理内存还大,那是自杀。
Mod loading error / Failed to load mods
原因:模组服常见。模组版本不匹配、缺少依赖、或某模组要求的加载器版本不对。 解决:看报错里点名的是哪个模组,删掉或换对版本。《安装模组服》有完整思路。
启动过程崩溃但没明确报错
几个隐蔽原因:
- 配置文件写坏:
server.properties格式错误。删掉它重新生成(回《server.properties 详解》)。 - 存档损坏:换一个
level-name看能不能启动,能启动说明原存档有问题,这时候需要用到备份(《备份与恢复》)。 - 插件导致崩溃:临时把
plugins/里所有 jar 移出来,能启动就逐个加回去定位。
把报错贴给人之前
把关键报错行 + 服务端版本 + Java 版本一起发出去,别人一眼就能定位。只发一句"开服失败",神仙来了也得猜。