ISteamUGC::BInitWorkshopForGameServer:设置服务器工坊目录

ISteamUGC::BInitWorkshopForGameServer:设置服务器工坊目录

BInitWorkshopForGameServer 用于让游戏服务器为工坊内容指定存储目录,尤其适合同一安装目录启动多个服务器实例。本页面向 Steamworks 游戏和工具开发者,说明接口声明、参数、返回方式以及与工坊内容生命周期相关的注意事项。

工坊内容获取与加载流程

函数声明

客户端通过初始化成功后的 SteamUGC() 接口访问;游戏服务器使用服务器上下文的 SteamGameServerUGC()。以下声明按本次核对的官方接口整理,编译时应以项目实际使用的 SDK 头文件为准。

bool BInitWorkshopForGameServer( DepotId_t unWorkshopDepotID, const char *pszFolder );

参数

参数 类型 方向与含义
unWorkshopDepotID DepotId_t 输入:游戏服务器使用的 depot ID。
pszFolder const char * 输入:保存工坊内容的目录绝对路径。

返回值与完成方式

返回 bool;true 表示设置成功。若调用方不是游戏服务器,或工坊内容正在更新,则返回 false。

调用规则与排查

在发送任何 UGC 命令之前调用,并传入服务器 depot ID 和目标文件夹的绝对路径。每个实例应管理自己的目录,并检查进程能否访问该路径。返回 false 后不要假设新的目录已经生效。

使用场景

例如,一台主机运行两个服务器实例时,运营者可以分别配置各自的内容目录,并在每个进程发出其他工坊请求前设置。应确保部署脚本提供正确的 depot 标识和绝对路径;如果设置失败,记录实例和目录信息,再检查调用身份与更新状态。

相关接口

DownloadItem。回调、状态与类型参考整理了相关结构体和枚举,适合在处理结果时对照使用。

资料依据:Steamworks ISteamUGC:BInitWorkshopForGameServer。资料核对日期:2026 年 11 月 4 日。