Notify Me Mod
NotifyMe is a lightweight Fabric server-side mod for Minecraft 1.21.1 that watches common server events and sends notifications outside the game.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Notify Me Mod
NotifyMe
NotifyMe is a lightweight Fabric server-side mod for Minecraft 1.21.1 that watches common server events and sends notifications outside the game.
It is built for server owners who want to know when important things happen without keeping the Minecraft client open. NotifyMe can alert operators in-game, send email through Postfix/sendmail, post Telegram bot messages, call a generic JSON webhook, or publish to an ntfy topic.
Features
- Server started and server stopping notifications - Player join and leave notifications - Player death notifications with death message, dimension, position, health, and damage metadata - Optional chat, command broadcast, and game message notifications - In-game notifications for operators or named recipients - Email delivery through a Postfix-compatible `sendmail` binary - Telegram bot delivery - Generic webhook delivery with optional secret header - ntfy topic delivery with optional bearer token, priority, and tags - Player filters for watched and ignored players - Message-prefix filters for sensitive chat or command content - Runtime admin commands for reloads, test notifications, and status checks
Requirements
- Minecraft 1.21.1 - Fabric Loader 0.18.4 or newer - Fabric API - Java 21 or newer
NotifyMe is server-side. Players do not need to install it on their clients.
Installation
1. Install Fabric Loader and Fabric API on your Minecraft 1.21.1 server. 2. Put the NotifyMe jar into the server `mods` folder. 3. Start the server once. 4. Edit the generated config file at `config/notifymemod.json`. 5. Run `/notifyme reload` or restart the server. 6. Run `/notifyme test` to verify your configured notification channels.
Notification Channels
In-Game
In-game notifications are enabled by default. By default, NotifyMe sends messages only to server operators.
Set `inGame.opsOnly` to `false` to send to all online players, or set `inGame.recipients` to a list of exact player names.
Postfix / sendmail
NotifyMe can pass email to a local `sendmail` command, which works well with Postfix.
Enable `postfix.enabled`, configure `postfix.from`, and add one or more addresses to `postfix.to`.
Example:
```json "postfix": { "enabled": true, "sendmailPath": "/usr/sbin/sendmail", "from": "[email protected]", "to": ["[email protected]"], "timeoutSeconds": 10 } ```
Postfix must already be configured on the server. NotifyMe only hands the message to `sendmail`; it does not configure SMTP, DNS, DKIM, SPF, or relay settings.
Telegram
Create a bot with BotFather, add it to the target chat, and configure the bot token and chat id.
Example:
```json "telegram": { "enabled": true, "botToken": "123456:bot-token", "chatId": "123456789", "messageThreadId": 0, "disableNotification": false, "timeoutSeconds": 10 } ```
For forum topics or supergroup threads, set `messageThreadId`.
Webhook
The webhook backend sends a JSON payload with the event name, title, message, compact message, player name, timestamp, and metadata.
Example:
```json "webhook": { "enabled": true, "url": "https://example.com/minecraft-webhook", "secretHeaderName": "X-NotifyMe-Secret", "secretHeaderValue": "change-me", "timeoutSeconds": 10 } ```
ntfy
NotifyMe can publish directly to an ntfy topic URL.
Example:
```json "ntfy": { "enabled": true, "topicUrl": "https://ntfy.sh/my-minecraft-topic", "token": "", "priority": "default", "tags": ["minecraft"], "timeoutSeconds": 10 } ```
For protected ntfy topics, set `token`.
Configuration
NotifyMe creates `config/notifymemod.json` on first run.
Default event settings:
```json "events": { "serverStarted": true, "serverStopping": true, "playerJoined": true, "playerLeft": true, "playerDied": true, "chatMessage": false, "commandMessage": false, "gameMessage": false, "test": true } ```
Chat, command, and game-message notifications are disabled by default because they can be noisy and may contain private or sensitive information. Enable them only when that fits your server policy.
Filtering options:
```json "filters": { "watchedPlayers": [], "ignoredPlayers": [], "ignoreMessagesStartingWith": ["/login", "/register"] } ```
- `watchedPlayers`: if non-empty, only events for these players are sent. - `ignoredPlayers`: events for these players are skipped. - `ignoreMessagesStartingWith`: skips chat or command-message notifications with matching prefixes.
General options:
```json "serverName": "Minecraft Server", "timezone": "system", "subjectPrefix": "[Minecraft]" ```
- `serverName` appears in notification bodies. - `timezone` accepts `system` or a Java time zone id such as `Europe/Berlin` or `America/New_York`. - `subjectPrefix` is added to notification titles.
Commands
NotifyMe commands require permission level 2.
```text /notifyme reload /notifyme test /notifyme status ```
- `/notifyme reload` reloads `config/notifymemod.json`. - `/notifyme test` queues a test notification through enabled channels. - `/notifyme status` shows the config path, enabled event types, and backend readiness.
Privacy Notes
External notification services can receive player names, chat content if enabled, death messages, coordinates, server metadata, and timestamps.
Review your configuration before enabling chat, command-message, game-message, webhook, Telegram, ntfy, or email delivery on public servers.
Compatibility
NotifyMe uses Fabric API event hooks and does not require mixins. It should be compatible with most server-side Fabric mods unless another mod changes the same events in unusual ways.
License
NotifyMe is licensed under CC0-1.0.