summaryrefslogtreecommitdiff
path: root/platform-paper/src/main/resources/config.yml
AgeCommit message (Collapse)Author
2026-08-05refactor: read config.yml into the config classes directlySho Sakuma
Every setting's default was written three times - in config.yml, in the ConfigManager getter call, and on the data class - and copying the file key by key is what made that necessary. They had already drifted: checkForUpdates defaulted to false in ConfigManager while both config.yml and the data class said true. Worse, features.channelChat.messageLogging was documented in config.yml with three settings and never parsed at all. ConfigManager did not build it, so ChannelMessageLoggingConfig() always won and an operator editing retentionDays or maxFileSizeMB changed nothing. Those settings now take effect - the documented behaviour, but a real change for anyone whose file disagrees with the defaults. KAML deserializes the file straight into the tree, the same way player settings and channel data are already read, so a default now lives only on the data class. Two consequences worth stating: - japaneseConversion.cache and .api are nested classes now, because the data has to match the file rather than the file being flattened by hand on the way in. The YAML is unchanged. - api.retryAttempts is gone from config.yml. It was parsed and stored, but never reached GoogleIMEClient or RomanjiConverter, so it documented a knob that did nothing. Unknown keys are ignored and a malformed file falls back to defaults with a log line, so neither an old config nor a typo stops the server booting. The tests parse real YAML instead of a mocked FileConfiguration, which lets them cover what the mock could not: a partial file, a retired key, a malformed document, and - the one that would have caught the drift above - that the bundled config.yml equals the declared defaults. Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-17feat: add cross-server direct messaging via VelocitySho Sakuma
Allow /tell and /reply to reach players on other Paper servers behind a Velocity proxy using the "<player>@<server>" target syntax. Engine (protocol bumped 1.0.0 -> 1.0.1, optional sub-channels): - Add DirectMessageRelay, DirectMessageError, PresenceSnapshot/PresenceEntry and PresenceRequest messages plus codec branches. Velocity: - CrossServerDirectMessageRelay routes a DM to the target server (or returns a delivery error to the source). - PresenceTracker broadcasts proxy-wide presence snapshots on join/quit/switch and on request. Paper: - RemotePlayerRegistry caches proxy presence for completion and remote target resolution. - CrossServerDirectMessageManager handles send/receive/error and dedup. - DirectMessageHandler reply state generalized to ReplyTarget (Local/Remote) so /reply works across servers. - TellCommand parses "name@server", completes local names and remote name@server targets, and uses exact local name matching. - New crossServerDirectMessage config flag and i18n keys (en/ja). Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-23docs: Update guideSho Sakuma
2026-02-06feat: Add cross-server chatSho Sakuma
2026-02-01feat: Support Velocity intergration in Paper moduleSho Sakuma
2026-01-31feat: Add channel loggingSho Sakuma
2026-01-26feat: Add channel-chat configurationSho Sakuma
2026-01-26feat: Add channel-chat handleSho Sakuma
2026-01-25feat: Add Channel Chat feature configSho Sakuma
2026-01-25fix: Fix configuration URLSho Sakuma
2026-01-23feat: Add i18n configurationSho Sakuma
2026-01-17feat: Add `checkForUpdates` config valueSho Sakuma
2026-01-11docs: Update docsSho Sakuma
2026-01-11fix: Change file formatSho Sakuma
2026-01-10fix: Fixed an issue where long messages were not converting correctlySho Sakuma
2026-01-10docs: Add LunaticChat docsSho Sakuma
2026-01-10feat: Add user-settingsSho Sakuma
2026-01-10chore: Change feature configSho Sakuma
2026-01-07feat: Add command systemSho Sakuma
2026-01-06chore: Add default configSho Sakuma