diff options
Diffstat (limited to 'docs/src/en/admin-guide/channel-chat')
| -rw-r--r-- | docs/src/en/admin-guide/channel-chat/introduction.md | 74 | ||||
| -rw-r--r-- | docs/src/en/admin-guide/channel-chat/logs.md | 119 |
2 files changed, 193 insertions, 0 deletions
diff --git a/docs/src/en/admin-guide/channel-chat/introduction.md b/docs/src/en/admin-guide/channel-chat/introduction.md new file mode 100644 index 0000000..c87be1b --- /dev/null +++ b/docs/src/en/admin-guide/channel-chat/introduction.md @@ -0,0 +1,74 @@ +# Channel Chat: Deployment Guide + +This guide explains how to deploy channel chat. + +## What is Channel Chat + +Channel chat is a feature that allows players to create channels and share chat among specific players. + +For detailed features, please refer to the [Player Guide](../../player-guide/channel-chat/about.md). + +## Preparing to Deploy Channel Chat + +To deploy channel chat, you need to enable the channel chat feature in the LunaticChat configuration file `config.yml`. + +1. Stop the server. +2. Open `plugins/LunaticChat/config.yml`. +3. Set `features.channelChat.enabled` to `true`. +4. Restart the server. + +This will enable the channel chat feature and allow players to use channel chat. + +## Channel Chat Configuration + +The configuration items related to channel chat are as follows: + +- `features.channelChat.maxChannelsPerPlayer`: Specifies the maximum number of channels a single player can create. +- `features.channelChat.maxMembersPerChannel`: Specifies the maximum number of members that can join a single channel. +- `features.channelChat.maxMembershipPerPlayer`: Specifies the maximum number of channels a single player can join. + +The default is set to `0`, which means there is no limit. + +::: tip Recommended Settings + +If you want to actively use the channel chat feature, we recommend setting these values higher. + +However, as this may impact server performance, please set them appropriately according to your server's resource situation. + +Recommended settings are as follows: + +- `features.channelChat.maxChannelsPerPlayer`: `3` to `5` +- `features.channelChat.maxMembersPerChannel`: `20` to `50` +- `features.channelChat.maxMembershipPerPlayer`: `5` to `10` + +::: + +## Channel Chat Logging + +::: warning Compatibility with Plugins like CoreProtect + +As of v0.7.0, LunaticChat's channel chat feature is not compatible with logging plugins like CoreProtect. + +::: + +Channel chat logging is enabled by default. + +For more details, see [Channel Chat: Logs](logs.md). + +## Channel Management + +Basically, [players manage channels themselves](../../player-guide/channel-chat/moderation.md). + +However, as a server administrator, please note the following: + +- Server administrators have owner permissions for all channels. If operations are required, please respond appropriately. +- To maintain server performance, set limits on the number of channels and members as needed. +- If inappropriate channels or member behavior occurs, take appropriate action. + +If you want to avoid troubles related to channel management, consider restricting moderate commands such as `/lc channel ban`. + +## Plugins that Intercept Channel Chat + +Logging plugins like CoreProtect do not intercept LunaticChat's channel chat messages by default. + +However, plugins that use Paper API's `originalMessage()` to retrieve messages may intercept LunaticChat's channel chat messages. diff --git a/docs/src/en/admin-guide/channel-chat/logs.md b/docs/src/en/admin-guide/channel-chat/logs.md new file mode 100644 index 0000000..b65750b --- /dev/null +++ b/docs/src/en/admin-guide/channel-chat/logs.md @@ -0,0 +1,119 @@ +# Channel Chat: Logs <Badge type="tip" text="v0.7.0" /> + +Channel chat logs are a record of all messages and activities that occur within the chat. + +::: warning Compatibility with Plugins like CoreProtect + +As of v0.7.0, LunaticChat's channel chat feature is not compatible with logging plugins like CoreProtect. + +::: + +## Checking Channel Chat Logs + +Channel chat logs are stored in the `plugins/LunaticChat/logs/channelchat/` directory. + +Channel chat log files are saved in the following format: + +``` +{"timestamp":"2026-01-31T08:54:18.504343071Z","playerId":"ceaea267-39dd-3bac-931c-761ada671ebe","playerName":"m1sk9","channelId":"test","message":"Hello"} +``` + +## About File Size + +Each line is a complete JSON object, separated by line breaks, and the file as a whole is not a JSON array. + +```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) <- Weekend, active +├── 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) <- Today (in progress) +``` + +Total: approximately 83 MB + +With a 30-day retention setting, the January 17 file will be automatically deleted tomorrow. + +### Size per Message + +Channel chat log entries are approximately 200 bytes per line. + +Assuming 1000 messages per hour: + +```text +1000 msg/h × 24h × 220 bytes = 5,280,000 bytes ≈ 5.3 MB/day +``` + +With the default 30-day retention setting, this amounts to approximately **159 MB**. + +```text +5.3 MB × 30 days = 159 MB +``` + +## Visualization with Grafana Loki + +Due to the JSON format, using Promtail to ingest channel chat logs into Grafana Loki will parse them for easier reading. + +```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 Filtering Examples + +Examples of querying logs in Grafana Loki: + +```text +{job="lunatichat"} |= "new features" +{job="lunatichat", channel="Global"} +{job="lunatichat", player="Steve"} +``` + +::: + +## Command Line Checking Examples + +### View the latest 10 entries + +```bash +tail -n 10 plugins/LunaticChat/logs/channel-messages-2026-01-31.json | jq +``` + +### Extract messages from a specific player + +```bash +cat plugins/LunaticChat/logs/channel-messages-*.json | \ +jq 'select(.playerName=="Steve")' +``` + +### Count messages from a specific channel + +```bash +cat plugins/LunaticChat/logs/channel-messages-*.json | \ +jq 'select(.channelId=="global")' | wc -l +``` + +### Message count by date + +```bash +for file in plugins/LunaticChat/logs/channel-messages-*.json; do +echo "$file: $(wc -l < $file) messages" +done +``` |
