UE4.27.2源码版打包Shipping专用服务器失败,Exit Code3求助
UE4.27.2(GitHub源码版)打包Shipping Dedicated Server失败:无法创建Config.bin(Exit Code3)
使用GitHub编译的UE4.27.2版本,打包Shipping模式Dedicated Server时失败,返回Exit Code3。核心错误为Failed to create Config.bin file,错误触发点在MakeBinaryConfigCommandlet.cpp第102行。已尝试重新编译AutomationTool、完整编译引擎、清理项目Binaries/Intermediate目录后重新编译项目,但问题仍未解决。
错误日志如下:
UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: begin: stack for UAT UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: === Critical error: === UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: Fatal error: [File:D:/UnrealEngine-4.27.2-release/Engine/Source/Editor/UnrealEd/Private/Commandlets/MakeBinaryConfigCommandlet.cpp] [Line: 102] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: Failed to create Config.bin file UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffccb96039c KERNELBASE.dll!UnknownFunction [] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc66ad9de6 UE4Editor-Core.dll!ReportAssert() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Core\Private\Windows\WindowsPlatformCrashContext.cpp:1644] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc66addc88 UE4Editor-Core.dll!FWindowsErrorOutputDevice::Serialize() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Core\Private\Windows\WindowsErrorOutputDevice.cpp:78] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc667efd10 UE4Editor-Core.dll!FOutputDevice::LogfImpl() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Core\Private\Misc\OutputDevice.cpp:61] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffc5faf033b UE4Editor-UnrealEd.dll!UMakeBinaryConfigCommandlet::Main() [D:\UnrealEngine-4.27.2-release\Engine\Source\Editor\UnrealEd\Private\Commandlets\MakeBinaryConfigCommandlet.cpp:102] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff684cfa17b UE4Editor-Cmd.exe!FEngineLoop::PreInitPostStartupScreen() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3434] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff684cf130d UE4Editor-Cmd.exe!GuardedMain() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Launch\Private\Launch.cpp:132] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff684cf169a UE4Editor-Cmd.exe!GuardedMainWrapper() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:137] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff684cf4671 UE4Editor-Cmd.exe!LaunchWindowsStartup() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:273] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff684d05b74 UE4Editor-Cmd.exe!WinMain() [D:\UnrealEngine-4.27.2-release\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:320] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ff684d07ac6 UE4Editor-Cmd.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffccce4244d KERNEL32.DLL!UnknownFunction [] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: [Callstack] 0x00007ffcce4cdfb8 ntdll.dll!UnknownFunction [] UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: UATHelper: Empacotamento (Windows (64-bit)): LogWindows: Error: end: stack for UAT UATHelper: Empacotamento (Windows (64-bit)): Took 18,4770042s to run UE4Editor-Cmd.exe, ExitCode=3 UATHelper: Empacotamento (Windows (64-bit)): Editor terminated with exit code 3 while running MakeBinaryConfig for C:\Program Files\Epic Games\MyProject\MyProject.uproject; see log D:\UnrealEngine-4.27.2-release\Engine\Programs\AutomationTool\Saved\Logs\MakeBinaryConfig-2022.12.08-20.16.40.txt UATHelper: Empacotamento (Windows (64-bit)): AutomationTool exiting with ExitCode=1 (Error_Unknown) UATHelper: Empacotamento (Windows (64-bit)): BUILD FAILED
排查与解决步骤
1. 检查权限与路径问题
- 项目路径
C:\Program Files\Epic Games\MyProject属于系统保护目录,打包时创建Config.bin可能因权限不足失败。将项目移动到非系统目录(如D:\UEProjects\MyProject),重新生成项目文件并编译打包。 - 右键以管理员身份运行UE4编辑器或打包命令行,避免权限限制。
2. 清理Config相关缓存
- 删除项目目录下的
Config/Saved文件夹,以及引擎目录下Engine/Config/Saved文件夹,清除旧的二进制配置缓存。 - 检查项目Config目录下的.ini文件是否有语法错误(如括号不闭合、键值对格式错误),语法错误会导致生成Config.bin时失败。
3. 调整打包配置
- 打开项目打包设置,确保Dedicated Server模式配置正确:
- 临时取消勾选
Use Pak File,排除Pak打包时的权限问题 - 确认
Build Configuration为Shipping,Target Platform为Windows 64-bit
- 临时取消勾选
- 先尝试打包Development模式的Dedicated Server,验证基础打包流程是否正常,再切换到Shipping模式。
4. 源码级修改定位具体错误
错误触发在MakeBinaryConfigCommandlet.cpp第102行,可修改引擎源码增加错误细节,帮助定位问题:
- 打开
D:/UnrealEngine-4.27.2-release/Engine/Source/Editor/UnrealEd/Private/Commandlets/MakeBinaryConfigCommandlet.cpp - 将原断言代码替换为输出具体路径和系统错误码:
// 原代码 checkf(false, TEXT("Failed to create Config.bin file")); // 修改后 FString ConfigBinPath = FPaths::Combine(FPaths::ProjectSavedDir(), TEXT("Config/Config.bin")); FString ErrorMsg = FString::Printf(TEXT("Failed to create Config.bin file at %s. System Error Code: %d"), *ConfigBinPath, GetLastError()); UE_LOG(LogUnrealEd, Fatal, TEXT("%s"), *ErrorMsg);
- 重新编译引擎和AutomationTool,打包时会输出具体错误路径和系统错误码(如路径不存在、磁盘满等)。
5. 验证引擎编译完整性
- 确保引擎编译时勾选了
Development Editor和Shipping目标,运行GenerateProjectFiles.bat后,在VS中执行Build -> Build Solution完成全量编译,避免部分模块编译不完整。 - 删除引擎目录下的
Binaries和Intermediate文件夹,重新编译引擎,排除编译缓存导致的问题。
内容的提问来源于stack exchange,提问作者user21143871
相关产品推荐
相关产品推荐

