summaryrefslogtreecommitdiff
path: root/website/src/docs
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-08-05 04:51:22 +0900
committerSho Sakuma <me@m1sk9.dev>2026-08-05 04:51:22 +0900
commit7e791eaef4e838f590585ab4dc3a3c0e6e7f0972 (patch)
treeed5510c8737c13728dbfcf5b360b385fd2652f6b /website/src/docs
parent89c8e68341b0ff9cb3c69f0ff6e4c34bbec43ae9 (diff)
downloadLunaticChat-7e791eaef4e838f590585ab4dc3a3c0e6e7f0972.tar.gz
LunaticChat-7e791eaef4e838f590585ab4dc3a3c0e6e7f0972.tar.bz2
LunaticChat-7e791eaef4e838f590585ab4dc3a3c0e6e7f0972.zip
docs: correct the cross-server DM server name and two related claims
The `@<server>` argument resolves against the server names registered in `velocity.toml`, not the `features.velocityIntegration.serverName` of the destination: PresenceTracker publishes `serverInfo.name` and CrossServerDirectMessageRelay matches the target against the same, so the previous text had it exactly backwards. Following it on a proxy where the two names differ produces SERVER_NOT_FOUND every time, and points the reader at the wrong file to fix. `serverName` still matters, for `{server}` and for recognising local players, so what it does is stated instead. Also corrects two claims made while widening these pages: - `/lcv status` reports only this server's protocol version, not both sides'. The Velocity bug template leaned on it as its most important field, so a reporter would have pasted output that cannot answer the compatibility question. It now also says to run it after a player has joined, since the handshake waits for one - the same caveat the README install steps needed. - Spies see pre-conversion text for direct messages only. Channel messages are converted before the handler runs, so spies get the same formatted string the members do. Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'website/src/docs')
-rw-r--r--website/src/docs/features/admin.md2
-rw-r--r--website/src/docs/features/direct-message.md8
-rw-r--r--website/src/docs/features/velocity.md2
3 files changed, 7 insertions, 5 deletions
diff --git a/website/src/docs/features/admin.md b/website/src/docs/features/admin.md
index 0c185fb..3f71dcc 100644
--- a/website/src/docs/features/admin.md
+++ b/website/src/docs/features/admin.md
@@ -28,7 +28,7 @@ Players with the `lunaticchat.spy` permission (default: op) can view both the di
- Direct messages are delivered to spies, excluding the sender and the recipient
- Channel messages are delivered to spies, excluding the sender and the channel's own members
-- Spy players see the original message before romaji conversion
+- For direct messages, spies see the original text before romaji conversion. Channel messages reach spies in the same converted form the members see
- Hover text indicates the message is a spy message
- Spy players themselves are not included in the normal sender/recipient list
diff --git a/website/src/docs/features/direct-message.md b/website/src/docs/features/direct-message.md
index f3d39e4..ec0f24e 100644
--- a/website/src/docs/features/direct-message.md
+++ b/website/src/docs/features/direct-message.md
@@ -42,14 +42,16 @@ To message a player on another server, specify the player argument as `playerNam
/tell <player>@<server> <message>
```
-`serverName` is the `features.velocityIntegration.serverName` configured on the **destination** server, not the name Velocity uses internally. A server left at the default `"Unknown"` cannot be addressed meaningfully, so give every server a name before enabling this.
+`serverName` is the name of the destination server **as registered in your Velocity configuration** (`velocity.toml`), which is what the proxy resolves the target against. Tab completion offers the names and players it currently knows about.
+
+Set `features.velocityIntegration.serverName` on each backend to that same name. It does not affect routing, but it fills `{server}` in cross-server chat and is how a server recognises which players are its own — if it disagrees with the Velocity name, local players are treated as remote in tab completion.
Delivery can fail in two ways, and the sender is told which:
| Reason | Meaning |
|--------|---------|
-| `SERVER_NOT_FOUND` | No server behind the proxy reports that `serverName` |
-| `TARGET_OFFLINE` | The server was found, but that player is not online on it |
+| `SERVER_NOT_FOUND` | No server registered on the proxy has that name |
+| `TARGET_OFFLINE` | The server exists, but that player is not on it — including when they are online on a different server |
## Notification Settings
diff --git a/website/src/docs/features/velocity.md b/website/src/docs/features/velocity.md
index 29b59f2..7842a24 100644
--- a/website/src/docs/features/velocity.md
+++ b/website/src/docs/features/velocity.md
@@ -83,7 +83,7 @@ The handshake timeout is 5 seconds. If the handshake times out, the state become
| `enabled` | `false` | Enable Velocity integration |
| `crossServerGlobalChat` | `false` | Enable cross-server global chat |
| `crossServerDirectMessage` | `false` | Enable cross-server direct messages |
-| `serverName` | `"Unknown"` | Server name displayed in cross-server chat, and the name `/tell <player>@<server>` matches against |
+| `serverName` | `"Unknown"` | This server's own name. Fills `{server}` in cross-server chat and is how the server recognises its own players. Set it to the name registered in `velocity.toml` |
| `messageDeduplicationCacheSize` | `100` | Size of the message deduplication cache |
## Message Format