Sueta

Group Chat

2.1.0

A simple group chat mod/plugin for Minecraft servers, with the most easy-to-use commands.

·Plugin
  1. 2.1.0latestGroup Chat 2.1.03 days ago

    GroupChat 2.1.0 — Announcements, join messages & message styling

    New Features

    📢 Server-wide announcements
    - New admin command /announce <message> — send a message to everyone on the server. Players who are online see it right away in chat; players who are offline get it delivered to their mailbox and see it via /unread the next time they join. - Want it to stand out? /announce highlight <message> also pops the announcement up on screen — as a big title on Paper, or above the hotbar on Fabric — with a sound, on top of the chat message. - Admin-only (server operators on Paper, permission level 2 on Fabric) and works from the server console too — handy for scheduled or scripted announcements. - The command tells you exactly what happened: how many players got it live, how many offline players have it waiting in their mailbox.
    🎉 Automatic join messages
    - New admin command /joinmsg lets you configure messages that are shown automatically to players when they join your server. - /joinmsg add <message> adds one (up to 10), /joinmsg list shows them numbered, /joinmsg remove <number> and /joinmsg clear remove them. - Built-in anti-spam: /joinmsg cooldown <minutes> shows the messages at most once per time window per player. Example: with a 30-minute cooldown, someone who joins three times within half an hour only sees the message the first time. The timer restarts when the message is actually shown again, so they'll see it on the first join after the window has passed. - /joinmsg cooldown 0 shows the messages on every join (the default). - /joinmsg preview renders the messages exactly as a joining player would see them.
    🎨 Message styling
    Announcements and join messages support styling inspired by Markdown and MiniMessage — rendered identically on Paper and Fabric: - **bold**, *italic*, __underline__, ~~strikethrough~~, ||spoiler|| (mystery text), and ` code ` (grey) - All 16 Minecraft colours as tags: ` <red>like this</red> — also <gold>, <aqua>, <dark_gray>, <yellow>`, and the rest - Style tags: <bold>, <italic>, <underlined>, <strikethrough>, <obfuscated>, <reset> — short forms like <b> work too - Nesting works properly: ` <gold>Event <bold>starts now</bold> — be there!</gold> ` - Classic &-codes (&a, &l, …) keep working as before
    🖱️ Server Tools in the GUI
    The /groupgui menu now has a Server Tools entry for admins: - Announce / Announce (Highlighted) — pick one, type your message in chat, done: no command syntax needed - Join Messages — see all configured messages at a glance, click one to remove it, add new ones without touching a command, and set the cooldown with a simple click-dial (left-click = more, right-click = less)
    🔎 Find every command with /gc
    Every GroupChat command is also a subcommand of /gc — with /groupchat and /gchat as extra aliases. Type /gc and the autocomplete lists them all: no more remembering exact command names. For example /gc gmsg mygroup Hello! or /gc joinmsg cooldown 30.

    Improvements

    - In /unread, messages now show what kind they are — announcements are easy to tell apart from group chats and DMs.

    Notes

    - Announcements and join messages are gated by the groupchat.admin permission (server operators by default). - Players who join the server for the first time after an announcement was sent don't receive it — it was sent before they were part of the server.
    12 downloads
  2. 2.0.0Group Chat 2.0.0Sep 17, 2026
    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] (and gm/gmoffline variants), ToggleSession in-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> and Loaded <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_MOVE writes, 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 members requires membership, invite dedupe, groupchat.use (default true) gates on all Paper commands, groupchat.admin (op) reserved. - PaperPlatformBridge ConcurrentHashMap name↔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.yml usages updated for new syntax. Full technical changelog + commit hashes: https://github.com/ThermedWolf/group-chat/releases/tag/v2… ---
    40 downloads
  3. 1.0.0Group Chat 1.0.0Jul 14, 2026

    Changelog

    1.0.0 — Initial release

    First release of Group Chat for Paper and Fabric (Minecraft 26.1.2).
    Added
    - Groups: create, delete, invite, accept/decline invites, leave, and owner-only kick - Group messaging: /gmsg (alias /gm) sends to every member at once — live for online members, queued for offline ones - `/gmoffline`: guarantees delivery to every member's mailbox regardless of online status, in addition to the normal live delivery - Direct messages: /dm <player> <message>, queued automatically if the recipient is offline - Offline mailbox: /unread to read and clear queued messages; players see an unread count on join - Join/accept notifications: group members are notified live when someone accepts an invite and joins - Graphical menu: /groupgui — create a group (via an anvil-style name prompt), browse and manage your groups (message, invite, kick, leave), or pick a player to message, all without typing commands - Tab-completion: group names, player names, and pending invites autocomplete across every command - Full feature parity between the Paper and Fabric builds
    35 downloads

Similar projects

Plugin →