限时抢购 50% 全场服务器优惠 最后一天!
距结束还剩: 00D 00H 00M 00S
background image
Game Servers 380 7 Days to Die 4 Abiotic Factor 2 Aloft 2 alt:V 2 Americas Army Proving Grounds 2 Among Us 2 Archean 2 ARK Survival Ascended 6 ARK Survival Evolved 3 Arma 3 3 Arma Reforger 2 Aska 2 AssaultCube 2 Assetto Corsa 3 Astro Colony 2 Astroneer 2 Automobilista 2 2 Avorion 2 Banana Shooter 2 Barotrauma 3 BATTALION Legacy 2 BeamNG.drive (BeamMP) 2 Black Mesa 2 Brickadia 2 Call of Duty 2 Citadel: Forged with Fire 2 ClassiCube 2 Clone Hero 2 Colony Survival 2 Conan Exiles 4 Contagion 2 Core Keeper 2 Counter-Strike 2 3 Craftopia 2 CryoFall 2 CS2D 2 Cube 2: Sauerbraten 2 Cubic Odyssey 2 DayZ 4 DDNet 2 DDRaceNetwork 2 Dead Matter 2 Dont Starve Together 4 Eco 2 Empyrion Galactic Survival 2 Enshrouded 3 Escape from Tarkov 2 Euro Truck Simulator 2 2 Factorio 2 Farming Simulator 25 2 Fistful of Frags 2 FiveM 3 FortressCraft Evolved 2 Foundry 2 Foundry VTT 2 Frozen Flame 2 FTL Tachyon 2 Garrys Mod 3 Ground Branch 2 Half-Life 2 Deathmatch 2 Hogwarp 2 Holdfast: Nations at War 2 HumanitZ 2 Hurtworld 2 Hytale 1 Icarus 2 Insurgency Sandstorm 2 IOSoccer 2 Just Cause 3 Multiplayer 2 Kerbal Space Program 2 Killing Floor 2 3 LeagueSandbox 2 Left 4 Dead 2 Left 4 Dead 2 3 Longvinter 2 Los Angeles Crimes 2 Medal of Honor 2 Midnight Ghost Hunt 2 Mindustry 2 Minecraft 4 Minetest 2 Modiverse 2 Mordhau 3 Mount & Blade II: Bannerlord 2 Myth of Empires 2 Nazi Zombies Portable 2 Necesse 2 NeosVR 2 Neverwinter Nights EE 2 Night of the Dead 2 Nightingale 2 No Love Lost 2 No More Room in Hell 2 No One Survived 2 Nova-Life Amboise 2 Nuclear Option 2 Onset 2 Open Fortress 2 OpenArena 2 OpenRA 2 OpenRCT2 2 OpenTTD 2 Operation Harsh Doorstop 2 Palworld 3 Path of Titans 2 Pavlov VR 3 PixARK 2 Plains of Pain 2 Portal Knights 2 Post Scriptum 2 Project Zomboid 8 Puck 2 Quake Live 2 R5Reloaded 2 RedM 2 Renown 2 Resonite 2 Return to Moria 2 Rimworld Together 2 Rising World 2 Risk of Rain 2 1 Rust 4 Satisfactory 1 SCP Secret Laboratory 3 SCUM 2 Smalland 2 Solace Crafting 2 Soldat 2 Soldat 2 2 Sonic Robo Blast 2 2 Sons of the Forest 2 Soulmask 2 SourceCoop 2 Space Engineers 3 Space Station 14 2 Squad 3 Starbound 3 StarMade 2 Stationeers 2 Stormworks 2 Subnautica Nitrox 2 Sunkenland 2 SuperTuxKart 2 Sven Co-op 2 Swords 'n Magic and Stuff 2 Team Fortress 2 3 Teeworlds 2 Terraria 3 TerraTech Worlds 2 TF2 Classified 2 The Forest 3 The Front 2 The Isle 2 Tower Unite 2 Trackmania 2 Unturned 4 Urban Terror 2 V Rising 3 Valheim 3 VEIN 2 Veloren 2 Vintage Story 3 Voyagers of Nera 2 Wolfenstein: Enemy Territory 2 Wreckfest 2 Wurm Unlimited 2 Xonotic 2 Zandronum 2 Getting Started 2 Network & Connectivity 1 Server Management 2
分类

修复 Project Zomboid 服务器崩溃问题

ZH zomboid pz crash memory 0 人觉得有帮助

Project Zomboid 服务器可能因多种已知原因崩溃或无法启动。本指南涵盖了 Legion Hosting 支持工单中最常见的原因——从 Build 42 启动时需要额外内存的内存错误,到备份溢出导致 /tmp 空间不足,再到配置文件损坏。请按以下章节顺序逐一排查。

本指南仅涵盖服务器端崩溃问题。 如果您的服务器正在运行,但玩家在游戏中遇到客户端崩溃或卡顿,请查看您本地机器上的游戏崩溃日志。如果服务器正在运行但您完全无法连接,请参阅 如何连接到您的 Project Zomboid 服务器

开始之前——找到您的崩溃日志

几乎每次 Project Zomboid 崩溃都会在以下两个位置之一留下记录。在尝试任何修复之前,请先检查这两个位置,以便确定本指南中哪个章节适用于您的情况。

GPanel 控制台输出

  1. 登录 GPanel
  2. 从服务器列表中选择您的 Project Zomboid 服务器。
  3. 点击 Console 选项卡。
  4. 滚动到输出底部。查找标记为 ERRORFATALOutOfMemoryErrorException 的行。服务器停止前的最后 20-30 行通常最为关键。
  5. 如果控制台为空,说明服务器进程在写入任何内容之前就已终止——这本身就是一个线索(参见下方的 B42 内存章节)。

服务器 debug.log 文件

Project Zomboid 会在服务器数据目录中写入一个名为 debug.log 的详细日志。该文件通常包含完整的 Java 堆栈跟踪信息,可直接指向崩溃原因。

  1. 在 GPanel 中,转到 File Manager 选项卡。
  2. 导航到 /.cache/Logs/。您会看到名为 debug.logDebugLog-server.txt 或带日期的日志文件。
  3. 打开最新的日志文件。使用 Ctrl+End 或滚动到最底部,然后从那里向上阅读。
  4. 查找关键词 OutOfMemoryErrorIOExceptionNullPointerExceptionSandboxVars。复制相关行——如果您需要提交支持工单,会用到这些信息。

修复 1——Build 42 启动时高内存使用(已知游戏缺陷)

Build 42 已知问题: Project Zomboid B42(具体为 42.x 版本)存在一个已确认的内存缺陷,服务器在启动时会分配约 9 GB 的内存,即使在没有玩家的小型世界中也是如此。这比 B41 显著增加,是游戏本身的缺陷,而非配置错误。

如果您的服务器在启动时立即退出且控制台无错误信息,或者控制台显示 OutOfMemoryError 或 Java 堆空间错误,则服务器在世界加载完成之前就已耗尽内存。

症状

  • 服务器启动后,控制台滚动几秒钟,然后停止,没有面向玩家的错误信息。
  • 控制台显示 java.lang.OutOfMemoryError: Java heap spaceGC overhead limit exceeded
  • 服务器有时重启可以正常工作,有时不行(内存可用量不稳定)。
  • 服务器在 B41 上运行正常,但升级到 B42 后持续崩溃。

步骤

  1. 在 GPanel 中,点击您的服务器并转到 Console 选项卡。查看资源栏或服务器信息面板中显示的当前内存分配。
  2. 如果您的套餐包含的内存少于 10 GB,服务器可能在启动时崩溃,因为 B42 需要约 9 GB 来初始化。您需要升级套餐或等待 Indie Stone 发布修复补丁。
  3. 如果您的套餐已有 10 GB 或更多内存,服务器仍在启动时崩溃,请转到 GPanel 中的 Startup 选项卡。
  4. 查找标记为 Java MemoryMax RAMXmx 的字段。确认其设置不超过总可用内存的 80-85%。例如,在 12 GB 套餐上,将此值设为 10240(即 10 GB,以兆字节为单位)。不要将其设置为等于或超过总内存——操作系统和其他进程也需要内存。
  5. 在 Startup 选项卡上点击 Save,然后重启服务器。
  6. 在启动过程中观察控制台。如果服务器到达 SERVER STARTED 行或 LuaManager: Loading lua files... 完成而没有崩溃,则内存分配已足够。
为什么 B42 需要这么多内存? Build 42 引入了显著扩展的地图,包含多层建筑。启动时,服务器会一次性将大量地图索引和 Lua 沙盒加载到内存中。Indie Stone 已确认这是他们正在积极优化的领域。请关注 Steam 上的 Project Zomboid 新闻,以获取降低启动内存使用量的补丁。

修复 2——BackupsOnStart 溢出 /tmp(启动崩溃)

Project Zomboid 可以配置为每次服务器启动时创建完整的世界备份。当此备份写入 /tmp(在大多数 Linux 主机上空间有限)时,一旦 /tmp 空间耗尽,服务器会在启动过程中因磁盘写入错误而崩溃。

症状

  • 服务器在每次重启时都会可靠地崩溃,但之前运行正常。
  • 控制台或 debug.log 中包含 IOException: No space left on device 等错误,或提到写入 /tmp/
  • 随着世界存档变大,崩溃往往越来越严重。
  • 在主机节点干净重启后不久尝试启动服务器,有时可以成功(因为 /tmp 还未填满)。

步骤——禁用 BackupsOnStart

  1. 在 GPanel 中,转到 File Manager 选项卡。
  2. 导航到 /.cache/server/。找到您的服务器配置文件——通常命名为 servertest.ini 或您的服务器名称后跟 .ini(例如 MyServer.ini)。
  3. 打开 .ini 文件进行编辑。
  4. 使用浏览器的查找功能(Ctrl+F)搜索 BackupsOnStart
  5. 将值从 true 更改为 false
    BackupsOnStart=false
  6. 在文件中,同时检查 BackupsOnVersionChange 设置,如果磁盘空间是一个问题,也将其设为 false
    BackupsOnVersionChange=false
  7. 保存文件并重启服务器。监控控制台以确认服务器到达 SERVER STARTED 行。
手动备份: 禁用自动备份意味着您需要手动备份世界数据。为此,请使用 GPanel 的 File Manager 定期下载 /.cache/saves/multiplayer/ 文件夹的副本,或联系 Legion Hosting 支持咨询您套餐中的定期备份选项。

修复 3——损坏的 SandboxVars.lua 或服务器配置

Project Zomboid 将世界设置存储在名为 SandboxVars.lua 的 Lua 文件中。如果此文件被手动编辑并保存时存在语法错误,或文件传输被中断,服务器在启动时尝试解析该文件时会立即崩溃。

症状

  • 控制台显示 ERROR: SandboxVarsLuaManager error 或带有行号的 Lua 解析错误。
  • 在您直接编辑 .ini 文件或 SandboxVars.lua 后开始出现崩溃。
  • 服务器可能显示 Bad argument #1 to 或类似的 Lua 运行时错误。

步骤——检查并修复 SandboxVars.lua

  1. 在 GPanel 中,转到 File Manager 并导航到 /.cache/saves/multiplayer/<YourServerName>/
  2. 打开 SandboxVars.lua 进行编辑。
  3. 检查文件是否以 SandboxVars = { 块内的 VERSION = 1,(或类似内容)开头,并以结束的 } 结尾。任何缺失的逗号、未关闭的大括号或多余字符都会导致解析失败。
  4. 如果您无法找到错误,最安全的修复方法是完全删除 SandboxVars.lua。服务器将在下次启动时使用默认值重新生成它。注意:这会将您的沙盒设置(战利品、僵尸数量等)重置为默认值——您的地图数据和玩家数据不受影响。
  5. 如果您最近手动编辑了 /.cache/server/ 中的 .ini 文件,也请检查其是否存在类似问题。确保每一行都遵循 Key=Value 格式,值中没有空行。
  6. 保存更改并重启服务器。
建议: 避免直接编辑 SandboxVars.lua。建议使用游戏内管理面板或 GPanel 中的服务器设置界面(如可用)。直接编辑容易出错,一个遗漏的逗号就可能导致服务器崩溃。

修复 4——空的管理员密码导致崩溃

Project Zomboid 要求非空的管理员密码才能启动多人服务器。如果密码字段为空,服务器进程会在尝试初始化管理员账户后立即退出。

症状

  • 全新服务器或最近重置的服务器每次启动尝试都失败。
  • 控制台输出非常短——服务器打印几行初始化信息然后停止。
  • debug.log 可能包含对管理员账户或密码验证的引用。

步骤

  1. 在 GPanel 中,点击您的服务器并转到 Startup 选项卡。
  2. 查找标记为 Admin PasswordRCON Password 的字段。确认其包含一个值——不能为空。
  3. 如果字段为空,请输入一个密码。使用至少 8 个字符。避免在管理员密码中使用 !#$@ 等特殊字符,因为某些 PZ 版本无法在启动参数中正确解析这些字符。
  4. 点击 Save 并重启服务器。
  5. 作为二次检查,打开 /.cache/server/ 中的 .ini 文件,确认 AdminPassword= 行在等号后有值。

修复 5——重置世界(持续崩溃的最后手段)

此操作将永久删除所有世界进度。 玩家角色、建筑、物品状态和地图更改将全部丢失。玩家账户(白名单、封禁名单)是单独存储的,不受影响。只有在所有其他修复方法都失败且您准备好开始新世界时才执行此操作。

如果世界存档已损坏——例如在服务器硬崩溃、更新失败或文件系统错误之后——存档数据本身可能无法恢复。在这种情况下,删除世界并重新开始是唯一的选择。

步骤

  1. 在进行任何存档文件更改之前,先在 GPanel 中停止服务器。 在运行中的服务器上编辑文件可能导致进一步损坏。
  2. 在 GPanel 中,转到 File Manager 选项卡。
  3. 导航到 /.cache/saves/multiplayer/
  4. 您会看到一个或多个以服务器名称命名的文件夹(例如 servertest)。在删除之前,可以选择通过选中文件夹并使用下载选项来下载备份——即使是损坏的存档,以后也可能部分恢复。
  5. 删除 Multiplayer/ 内与您服务器名称匹配的文件夹。不要删除 Multiplayer 文件夹本身。
  6. 同时导航到 /.cache/db/ 并删除 <YourServerName>.db 文件。此数据库保存玩家统计数据,可能引用旧世界——重新生成它可以避免不匹配。
  7. 启动服务器。它将使用 .ini 文件中的设置生成一个全新的世界。
保留您的设置: 删除世界存档不会删除您的服务器配置。您的 .ini 文件、管理员密码、模组列表和端口设置都会保留。下次启动将使用完全相同的设置来生成新世界。

快速诊断参考

日志中显示的内容 最可能的原因 修复方法
OutOfMemoryErrorJava heap space B42 启动时内存不足 修复 1——B42 内存缺陷
IOException: No space left on device BackupsOnStart 填满 /tmp 修复 2——BackupsOnStart
SandboxVars 错误或 Lua 解析错误 损坏或手动编辑的配置文件 修复 3——SandboxVars.lua
服务器立即退出,控制台输出很短 管理员密码为空 修复 4——管理员密码
无论配置如何更改都持续崩溃 世界存档损坏 修复 5——世界重置

完成所有步骤后仍然崩溃?

如果您的服务器在完成上述所有修复步骤后仍然崩溃,请向 Legion Hosting 提交支持工单。请包含以下信息以帮助支持团队快速诊断问题:

  • 崩溃时 GPanel 控制台输出的最后 50 行
  • 最新的 debug.logDebugLog-server.txt 文件的完整内容
  • 您服务器的 Project Zomboid 构建版本(在启动时控制台中显示,例如 Build 42.x.x
  • GPanel 中显示的内存分配情况
  • 崩溃是每次启动都发生,还是仅在服务器运行一段时间后才发生
  • 崩溃开始前您所做的任何更改(添加模组、编辑配置、游戏更新)

提交支持工单,并附上您的服务器 ID 和 GPanel 控制台中的错误信息。


这篇文章对您有帮助吗?

Ready to Get Started?

The servers are booted, select your plan and become our latest satisfied client.