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.

8

Quick challenge

How far can you run before the mobs catch you?

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.

ADS