Tracking
概要
Tracking は、すべてのプレイヤーの位置を一定の間隔で記録します。プレイヤーが参加するたびに新しいセッションが始まり、エクステンションは、プレイヤーが退出するまで数秒ごとに、そのセッションにポイント(座標、ワールド、時刻)を追加します。セッションはアーティファクトに保存されます。
管理者は、そのセッションを確認できます。経路は、管理者の周囲で、ダストパーティクルのアニメーション付きの軌跡として再生され、BlueMap を使っていれば、Web マップ上に、各ポイントにマーカーを付けた線として描画されます。プレイヤーが建築物の中をどう移動するか、どこで迷うかを把握したり、不審なセッションを確認したりするのに役立つツールです。
機能
- セッションの記録 — ログインごとにプレイヤー 1 人につき 1 セッション。座標、ワールド、タイムスタンプを記録します。
- 設定可能な間隔 —
pointIntervalSeconds秒ごとに 1 ポイント。デフォルトは 20 です。 - ゲーム内リプレイ — 確認している管理者にのみ見える、アニメーション付きのパーティクルの軌跡。
- BlueMap 表示 — プレイヤーから取得した色の経路線と、任意のポイントマーカー。
- 永続ストレージ — セッションは、変更の数秒後に TypeWriter アーティファクトへ書き込まれます。
- サイズの上限 — セッションごとに、最大 10,000 ポイントまで保持されます。
- Folia 対応 — 記録とパーティクルのループは、リージョンセーフなスケジューラーを使用します。
インストール
- PacketEvents をインストールします。TypeWriter ですでに必須です。パーティクルの軌跡はこれを使って送信されます。
- 任意: Web マップ上でセッションを見るには、BlueMap をインストールします。
- Tracking の JAR を
plugins/Typewriter/extensions/に配置し、サーバーを再起動します。
はじめに
- TypeWriter の Web パネルでマニフェストページを開き、Tracking Artifact を追加します。その
artifactId(デフォルトはtracking_storage)は保持してください。 - Tracking Manifest を追加し、
storageにアーティファクトをリンクします。アーティファクトがリンクされていないと、何も記録されません。 pointIntervalSeconds(たとえば10)を設定し、trackingEnabledがオンになっていることを確認します。- Publish します。これ以降に参加したプレイヤーには、セッションが作られます。Publish した時点ですでにオンラインだったプレイヤーは、再接続するまでセッションがありません。
- しばらくしたら、
/tracking sessions <player>を実行して、プレイヤーのセッション ID を一覧表示します。 /tracking inspect <player> <session>を実行して、セッションを再生します。BlueMap がインストールされていれば、経路はマップ上にも表示されます。- 引数なしで
/trackingを実行すると、確認を終了します。
Tracking は、プレイヤーの正確な座標を、有効期限なしで保存します。現地の法律で必要とされる場合は、ルールにその旨を明記し、データが不要になったらアーティファクトのファイルを消去してください。
仕組み
セッション ID は、プレイヤーごとではなく、全プレイヤーを通して順番に割り当てられる番号です(1、2、3...)。セッションは、プレイヤーが退出すると終了します。
コマンド
このコマンドは、/tracking(/typewriter:tracking も可)として登録された標準のサーバーコマンドで、/typewriter のサブコマンドではありません。使用できるのはプレイヤーのみで、typewriter.tracking.inspect が必要です。
| コマンド | 説明 |
|---|---|
/tracking sessions <player> | プレイヤーについて記録されたセッション ID を一覧表示します。 |
/tracking inspect <player> | プレイヤーのセッション ID を一覧表示します。 |
/tracking inspect <player> <session> | セッションの確認を開始します。自分にはパーティクルの軌跡が、有効にしている場合は BlueMap のマーカーが表示されます。 |
/tracking | 確認を終了し、その BlueMap マーカーを削除します。 |
サーバーがプレイヤー名を知っている限り、オフラインのプレイヤーも確認できます。
パーミッション
| パーミッション | 許可される内容 |
|---|---|
typewriter.tracking.inspect | すべての /tracking コマンド。 |
設定
すべての設定は、Tracking Manifest エントリーにあります。使用されるのは最初に見つかったマニフェストのみで、変更は数秒以内に反映されます。
trackingEnabledは、記録のオンとオフを切り替えます。オフにするとポイントの追加が止まります。新しいセッションは、オンの間に参加したプレイヤーに対してのみ作成されます。blueMapEnabled、showBlueMapPoints、showBlueMapPathは、BlueMap に何を描画するかを制御します。2 つの表示オプションが両方ともオフの場合、何も描画されません。- 軌跡は、管理者がいるワールドで、管理者から約 30 ブロック以内の区間にのみ描画されます。
エントリー
2 件のエントリー(拡張機能のソースから生成)。
アーティファクト1
- Tracking ArtifactStores player tracking sessions and points
マニフェスト1
- Tracking ManifestMaster configuration for Player Tracking
トラブルシューティング
セッションが記録されない。 マニフェストが存在し、trackingEnabled がオンで、storage アーティファクトがリンクされている必要があります。セッションはプレイヤーの参加時に始まるため、Publish する前からオンラインだったプレイヤーは、再接続する必要があります。
/tracking inspect で "No tracking sessions found" と表示される。 プレイヤーの記録済みセッションがまだないか、名前が間違っています。/tracking sessions <player> を実行してください。セッションが役に立つには、少なくとも 1 つのポイントが必要です。最初のポイントは、pointIntervalSeconds の後に記録されます。
パーティクルの軌跡が見えない。 自分がいるワールドに少なくとも 2 つのポイントが必要で、経路から約 30 ブロック以内にいる必要があります。軌跡は、確認を実行した管理者にのみ見えます。
BlueMap に何も表示されない。 BlueMap がインストールされて有効になっていること、blueMapEnabled がオンで、表示オプションの少なくとも 1 つがオンになっていること、そしてポイントのワールドが BlueMap の認識しているワールドであることが必要です。マーカーは、/tracking を実行すると削除されます。
セッションの増加が止まる。 セッションが保持するポイントは、最大 10,000 です。デフォルトの間隔では、55 時間以上のプレイ時間に相当します。
クラッシュ後にデータが消えた。 データは、最後の変更から 5 秒後とアンロード時に保存されます。その間にクラッシュすると、最新のポイントが失われることがあります。