summaryrefslogtreecommitdiff
path: root/docs/src
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-01-27 21:39:59 +0900
committerSho Sakuma <me@m1sk9.dev>2026-01-27 22:07:27 +0900
commit21d17ca948193a9f4b7ef080d2b949240e64e538 (patch)
tree421f100ec8c8a6289d4d687143f0750108167a9e /docs/src
parent4bdfa1e3cfcb981355d8413d1f2f7e8f8bb36aa0 (diff)
downloadLunaticChat-21d17ca948193a9f4b7ef080d2b949240e64e538.tar.gz
LunaticChat-21d17ca948193a9f4b7ef080d2b949240e64e538.tar.bz2
LunaticChat-21d17ca948193a9f4b7ef080d2b949240e64e538.zip
docs: Add admin guide
Diffstat (limited to 'docs/src')
-rw-r--r--docs/src/guide/about.md3
-rw-r--r--docs/src/guide/admin/cache.md10
-rw-r--r--docs/src/guide/admin/configuration.md37
-rw-r--r--docs/src/guide/admin/data-and-logs.md119
-rw-r--r--docs/src/guide/admin/introduction-channel-chat.md56
-rw-r--r--docs/src/guide/getting-started.md61
-rw-r--r--docs/src/reference/permissions.md52
7 files changed, 317 insertions, 21 deletions
diff --git a/docs/src/guide/about.md b/docs/src/guide/about.md
index 41df712..933426f 100644
--- a/docs/src/guide/about.md
+++ b/docs/src/guide/about.md
@@ -12,9 +12,10 @@ LunaticChat は Minecraft サーバソフトウェアである Paper / Velocity
- **1on1 ダイレクトメッセージ機能**: /tell や /msg コマンドで,1対1のチャットが可能です.
- **クイック返信**: /reply で,直前にメッセージを送信した相手に素早く返信可能です.
- **かな・ローマ字変換**: ローマ字で入力したメッセージを,自動的に日本語に変換します.
+- **チャンネルチャット機能**: 複数のチャットチャンネルを作成し,特定のチャンネルでのみメッセージを送信できる環境を実現します.
- **CoreProtect への対応**: LunaticChat のチャットログは CoreProtect と互換性があります.
- **キャッシュによる高速動作**: ローマ字から日本語の変換はキャッシュを使用し,従来の LunaChat よりも高速に動作します.
-- **最新版の対応**: 他プラグインとの依存を減らし,常に最新の Minecraft バージョンに対応します.
+- **最新版の対応**: 他プラグインとの依存を完全に排除し,常に最新の Minecraft バージョンに対応します.
## 比較
diff --git a/docs/src/guide/admin/cache.md b/docs/src/guide/admin/cache.md
index 9e45ff2..afacac5 100644
--- a/docs/src/guide/admin/cache.md
+++ b/docs/src/guide/admin/cache.md
@@ -29,13 +29,3 @@ LunaticChat では,キャッシュのパージ 機能は実装されていま
これはプレイヤー側にホストのファイルシステムを操作させることがセキュリティ上好ましくないためです.
:::
-
-## キャッシュバージョン
-
-ディスクキャッシュに使用されるファイルには `version` フィールドが含まれており,LunaticChat のバージョンアップに伴うキャッシュフォーマットの変更に対応しています.
-
-バージョンが不一致の場合,LunaticChat はキャッシュファイルを **古い形式のキャッシュ** として認識し,内容を無視して新しい形式で再作成します.
-
-```json
-{"version":"1","entries":{}}
-```
diff --git a/docs/src/guide/admin/configuration.md b/docs/src/guide/admin/configuration.md
index ac63eb7..dfa41f9 100644
--- a/docs/src/guide/admin/configuration.md
+++ b/docs/src/guide/admin/configuration.md
@@ -54,6 +54,12 @@ features:
channelChat:
# If enabled, channel-based chat functionality will be activated.
enabled: false
+ # Maximum number of channels that can be created per server. Set to 0 for unlimited.
+ maxChannelsPerServer: 0
+ # Maximum number of members allowed in a single channel. Set to 0 for unlimited.
+ maxMembersPerChannel: 0
+ # Maximum number of channels a single player can join. Set to 0 for unlimited.
+ maxMembershipPerPlayer: 0
# ----------------------------------------------
# --------- Message Format Settings --------
@@ -171,13 +177,42 @@ LunaticChat の [`/reply`](../../reference/commands/reply.md) コマンドによ
ローマ字変換 API へのリクエストが失敗した場合の再試行回数を指定します.
-### `features.channelChat.enabled`
+### `features.channelChat`
+
+#### `enabled`
- Type: `boolean`
- Default: `false`
チャンネルチャット機能を有効にします.
+#### `maxChannelsPerServer`
+
+- Type: `integer`
+- Default: `0`
+
+サーバーあたりで作成可能なチャンネルの最大数を指定します.
+
+`0` に設定すると無制限になります.
+
+#### `maxMembersPerChannel`
+
+- Type: `integer`
+- Default: `0`
+
+1 つのチャンネルに参加可能なメンバーの最大数を指定します.
+
+`0` に設定すると無制限になります.
+
+#### `maxMembershipPerPlayer`
+
+- Type: `integer`
+- Default: `0`
+
+1 人のプレイヤーが参加可能なチャンネルの最大数を指定します.
+
+`0` に設定すると無制限になります.
+
## Message Format Settings
使用できるプレースホルダー:
diff --git a/docs/src/guide/admin/data-and-logs.md b/docs/src/guide/admin/data-and-logs.md
new file mode 100644
index 0000000..6f48857
--- /dev/null
+++ b/docs/src/guide/admin/data-and-logs.md
@@ -0,0 +1,119 @@
+# データ・ログ
+
+::: danger 編集厳禁
+
+これらのデータファイルは LunaticChat の動作に不可欠です.直接編集すると,データの破損や予期せぬ動作を引き起こす可能性があります.データのバックアップを取る場合を除き,これらのファイルを直接編集しないでください.
+
+:::
+
+## データの保存場所
+
+LunaticChat は、チャンネルデータや設定情報をローカルディスクに保存します.
+
+- `channels.json`: チャンネル情報を保存するファイルです.
+- `chatmodes.json`: プレイヤーのチャットモード設定を保存するファイルです.
+- `conversion_cache.json`: チャンネル変換のキャッシュを保存するファイルです.
+- `player-settings.yaml`: プレイヤーごとの設定情報を保存するファイルです.
+
+::: tip 定期的なバックアップ
+
+LunaticChat のデータの安全性を確保するために,定期的にバックアップを作成することをお勧めします.
+
+:::
+
+### `channels.json`
+
+`channels.json` ファイルは、LunaticChat が管理するチャンネルの情報を保存します.このファイルには,チャンネル名、参加者リスト、チャットモードなどの情報が含まれます.
+
+```json
+{
+ "channels": {
+ "general-channel": {
+ "id": "general-channel",
+ "name": "一般チャンネル",
+ "ownerId": "a01e3843-e521-3998-958a-f459800e4d11",
+ "createdAt": 1769507213150,
+ "bannedPlayers": [
+ "ceaea267-39dd-3bac-931c-761ada671ebe"
+ ]
+ }
+ },
+ "members": {
+ "general-channel": [
+ {
+ "channelId": "test2",
+ "playerId": "a01e3843-e521-3998-958a-f459800e4d11",
+ "role": "OWNER",
+ "joinedAt": 1769507213150
+ }
+ ]
+ },
+ "activeChannels": {
+ "a01e3843-e521-3998-958a-f459800e4d11": "test2"
+ }
+}
+```
+
+### `chatmodes.json`
+
+`chatmodes.json` ファイルは、プレイヤーのチャットモード設定を保存します.このファイルには,プレイヤーごとのチャットモード情報が含まれます.
+
+```json
+{
+ "modes": {
+ "aed5efd4-551b-3965-bc28-ae21aa072a66": "CHANNEL",
+ "ceaea267-39dd-3bac-931c-761ada671ebe": "CHANNEL",
+ "a01e3843-e521-3998-958a-f459800e4d11": "CHANNEL",
+ "681f539b-8bb8-3f85-85e5-a2945f6c6539": "GLOBAL"
+ }
+}
+```
+
+### `conversion_cache.json`
+
+`conversion_cache.json` ファイルは、チャンネル変換のキャッシュを保存します.このファイルには,プレイヤーごとのチャンネル変換情報が含まれます.
+
+キャッシュシステムに関する詳細は [こちら](./cache.md) をご覧ください.
+
+
+```json
+{"version":"1","entries":{"hi":"日"}}
+```
+
+### `player-settings.yaml`
+
+`player-settings.yaml` ファイルは、プレイヤーごとの設定情報を保存します.このファイルには,プレイヤーの個別設定が含まれます.
+
+```yaml
+version: 1
+japaneseConversion:
+ "aed5efd4-551b-3965-bc28-ae21aa072a66": false
+ "ceaea267-39dd-3bac-931c-761ada671ebe": false
+directMessageNotification:
+ "aed5efd4-551b-3965-bc28-ae21aa072a66": true
+ "ceaea267-39dd-3bac-931c-761ada671ebe": true
+channelMessageNotification:
+ "ceaea267-39dd-3bac-931c-761ada671ebe": true
+```
+
+## キャッシュバージョン
+
+ディスクキャッシュに使用されるファイルには `version` フィールドが含まれており,LunaticChat のバージョンアップに伴うキャッシュフォーマットの変更に対応しています.
+
+バージョンが不一致の場合,LunaticChat はキャッシュファイルを **古い形式のキャッシュ** として認識し,内容を無視して新しい形式で再作成します.
+
+```json
+{"version":"1","entries":{}}
+```
+
+## CoreProtect について
+
+LunaticChat の各種チャットログは API 不要で CoreProtect でも記録することができます.
+
+各機能のログは次のアクションで確認できます. `/co lookup` コマンド使用時に以下のアクションを指定してください:
+
+- ダイレクトメッセージ: `command`
+- 全体チャット・チャンネルチャット: `chat`
+ - かな・ローマ字変換はそのプレイヤーの設定状況により保存されます.
+
+
diff --git a/docs/src/guide/admin/introduction-channel-chat.md b/docs/src/guide/admin/introduction-channel-chat.md
new file mode 100644
index 0000000..6993435
--- /dev/null
+++ b/docs/src/guide/admin/introduction-channel-chat.md
@@ -0,0 +1,56 @@
+# チャンネルチャット展開ガイド
+
+このガイドでは、チャンネルチャットの展開方法について説明します.
+
+## チャンネルチャットとは
+
+プレイヤー間でチャンネルを作成し,特定のプレイヤー間で,チャットを共有できる機能です.
+
+詳しい機能については [プレイヤー向けガイド版](../player/channel-chat/about.md) を参照してください.
+
+## チャンネルチャットの展開準備
+
+チャンネルチャットを展開するには,LunaticChat の設定ファイル `config.yml` でチャンネルチャット機能を有効化する必要があります.
+
+1. サーバーを停止します.
+2. `plugins/LunaticChat/config.yml` を開きます.
+3. `features.channelChat.enabled` を `true` に設定します.
+4. サーバーを再起動します.
+
+以上でチャンネルチャット機能が有効化され,プレイヤーがチャンネルチャットを使用できるようになります.
+
+## チャンネルチャットの設定
+
+チャンネルチャットに関する設定項目は以下の通りです.
+
+- `features.channelChat.maxChannelsPerPlayer`: 1人のプレイヤーが作成できるチャンネルの最大数を指定します.
+- `features.channelChat.maxMembersPerChannel`: 1つのチャンネルに参加できるメンバーの最大数を指定します.
+- `features.channelChat.maxMembershipPerPlayer`: 1人のプレイヤーが参加できるチャンネルの最大数を指定します.
+
+デフォルトは `0` に設定されており,制限はありません.
+
+::: tip 設定のおすすめは?
+
+チャンネルチャット機能を活発に使用したい場合は,これらの値を高めに設定することをお勧めします.
+
+ただし,サーバーのパフォーマンスに影響を与える可能性があるため,サーバーのリソース状況に応じて適切に設定してください.
+
+おすすめの設定は次のとおりです.
+
+- `features.channelChat.maxChannelsPerPlayer`: `3` 〜 `5`
+- `features.channelChat.maxMembersPerChannel`: `20` 〜 `50`
+- `features.channelChat.maxMembershipPerPlayer`: `5` 〜 `10`
+
+:::
+
+## チャンネルの管理
+
+基本的に,[チャンネルの管理はプレイヤー自身が行います](../player/channel-chat/moderation.md).
+
+ただし,サーバー管理者として,以下の点に注意してください:
+
+- サーバー管理者はすべてのチャンネルに対してオーナー権限を持ちます.操作が必要な場合は,適切に対応してください.
+- サーバーのパフォーマンスを維持するために,必要に応じてチャンネル数やメンバー数の制限を設定してください.
+- 不適切なチャンネルやメンバー行動が発生した場合は,適切な措置を講じてください.
+
+また,それらのチャンネルの管理によるトラブルを回避したい場合は `/lc channel ban` などのモデレートコマンドの制限を検討してください.
diff --git a/docs/src/guide/getting-started.md b/docs/src/guide/getting-started.md
index 08fe38a..3c55628 100644
--- a/docs/src/guide/getting-started.md
+++ b/docs/src/guide/getting-started.md
@@ -1,5 +1,27 @@
# はじめる
+## 事前準備
+
+LunaticChat を使用するには,以下のソフトウェアが必要です:
+
+- Java 21 (LTS 以降)
+- Paper 1.21 以降
+ - 最新版は [こちら](https://papermc.io/downloads/paper), それ以降のバージョンは [こちら](https://fill-ui.papermc.io/projects/paper/family/1.21) から入手できます.
+
+::: warning Spigot 系プラットフォームでの動作について
+
+LunaticChat は Paper プラグインです.Spigot / Bukkit / CraftBukkit では動作しません.
+
+:::
+
+::: tip Folia のサポートについて
+
+Folia は現在サポートされていません.将来的に対応する可能性がありますが,現時点では Folia 上での動作は保証されていません.
+
+詳しくは [Folia Support (m1sk9/LunaticChat #42)](https://github.com/m1sk9/LunaticChat/issues/42) を参照してください.
+
+:::
+
## インストール
LunaticChat をインストールします.LunaticChat は以下から入手できます:
@@ -7,23 +29,48 @@ LunaticChat をインストールします.LunaticChat は以下から入手
- [GitHub](https://github.com/m1sk9/LunaticChat/releases)
- [Modrinth](https://modrinth.com/project/lunaticchat)
-ダウンロードしたプラグインファイルをサーバーの `plugins` フォルダに配置し,サーバーを再起動します.
+ダウンロードしたプラグインファイルをサーバーの `plugins` フォルダに配置し,サーバーを起動します.
## 設定
-LunaticChat を起動すると以下のファイルが作成されます.
+LunaticChat を起動すると設定ファイル `config.yml` が作成されます.
+
+該当のファイルを開き,初期設定を変更してください.なお,全設定項目の詳細については,[設定ガイド](admin/configuration.md)を参照してください.
-- `plugins/LunaticChat/config.yml`:プラグインの設定ファイル
-- `plugins/LunaticChat/player-settings.yaml`:ユーザーごとの設定ファイル
-- `plugins/LunaticChat/conversion_cache.json`: ローマ字変換のキャッシュファイル
+### 推奨する初期設定
-設定ファイル `config.yml` を開き,必要に応じて設定を変更します.設定項目の詳細については,[設定ガイド](admin/configuration.md)を参照してください.
+`config.yml` の以下の項目を確認・変更してください:
+
+- `checkForUpdates`: LunaticChat のアップデートチェックを有効にするかどうかを指定します.`true` に設定することを推奨します.
+- `language`: LunaticChat のメッセージ言語を指定します.日本語環境の場合は `ja` に設定してください.
+ - なお,日本語環境が使用できないサーバー向けにプラグイン内のログは全て英語で出力されます.
+- `features.quickReplies.enabled`: クイックリプライ機能を有効にするかどうかを指定します.`true` に設定することを推奨します.
+- `features.japaneseConversion.enabled`: ローマ字からひらがなへの変換機能を有効にするかどうかを指定します.日本人向けにサーバーを開放する場合は `true` に設定することを推奨します.
+
+::: tip その他,設定項目について
+
+チャンネルチャットなどの各機能に関する設定項目も存在します.
+
+必要に応じて設定を変更してください.
+
+:::
## パーミッション
LunaticChat のパーミッションを LuckPerms などのパーミッション管理プラグインで設定します.
-基本的なパーミッションは Paper や Velocity のデフォルトパーミッションシステム ( `OP` / `non OP` ) でも設定できますが,より詳細な制御を行う場合は LuckPerms の使用を推奨します.
+基本的なパーミッションは Paper や Velocity のデフォルトパーミッションシステム ( `OP` / `non OP` ) でも使用できるように開発されていますが,より詳細な制御を行う場合は LuckPerms の使用を推奨します.
- パーミッションノードの詳細については [パーミッションガイド](../reference/permissions.md)を参照してください.
- コマンドの各機能に対応するパーミッションノードは,[コマンドリファレンス](../reference/index.md)を参照してください.
+
+## サーバーの再起動
+
+設定が完了したら,サーバーを再起動して設定を反映させてください.
+
+以上で LunaticChat の基本的なセットアップは完了です.
+
+## 次は?
+
+- [キャッシュシステム](./admin/cache.md): LunaticChat のキャッシュシステムについて説明します.
+- []
diff --git a/docs/src/reference/permissions.md b/docs/src/reference/permissions.md
index b557ae9..fb30a36 100644
--- a/docs/src/reference/permissions.md
+++ b/docs/src/reference/permissions.md
@@ -8,9 +8,9 @@ LuckPerms を使用した設定方法に関する詳細は [LuckPerms Wiki](http
- Default: `OP`
-[`/tell`](commands/tell.md) / [`/reply`](commands/reply.md) コマンドでのやり取りを可視化します.
+各種プレイヤー間のやり取りを可視化します.
-この権限を持つプレイヤーは他プレイヤーの [`/tell`](commands/tell.md) / [`/reply`](commands/reply.md) でのメッセージがブロードキャストされます.
+この権限を持つプレイヤーは他プレイヤーの [`/tell`](commands/tell.md) / [`/reply`](commands/reply.md) でのメッセージ・全チャンネルチャットがブロードキャストされます.
### `lunaticchat.noticeUpdate`
@@ -20,6 +20,12 @@ LunaticChat のアップデート通知を受け取ります.
[受け取るには `checkForUpdates` を有効にしておく](../guide/admin/configuration.md#checkforupdates) 必要があります.
+### `lunaticchat.channelbypass`
+
+- Default: `OP`
+
+各チャンネルのモデレート機能やプライベートチャンネルに対する制限を無視します.
+
## `lunaticchat.command.*`
### `lunaticchat.command.tell`
@@ -94,12 +100,54 @@ LunaticChat のアップデート通知を受け取ります.
[`/lc channel status`](commands/lc/channel.md) コマンドの使用を切り替えます.
+### `lunaticchat.command.lc.channel.info`
+
+- Default: `non OP`
+
+[`/lc channel info`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
### `lunaticchat.command.lc.channel.delete`
- Default: `non OP`
[`/lc channel delete`](commands/lc/channel.md) コマンドの使用を切り替えます.
+### `lunaticchat.command.lc.channel.invite`
+
+- Default: `non OP`
+
+[`/lc channel invite`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
+### `lunaticchat.command.lc.channel.kick`
+
+- Default: `non OP`
+
+[`/lc channel kick`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
+### `lunaticchat.command.lc.channel.ban`
+
+- Default: `non OP`
+
+[`/lc channel ban`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
+### `lunaticchat.command.lc.channel.unban`
+
+- Default: `non OP`
+
+[`/lc channel unban`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
+### `lunaticchat.command.lc.channel.mod`
+
+- Default: `non OP`
+
+[`/lc channel mod`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
+### `lunaticchat.command.lc.channel.ownership`
+
+- Default: `non OP`
+
+[`/lc channel ownership`](commands/lc/channel.md) コマンドの使用を切り替えます.
+
### `lunaticchat.command.lc.chatmode`
- Default: `non OP`