Pulse Phone 文档

运行要求

适用于 Pulse Phone 1.4.2阅读约 3 分钟更新于

2. 运行要求

项目 是否必需? 没有它会怎样
开启 OneSync 必需 启动检查失败,提示 OneSync ... off。添加 set onesync on。
游戏版本 2699 或更新 必需 手机模型无法流式加载。设置 sv_enforceGameBuild。
oxmysql(或 ghmattimysql、mysql-async),搭配 MariaDB 10.6+ 或 MySQL 8 建议 没有运行 SQL 资源时,数据保存在服务器的键值存储中。数据会持久保存,但无法查询;超过约 30 名玩家时应使用数据库。
一个语音脚本:pma-voice、mumble-voip、SaltyChat、TokoVOIP 或 YACA 建议 通话能接通但没有声音。
screenshot-basic 建议(标准资源,或你下载中附带的轻量版本:见快速入门第 6 步) 相机能取景,但无法保存照片。
一个框架 可选 手机以 standalone 模式运行:手机按玩家的 license 绑定,并使用手机自带的银行。

完整的 server.cfg 配置块:

server.cfg
set onesync on
set sv_enforceGameBuild 2699        # or newer

ensure oxmysql
# ... your framework, then your inventory, banking, garage and housing scripts ...
ensure pma-voice
ensure screenshot-basic
ensure phone
# ... scripts that use the phone ...

数据库。手机使用哪种存储,在每次启动时决定:

你的服务器 手机把数据存在哪里
oxmysql、mysql-async 或 ghmattimysql 在运行,且数据库有响应 数据库。首次启动时自动建表,每次更新后自动添加新表。
完全没有运行 SQL 资源 自动使用服务器的键值存储。重启后数据保留,但无法查询。超过约 30 名玩家,或控制台警告保存存储很慢时,请使用数据库。
SQL 资源在运行,但数据库在 30 秒内没有响应 在数据库响应之前不保存任何数据。控制台会说明原因,手机每 15 到 60 秒重试一次,数据库一旦响应就会自行完成启动。

在最后一种情况下,你可以用 set phone_db_fallback "kvp"(写在 server.cfg 中)让手机改用键值存储;这些数据会留在键值存储中,之后永远不会复制到数据库,所以请只在测试服务器上使用,不要把它当作绕过连接故障的办法。每个查询还有 10 秒的时限:数据库一直没有响应的查询会向发起它的应用报告为失败,控制台会把该查询点名一次。

支持的数据库:MariaDB 10.6 或更新,或 MySQL 8.0 或更新。每个版本的 phone.sql 在构建安装包之前,都会在运行 MySQL 8 SQL 模式的全新 MariaDB 数据库上检查。更早的版本(MariaDB 10.4 或 10.5、MySQL 5.7)未经测试,也不受支持,即使可能可以运行。

phone.sql 只用于不允许资源建表的主机。其中没有指定排序规则:会使用你服务器的 utf8mb4 默认值,与手机自己建表时相同。在现有数据库上运行是安全的,更新后再次运行新版本只会添加缺失的部分。

sv_stateBagStrictMode 可以保持开启。其他玩家看到的关于手机的一切(持握动画、手中的手机、屏幕、手电筒)都由服务器在校验数值后设置,绝不由玩家的游戏客户端设置。

更换手机

其他手机的数据表。如果你之前用过的手机留下了同名表(例如 phone_messages),它们会在首次启动时被重命名为 old_<name>,以便 Pulse Phone 创建自己的表。不会删除任何数据。如果你的数据库用户无权重命名表,启动检查会显示 [FAIL] Database 及表名:请给该用户授予 ALTER 权限,或在数据库工具(HeidiSQL、phpMyAdmin)中把每张表重命名为 old_<name>,然后重启。

译自英文。如有任何内容与英文页面不一致,以英文页面为准。 English