GuavaHost
语言和货币
客户中心游戏面板 切换导航
游戏 全部游戏
Minecraft JavaMinecraft BedrockMinecraft GeyserRustRuneScape: DragonwildsPalworldValheimValheim + BepInExARK: Survival EvolvedARK: Survival AscendedProject ZomboidEnshroudedDon't Starve TogetherCounter-Strike 2TerrariatModLoaderHytaleMulti-Game ServerDiscord Bot Hosting
导航 价格评价帮助中心支持 公司 关于我们常见问题推荐返佣SLA服务条款隐私政策
语言和货币
客户中心游戏面板

怎么读服务器日志和崩溃报告

在游戏服务器日志里找到真正关键的那一行:日志级别、堆栈跟踪、首个错误法则,以及日志和崩溃报告在面板里的位置。

阅读约 5 分钟 · 更新于 2026年10月21日 · 作者:GuavaHost Team

当服务器崩溃或者拒绝启动时,原因几乎总是写在它的日志里。日志看着吓人,但你很少需要读懂全部:你只需要找到一行。本文教你怎么读一条日志行、各个级别是什么意思、怎么读堆栈跟踪,以及日志和崩溃报告在面板里的位置。

一条日志行的解剖

下面是 Minecraft 服务器里典型的一行:

[14:02:11] [Server thread/INFO]: Done (8.412s)! For help, type "help"

  • [14:02:11] 是时间。这是服务器的时钟,可能和你的时区不一致。
  • Server thread 是程序的哪一部分写下了它。服务器线程就是主游戏循环。
  • INFO 是级别:这一行有多严重。
  • 冒号之后的全部内容 是消息正文。

其他游戏的行格式不一样,但几乎所有游戏都会在某个位置包含时间、级别和消息。

日志级别

级别 含义 需要担心吗?
DEBUG 或 TRACE 给开发者看的细节 通常是隐藏的;忽略
INFO 正常活动:启动、加入、存档 不需要
WARN 有点不对劲,但服务器继续在跑 有时需要;很多警告只是无害的杂音
ERROR 某件事失败了 需要,前提是它和你的问题时间吻合
FATAL 或 SEVERE 服务器无法继续 需要,这通常就是崩溃本身

不要去追每一条警告。有大量健康的服务器每次启动都会打印同样的无害警告。把注意力放在和你问题同时发生的那些错误上。

首个错误法则

一个真正的问题往往会在它之后引出一堆错误,因为服务器的其他部分被头一个失败绊倒了。屏幕上最后那个错误通常只是症状。最后一行看起来正常的内容之后的 第一个 错误,通常才是原因。

  1. 找到最后一行一切看着都还正常的位置。
  2. 往下读,直到第一个 ERROR、Exception 或 FATAL。
  3. 修掉那一个,重启,再读一遍。如果服务器这次在出问题之前走得更远了,说明你在往前推进。

读懂堆栈跟踪

堆栈跟踪是程序出错时正在执行的那一串步骤。下面是插件型 Minecraft 服务器上常见的一例:

[12:40:03 ERROR]: Error occurred while enabling ExampleShop v2.1 (Is it up to date?)
java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
	at com.example.shop.ShopPlugin.onEnable(ShopPlugin.java:57)
	...
Caused by: java.lang.ClassNotFoundException: net.milkbowl.vault.economy.Economy

怎么读它:

  1. 第一行说的是什么失败了: ExampleShop 插件没能启动。
  2. 异常类型说的是为什么: NoClassDefFoundError 意味着它需要的代码不在那里。
  3. 那些 at 行说的是在哪里。 找一个你认得出的名字,比如插件自己的名字,而不是游戏内部的东西。
  4. Caused by 是根源。 当一条跟踪里有好几个时,最后那个 Caused by 通常才是真正的原因。这里缺的是 Vault 里的一个类,所以解决办法是安装这个商店插件依赖的 Vault 插件。

常见报错,以及它们通常意味着什么

你看到 通常意味着
NoClassDefFoundError、ClassNotFoundException 缺少依赖,或者插件、模组是给别的版本做的
NoSuchMethodError 某个东西是给另一个游戏版本编译的
OutOfMemoryError 服务器内存耗尽了
FAILED TO BIND TO PORT 或 Address already in use 端口被占用,常常是因为还有第二份实例在跑
found character '\t' that cannot start any token YAML 配置文件里有制表符;YAML 只允许空格
NullPointerException 一个程序缺陷,或者某个配置值缺失或拼错了

崩溃报告

有些游戏崩溃时会单独写一份更详细的报告。

  • Minecraft 把它们存在 crash-reports 文件夹里,文件名带日期和时间。靠顶部的位置你会看到一行 Description 和那个异常。模组服务器会列出每一个已加载的模组,而 Forge 和 NeoForge 的报告往往会直接点出一个可疑的模组。
  • Java 本身被拖垮的崩溃 会在服务器主文件夹里留下一个 hs_err_pid 文件(后面跟着一个数字)。这些通常指向内存或某个原生库,而不是插件。

日志在面板里的位置

Console 标签显示实时输出。它只保留近期的行,所以更早的内容要到 Files 标签里打开日志文件,或者通过 SFTP 下载。

游戏 到哪里找
Minecraft Java logs/latest.log;更早的日志是 logs 里的 .log.gz 文件(下载后解压);崩溃在 crash-reports 里
带 BepInEx 的 Valheim BepInEx/LogOutput.log
ARK: Survival Evolved 和 Ascended ShooterGame/Saved/Logs/ShooterGame.log
Don't Starve Together DoNotStarveTogether/config/server/Master 和 .../Caves 里的 server_log.txt,每个分片一份
Enshrouded enshrouded_server.json 里由 logDirectory 指定的文件夹,默认是 logs
其他游戏 控制台打印出来的内容;也可以找找 logs 或 Logs 文件夹,或者以 .log 结尾的文件

当面板报告崩溃时

如果服务器进程意外停止,面板可能会打印它自己的消息说服务器崩溃了,并附上一个退出码。有几个值得了解:

  • 0: 正常停止。
  • 1: 游戏因为一个错误而退出;读它上方那几行。
  • 137: 进程被强制杀掉了,通常是因为超出了内存上限。参见 服务器内存耗尽的迹象。
  • 139: 游戏内部发生了原生崩溃。

在一份很长的日志里搜索

  1. 把日志下载下来,用文本编辑器打开。
  2. 用查找(Ctrl+F,Mac 上是 Cmd+F)搜 ERROR,然后搜 Exception,再搜 Caused by。
  3. 搜一下你最后添加的那个插件或模组的名字。
  4. 把时间戳和问题发生的时刻对上。

带着日志求助

从最后一行正常内容开始,一直复制到第一个错误结束的位置,然后以文本形式粘贴,而不是截图。在把它分享到任何地方之前,先去掉密码、令牌和任何私密信息。然后把它带到我们的 Discord 来,团队可以和你一起读。专门针对启动问题,参见 服务器卡在 starting 状态。

还没搞定吗?来 discord.gg/GuavaHost 加入我们的 Discord,团队会帮你解决。

  • logs
  • crash report
  • stack trace
  • console
  • troubleshooting
  • errors

还是没解决? 我们的团队 7x24 小时在线,随时解答你的问题。

联系支持团队

相关指南

更多来自 托管基础 的内容。

  • Signs Your Game Server Is Running Out of RAM

    How to spot a game server that is short on memory: out-of-memory crashes, garbage collection freezes, swap and the log lines to look for, then what to do.

    5 分钟

  • What is a game server control panel?

    A control panel is the web interface that runs your game server: power buttons, a live console, files, backups, schedules and resource graphs, without you ever touching a command line.

    6 分钟

  • What is RCON and how do you use it?

    RCON is a remote console protocol that lets a tool outside your server send admin commands to it. Here is what it is for, which games use it, and why you should treat its password like a key to the server.

    6 分钟

  • 游戏服务器需要多少内存?

    内存在游戏服务器上究竟起什么作用、一张可以直接照着选的分游戏对照表、哪些因素会把需求推高,以及怎么判断你选少了还是选多了。

    6 分钟

  • CPU 还是内存:到底什么决定游戏服务器的快慢?

    内存决定服务器能装多少,CPU 决定它能想多快。为什么单核速度最关键,以及多核心在什么时候才真正有用。

    5 分钟