
Group Chat
A simple group chat mod/plugin for Minecraft servers, with offline messaging and a GUI.
Список изменений
Second public release. Everything since the pre-repo 1.0 is now in git — this is a big one.
✨ Highlights
Group History (last 5) — never lose context. Every group message is now remembered per-player per-group (history.json) and you can pull it anytime. Try /group history, /gmsg history or /group mySquad history 3. Works with gm/gmoffline aliases too.
Toggle Chat Mode — lock your chat to a group. /group toggle mySquad (or /gmsg toggle) routes every message you type straight to that group until you toggle off, type cancel, or disconnect. No more prefixing every line.
Smarter multi-group handling — in 2+ groups? Running /group history or /group toggle without a name now asks you interactively in chat: “type the name of one of the groups to select it” — just type the name or cancel. Single-group players can just omit the name entirely.
Fabric persistence fixed — Fabric saves now correctly go to FabricLoader.getGameDir()/groupchat (with migration from old locations). No more groups vanishing after a restart on certain launchers.
Hardened & polished — atomic saves, corrupt JSON backup, 500-char / 200-message caps, § sanitization, 30-day prunes, /unread page/clear pagination, permission nodes, audit logging, and much more.
Added
- Per-group history (FIFO 5, timestamps oldest→newest) —
/group history,/group <group> history [1-5],/gmsg history,/gm history,/gmoffline history+ group-first variants. Single-group shorthand when you’re in exactly 1 group. - Toggle chat —
/group toggle [group],/gmsg toggle [group](andgm/gmofflinevariants),ToggleSessionin-memory, cleared on quit/disconnect/cancel. - Interactive selection for both toggle & history when in multiple groups (pending chat-selection).
- Startup logging — both Paper and Fabric now log
GroupChat data folder: <abs>andLoaded <n> groups from …/groups.json.
Fixed
- Fabric: persistence after restart (canonical
getGameDir()+ migration + absolute path logging). - Paper: now mirrors Fabric’s loaded-count logging via plugin logger.
Security
- Atomic
tmp+ATOMIC_MOVEwrites, corrupt.corrupt.<ts>backups, entry validation (^[A-Za-z0-9_]{2,24}$, owner-in-members). - Mailbox DoS caps (500 chars / 200 msgs, reject newest), § stripping, expired/oversized prune on load.
/unread [page|clear]pagination (Paper + Fabric).- Access control:
/group membersrequires membership, invite dedupe,groupchat.use(default true) gates on all Paper commands,groupchat.admin(op) reserved. PaperPlatformBridgeConcurrentHashMapname↔UUID cache.- Pin
paper-api 26.3.build.8-alpha.
Changed
- Targets Minecraft 26.3, JDK 26, Loom 1.18.2, Loader 0.19.5, Fabric API 0.160.6+26.3.
plugin.ymlusages updated for new syntax.
Full technical changelog + commit hashes: https://github.com/ThermedWolf/group-chat/releases/tag/v2.0.0
