dayz-ctl — 这是 Linux 版 Steam Proton 上的实验性启动器(服务器资源管理器和启动器)DayZ。
本文档提供以下语言版本:eng ??、rus ??、ua ??
在这个项目进行时,Bohemia Interactive 仍然无法为游戏制作一个可以正确安装修改并连接到游戏服务器的工作启动器。这就是这个项目诞生的原因。
主要特点:
特别感谢 dayz-linux-cli-launcher 的想法和 dayzsalauncher 的 API。
启动器演示
主菜单 | 服务器浏览器 |
服务器过滤器 | 按地图过滤 |
应用选定的过滤器 | 收藏夹浏览器 |
历史浏览器 | 模糊搜索 |
离线模式 | 离线模组 |
服务器模组 | 模组信息 |
配置菜单 | 启动选项 |
关于菜单 | DayZ新闻 |
启动器有两种操作模式:使用 SteamCMD 和不使用 SteamCMD 在手动模式下管理 mod。
您可以结合使用这两种方法,例如,通过单击链接订阅您将来肯定需要的那些修改,并使用启动器检查更新或强制更新 mod。此外,您无法订阅下一台服务器的“可疑的 50 个 mod”,并通过启动器中的一个操作轻松删除它们,同时保留您订阅的所有 mod。
为了便于安装,有一个小脚本可以为您完成所有操作(至少尝试这样做)
执行这个:
curl -sSfLA dayz-ctl bit.ly/3Vf2zz3 | bash
为了使启动器正常工作,您需要确保已安装所有依赖项:
ping
( iputils-ping
) - 找出对服务器的 ping(启用 ICMP 的情况)geoiplookup
( geoip-bin
) - 找出服务器所在的国家whois
- geoiplookup 的后备,不太准确且速度较慢,但并非所有条目都在标准 geoip 数据库中curl
- 用于通过 HTTP/S 与各种 API 进行通信的实用程序cut, tr, grep, pgrep, pkill, killal, timeout, sed, awk
( gawk
) - 脚本中没有经典实用程序的地方然后您可以克隆存储库:
git clone [email protected]:WoozyMasta/dayz-ctl.git
# or
git clone https://github.com/WoozyMasta/dayz-ctl.git
# and run
cd dayz-ctl
./dayz-ctl
或者下载脚本文件本身:
curl -sSfL -o ~ /.local/bin/dayz-ctl
https://raw.githubusercontent.com/WoozyMasta/dayz-ctl/master/dayz-ctl
chmod +x ~ /.local/bin/dayz-ctl
# and run
dayz-ctl
表情符号可用于正确显示元素,您可能需要安装它们,例如,您可以使用 Google 的 Noto 字体。
以下是不同发行版的包名称列表:
fonts-noto-color-emoji
- debian/ubuntugoogle-noto-emoji-color-fonts
- centosgoogle-noto-emoji-fonts
- fedoranoto-fonts-emoji
-拱门font-noto-emoji
- 高山noto-coloremoji-fonts
- suse或者,如果您不喜欢表情符号或由于某种原因无法使用它们,您可以应用补丁将它们替换为字符串:
sed -e ' s/▫️/•/g ' -e ' s/?/✕/g ' -e ' s/⬛/ /g ' -e ' s//time/g ' -e ' s/❔/?/g '
-e ' s/?/ok/g ' -e ' s/?/no/g ' -e ' s/?/night/g ' -e ' s/☀️/day/g '
-e ' s//yes/g ' -e ' s/?/no/g ' -e ' s/✅/ok/g ' -e ' s//no/g '
-i " $( which dayz-ctl ) "
最好删除 Steam 中的所有 DayZ 启动选项并从启动器管理它们,反之亦然。由于键可以重复,这可能会导致混乱,或者在最坏的情况下,切断一些键,因为参数字符串有长度限制,并且在具有大量 mod 的服务器上,非常长的启动参数是也用过。
那些。将启动选项留空,或仅指定所需的辅助实用程序和变量集,例如:
MANGOHUD=1 ENABLE_VKBASALT=1 gamemoderun %command%
您可以输入多个搜索词,并用空格分隔。例如^namalsk DE !PVE !RP
代币 | 匹配类型 | 描述 |
---|---|---|
sbtrkt | 模糊匹配 | 与sbtrkt 匹配的项目 |
wild | 完全匹配(引用) | 包含wild 的物品 |
^music | 前缀精确匹配 | 以music 开头的项目 |
.mp3$ | 后缀精确匹配 | 以.mp3 结尾的项目 |
!fire | 逆向精确匹配 | 不包括fire 的物品 |
!^music | 反向前缀精确匹配 | 不以music 开头的项目 |
!.mp3$ | 反向后缀精确匹配 | 不以.mp3 结尾的项目 |
具有单个条形字符的术语充当 OR 运算符
P V E | R P
您可以借助环境变量来微调启动器的工作方式,您可以像往常一样将这些变量传递给环境或写入配置文件$HOME/.local/share/dayz-ctl/dayz-ctl.conf
(默认情况下) )
可用变量列表:
DAYZ_CTL_VERSION
— 应用程序版本DAYZ_CTL_NAME
= dayz-ctl
— 应用程序名称DAYZ_GAME_ID
= 221100
— Steam 游戏 IDAPPLICATIONS_DIR
= $HOME/.local/share/applications
— 用于存储应用程序快捷方式的目录DAYZ_CTL_DIR
= $HOME/.local/share/dayz-ctl
— 启动器工作目录DAYZ_CTL_BIN_DIR
= $HOME/.local/share/dayz-ctl/bin
— 用于存储附加可执行文件的目录DAYZ_REQUEST_TIMEOUT
= 10
— HTTP 请求的标准超时(以秒为单位)DAYZ_CONFIG_FILE
= $DAYZ_CTL_DIR/$DAYZ_CTL_NAME.conf
— dayz-ctl 配置文件DAYZ_SERVER_DB
= $DAYZ_CTL_DIR/servers.json
— 服务器数据库文件DAYZ_SERVER_DB_TTL
= 300
— 服务器数据库的 TTL(以秒为单位)DAYZ_SERVER_REQUEST_TIMEOUT
= 30
— 获取服务器列表的超时时间(以秒为单位)DAYZ_NEWS_DB
= $DAYZ_CTL_DIR/news.json
— 新闻基础文件DAYZ_NEWS_DB_TTL
= 3600
— 新闻数据库的 TTL(以秒为单位)DAYZ_MODS_DB
= $DAYZ_CTL_DIR/mods.json
— 修改数据库文件DAYZ_PROFILE
= $DAYZ_CTL_DIR/profile.json
— 用户配置文件DAYZ_HISTORY_SIZE
= 10
- 服务器资源管理器历史记录大小DAYZ_FZF_HISTORY
= $DAYZ_CTL_DIR/.$DAYZ_CTL_NAME-history
— 模糊搜索的历史文件DAYZ_USERAGENT
= "$DAYZ_CTL_NAME $DAYZ_CTL_VERSION"
— 用于 HTTP 请求的用户代理DAYZ_API
= https://dayzsalauncher.com/api/v1
— 用于获取服务器列表的 API 地址DAYZ_STEAMCMD_ENABLED
= true
- 切换以启用或禁用 SteamCMDDAYZ_FILTER_MOD_LIMIT
= 10
- 默认 mod 限制过滤器值DAYZ_FILTER_PLAYERS_LIMIT
= 50
- 默认玩家限制过滤值DAYZ_FILTER_PLAYERS_SLOTS
= 60
— 玩家的默认槽限制过滤值启用 MangoHud、vkBasalt 和游戏模式的 Steam 启动选项:
MANGOHUD=1 ENABLE_VKBASALT=1 gamemoderun %command%
此外,无需借助第三方实用程序,您就可以显示包含资源信息的覆盖图并使用标准 DXVK 工具限制 FPS,例如:
DXVK_HUD=fps DXVK_FRAME_RATE=60 gamemoderun %command%
DXVK_HUD=fps
... DXVK_HUD=full
的含义:
devinfo
- 显示 GPU 的名称和驱动程序版本。fps
- 显示当前帧速率。frametimes
- 显示帧时间图。submissions
- 显示每帧提交的命令缓冲区的数量。drawcalls
- 显示每帧的绘制调用和渲染通道数。pipelines
- 显示图形和计算管道的总数。descriptors
- 显示描述符池和描述符集的数量。memory
- 显示分配和使用的设备内存量。gpuload
- 显示估计的 GPU 负载。可能不准确。version
- 显示 DXVK 版本。api
- 显示应用程序使用的 D3D 功能级别。cs
- 显示工作线程统计信息。compiler
- 显示着色器编译器活动samplers
- 显示当前使用的采样器对数量 [仅限 D3D9]scale=x
— 将 HUD 缩放 x 倍(例如 1.5)帧率限制DXVK_FRAME_RATE=0