You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本在Steam启动Linux端Bevy游戏?启动异常排查

Linux端Steam启动游戏退出问题排查与解决方案

脚本问题分析与修复

你当前的脚本在终端正常但Steam启动失败,核心原因大概率是Steam启动时的工作目录并非游戏安装目录,导致./glow和LD_LIBRARY_PATH="."无法正确定位文件。修改脚本为以下内容即可解决:

#!/bin/sh
# 获取脚本所在的绝对目录
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
# 设置动态库路径为游戏目录
export LD_LIBRARY_PATH="$SCRIPT_DIR"
# 启动游戏
"$SCRIPT_DIR/glow" "$@"

用dirname "$0"配合pwd获取脚本的绝对路径,能确保无论Steam以哪个目录作为工作目录,都能正确找到游戏二进制文件和libsteam_api.so。

无需脚本的替代方案

1. 静态链接Steam API

如果使用静态版本的libsteam_api.a编译游戏,可彻底摆脱动态库依赖:

  • 确保你的bevy_steamworks配置支持静态链接,在Cargo.toml中启用对应特性(如static-link,具体参考插件文档);
  • 编译时指定链接静态库,避免生成依赖libsteam_api.so的二进制文件。

这种方案最可靠,无需额外设置环境变量,Steam直接启动游戏二进制即可。

2. 直接设置Steam启动选项

无需脚本,直接在Steam的游戏属性中设置启动选项:

LD_LIBRARY_PATH="$PWD" %command%

$PWD会指向游戏的安装目录,Steam启动时会自动识别该路径,无需手动指定绝对地址。

额外排查建议

  • 查看启动日志:在Steam启动选项中添加> game.log 2>&1,启动后查看生成的game.log文件,里面会包含具体的错误信息(比如找不到动态库、权限问题等);
  • 检查文件权限:确保glow二进制文件有可执行权限(chmod +x glow),libsteam_api.so有读取权限,打包上传到Steam时不要丢失这些权限。

内容的提问来源于stack exchange,提问作者Frank Weslien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 22:54:59