summaryrefslogtreecommitdiff
path: root/docs/src/guide
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-01-31 18:25:59 +0900
committerSho Sakuma <me@m1sk9.dev>2026-01-31 20:16:53 +0900
commit2b8f53067b7c497bb8c4a90d9dcc41e2d5ca78e6 (patch)
tree39dadbf4a26405a9de492108b0dbccb776180a7c /docs/src/guide
parent3f7021a3bd407f4133e76dab22cc68e31ffd018c (diff)
downloadLunaticChat-2b8f53067b7c497bb8c4a90d9dcc41e2d5ca78e6.tar.gz
LunaticChat-2b8f53067b7c497bb8c4a90d9dcc41e2d5ca78e6.tar.bz2
LunaticChat-2b8f53067b7c497bb8c4a90d9dcc41e2d5ca78e6.zip
docs: Add channel chat log
Diffstat (limited to 'docs/src/guide')
-rw-r--r--docs/src/guide/admin/channel-chat/introduction.md (renamed from docs/src/guide/admin/introduction-channel-chat.md)24
-rw-r--r--docs/src/guide/admin/channel-chat/logs.md119
-rw-r--r--docs/src/guide/admin/configuration.md33
-rw-r--r--docs/src/guide/admin/management-data.md (renamed from docs/src/guide/admin/data-and-logs.md)12
4 files changed, 173 insertions, 15 deletions
diff --git a/docs/src/guide/admin/introduction-channel-chat.md b/docs/src/guide/admin/channel-chat/introduction.md
index 6993435..cf9fe52 100644
--- a/docs/src/guide/admin/introduction-channel-chat.md
+++ b/docs/src/guide/admin/channel-chat/introduction.md
@@ -1,4 +1,4 @@
-# チャンネルチャット展開ガイド
+# チャンネルチャット: 展開ガイド
このガイドでは、チャンネルチャットの展開方法について説明します.
@@ -6,7 +6,7 @@
プレイヤー間でチャンネルを作成し,特定のプレイヤー間で,チャットを共有できる機能です.
-詳しい機能については [プレイヤー向けガイド版](../player/channel-chat/about.md) を参照してください.
+詳しい機能については [プレイヤー向けガイド版](../../player/channel-chat/about.md) を参照してください.
## チャンネルチャットの展開準備
@@ -43,9 +43,21 @@
:::
+## チャンネルチャットのログ
+
+::: warning CoreProtect などのプラグインとの互換性
+
+LunaticChat では,チャンネルチャット機能に限り v0.7.0 以降 CoreProtect などのログ記録プラグインと互換性はありません.
+
+:::
+
+チャンネルチャットのログ機能はデフォルトで有効になっています.
+
+詳しくは [チャンネルチャット: ログ](logs.md) を参照してください.
+
## チャンネルの管理
-基本的に,[チャンネルの管理はプレイヤー自身が行います](../player/channel-chat/moderation.md).
+基本的に,[チャンネルの管理はプレイヤー自身が行います](../../player/channel-chat/moderation.md).
ただし,サーバー管理者として,以下の点に注意してください:
@@ -54,3 +66,9 @@
- 不適切なチャンネルやメンバー行動が発生した場合は,適切な措置を講じてください.
また,それらのチャンネルの管理によるトラブルを回避したい場合は `/lc channel ban` などのモデレートコマンドの制限を検討してください.
+
+## チャンネルチャットを捕捉してしまうプラグイン
+
+基本的に CoreProtect などのログ記録プラグインは,LunaticChat のチャンネルチャットメッセージを捕捉しません.
+
+ただし,Paper API の `originalMessage()` を使用してメッセージを取得しているプラグインは,LunaticChat のチャンネルチャットメッセージを捕捉してしまう可能性があります.
diff --git a/docs/src/guide/admin/channel-chat/logs.md b/docs/src/guide/admin/channel-chat/logs.md
new file mode 100644
index 0000000..9b88bdd
--- /dev/null
+++ b/docs/src/guide/admin/channel-chat/logs.md
@@ -0,0 +1,119 @@
+# チャンネルチャット: ログ <Badge type="tip" text="v0.7.0" />
+
+チャンネルチャットのログは,チャット内で行われたすべてのメッセージとアクティビティの記録です.
+
+::: warning CoreProtect などのプラグインとの互換性
+
+LunaticChat では,チャンネルチャット機能に限り v0.7.0 以降 CoreProtect などのログ記録プラグインと互換性はありません.
+
+:::
+
+## チャンネルチャットのログを確認する
+
+チャンネルチャットのログは `plugins/LunaticChat/logs/channelchat/` ディレクトリに保存されます.
+
+チャンネルチャットのログファイルは,以下のフォーマットで保存されます:
+
+```
+{"timestamp":"2026-01-31T08:54:18.504343071Z","playerId":"ceaea267-39dd-3bac-931c-761ada671ebe","playerName":"m1sk9","channelId":"test","message":"こんにちは"}
+```
+
+## ファイルサイズについて
+
+各行が1つの完全な JSON オブジェクトであり,各行で区切られているだけで,ファイル全体としては JSON 配列ではありません.
+
+```text
+plugins/LunaticChat/logs/
+├── channel-messages-2026-01-17.json (5.2 MB)
+├── channel-messages-2026-01-18.json (4.8 MB)
+├── channel-messages-2026-01-19.json (6.1 MB)
+├── channel-messages-2026-01-20.json (5.5 MB)
+├── channel-messages-2026-01-21.json (7.2 MB) <- 週末、アクティブ
+├── channel-messages-2026-01-22.json (6.9 MB)
+├── channel-messages-2026-01-23.json (4.3 MB)
+├── channel-messages-2026-01-24.json (5.0 MB)
+├── channel-messages-2026-01-25.json (5.4 MB)
+├── channel-messages-2026-01-26.json (4.9 MB)
+├── channel-messages-2026-01-27.json (6.2 MB)
+├── channel-messages-2026-01-28.json (7.5 MB)
+├── channel-messages-2026-01-29.json (5.8 MB)
+├── channel-messages-2026-01-30.json (6.0 MB)
+└── channel-messages-2026-01-31.json (2.1 MB) <- 今日(進行中)
+```
+
+合計: 約 83 MB
+
+30日保持設定 の場合,1月17日のファイルは明日自動削除されます.
+
+### 1メッセージあたりのサイズ
+
+チャンネルチャットのログエントリは1行につき,約200バイトです.
+
+1時間に1000メッセージの計算として
+
+```text
+1000 msg/h × 24h × 220 bytes = 5,280,000 bytes ≈ 5.3 MB/日
+```
+
+デフォルト設定の30日間保持の場合は **159 MB** 程度になります.
+
+```text
+5.3 MB × 30日 = 159 MB
+```
+
+## Grafana Loki での可視化
+
+JSON 形式のため,Promtail を使用し,Grafana Loki にチャンネルチャットのログを取り込むとパースされ読みやすくなります.
+
+```text
+2026-01-31 10:23:45.123 {job="lunatichat", player="Steve", channel="Global"}
+Hello everyone!
+
+2026-01-31 10:24:12.456 {job="lunatichat", player="Alex", channel="Global"}
+Hi Steve!
+
+2026-01-31 10:25:03.789 {job="lunatichat", player="Notch", channel="Development Team"}
+Working on new features
+```
+
+::: tip フィルタリング例
+
+Grafana Loki でログをクエリ化する例:
+
+```text
+{job="lunatichat"} |= "new features"
+{job="lunatichat", channel="Global"}
+{job="lunatichat", player="Steve"}
+```
+
+:::
+
+## コマンドラインでの確認例
+
+### 最新10件を見る
+
+```bash
+tail -n 10 plugins/LunaticChat/logs/channel-messages-2026-01-31.json | jq
+```
+
+### 特定プレイヤーのメッセージを抽出
+
+```bash
+cat plugins/LunaticChat/logs/channel-messages-*.json | \
+jq 'select(.playerName=="Steve")'
+```
+
+### 特定チャンネルのメッセージ数をカウント
+
+```bash
+cat plugins/LunaticChat/logs/channel-messages-*.json | \
+jq 'select(.channelId=="global")' | wc -l
+```
+
+### 日付別メッセージ数
+
+```bash
+for file in plugins/LunaticChat/logs/channel-messages-*.json; do
+echo "$file: $(wc -l < $file) messages"
+done
+```
diff --git a/docs/src/guide/admin/configuration.md b/docs/src/guide/admin/configuration.md
index dfa41f9..5eb5fc6 100644
--- a/docs/src/guide/admin/configuration.md
+++ b/docs/src/guide/admin/configuration.md
@@ -60,6 +60,14 @@ features:
maxMembersPerChannel: 0
# Maximum number of channels a single player can join. Set to 0 for unlimited.
maxMembershipPerPlayer: 0
+ # Channel message logging configuration
+ messageLogging:
+ # If enabled, all channel messages will be logged to NDJSON files for analysis and archival.
+ enabled: true
+ # Number of days to retain log files. Set to 0 to keep logs indefinitely.
+ retentionDays: 30
+ # Maximum size of a single log file in megabytes. Files exceeding this size will stop accepting new entries.
+ maxFileSizeMB: 100
# ----------------------------------------------
# --------- Message Format Settings --------
@@ -213,6 +221,31 @@ LunaticChat の [`/reply`](../../reference/commands/reply.md) コマンドによ
`0` に設定すると無制限になります.
+#### `messageLogging.enabled`
+
+- Type: `boolean`
+- Default: `true`
+
+チャンネルチャットのメッセージを NDJSON 形式でログに記録するかどうかを指定します.
+
+#### `messageLogging.retentionDays`
+
+- Type: `integer`
+- Default: `30`
+
+チャンネルチャットのログファイルを保存する日数を指定します.
+
+`0` に設定すると,ログファイルは削除されません.
+
+#### `messageLogging.maxFileSizeMB`
+
+- Type: `integer`
+- Default: `100`
+
+チャンネルチャットのログファイルの最大サイズ(メガバイト)を指定します.
+
+`maxFileSizeMB` を超えたログファイルは新しいエントリを受け付けなくなります.
+
## Message Format Settings
使用できるプレースホルダー:
diff --git a/docs/src/guide/admin/data-and-logs.md b/docs/src/guide/admin/management-data.md
index 6f48857..5527ffa 100644
--- a/docs/src/guide/admin/data-and-logs.md
+++ b/docs/src/guide/admin/management-data.md
@@ -105,15 +105,3 @@ channelMessageNotification:
```json
{"version":"1","entries":{}}
```
-
-## CoreProtect について
-
-LunaticChat の各種チャットログは API 不要で CoreProtect でも記録することができます.
-
-各機能のログは次のアクションで確認できます. `/co lookup` コマンド使用時に以下のアクションを指定してください:
-
-- ダイレクトメッセージ: `command`
-- 全体チャット・チャンネルチャット: `chat`
- - かな・ローマ字変換はそのプレイヤーの設定状況により保存されます.
-
-