Pulse Phone のドキュメント
動作要件
2. 動作要件
| 項目 | 必須? | ない場合どうなるか |
|---|---|---|
| OneSync 有効 | 必須 | 起動時チェックが OneSync ... off で失敗します。set onesync on を追加してください。 |
| ゲームビルド 2699 以降 | 必須 | 端末モデルがストリーミングされません。sv_enforceGameBuild を設定してください。 |
| MariaDB 10.6+ または MySQL 8 上の oxmysql(または ghmattimysql、mysql-async) | 推奨 | SQL リソースが動いていない場合、データはサーバーの key/value ストアに保存されます。データは残りますがクエリはできず、30人程度を超えるならデータベースを使うべきです。 |
| ボイススクリプト:pma-voice、mumble-voip、SaltyChat、TokoVOIP、YACA のいずれか | 推奨 | 通話はつながりますが音声は出ません。 |
| screenshot-basic | 推奨(標準のリソース、またはダウンロードに含まれる軽量版のコピー:クイックスタートの手順6を参照) | カメラで構図は決められますが、写真を保存できません。 |
| framework | 任意 | スマホは standalone で動作します:スマホはプレイヤーのライセンスに紐づき、スマホが独自の銀行を持ちます。 |
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 リソースがまったく動いていない | 自動でサーバーの key/value ストア。再起動後も残りますが、クエリはできません。30人程度を超える場合や、ストアの保存が遅いとコンソールが警告する場合は、データベースを使ってください。 |
| SQL リソースは動いているが、データベースが30秒以内に応答しない | 応答があるまで何も保存されません。コンソールが理由を表示し、スマホは15〜60秒ごとに再試行し、データベースが応答すると自動で起動を完了します。 |
最後のケースでは、set phone_db_fallback "kvp" を server.cfg に書いて、代わりに key/value ストアを使うようスマホに指示できます。そのデータは key/value ストアに残り、後からデータベースにコピーされることはないため、壊れた接続の回避策としてではなく、テストサーバーで使ってください。また、すべてのクエリには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)を残していた場合、Pulse Phone が自分のテーブルを作成できるよう、初回起動時にそれらは old_<name> に名前が変更されます。何も削除されません。データベースユーザーにテーブル名の変更権限がない場合、起動時チェックがテーブル名とともに [FAIL] Database を表示します。ユーザーに ALTER 権限を与えるか、データベースツール(HeidiSQL、phpMyAdmin)でそれぞれを old_<name> に名前変更してから再起動してください。