promotional bannermobile promotional banner

RemoteNotify

Notify yourself about your game instance from a distance (AFK).

RemoteNotify

RemoteNotify puts a small HTTP server on 127.0.0.1 and hands out your Minecraft client's live state as JSON. Anything that can make a web request can now see what your game sees: a Python script, a phone browser, a Discord bot, a Stream Deck button, a second monitor showing a dashboard while you AFK.

It is client-side only. You can use it on any server, in singleplayer, on an SMP, without the server owner installing anything.

Why you might want this

The honest use case is watching a session you are not looking at. You set up an AFK farm, you go make dinner, and you want your phone to tell you when your health drops or a creeper wandered into the pen. Or you are debugging why your frames tank in one particular base, and you want the numbers written down instead of squinting at F3.

After that it gets more interesting. People have built overlay dashboards, death loggers, playtime trackers, chat relays into Discord, and stream widgets that show health and inventory to viewers. The mod does not do any of that itself. It hands you the data and gets out of the way.

What it gives you

GET /state returns one JSON object covering:

Your player. Health, absorption, armor, air, food, saturation, XP level and progress, position, chunk, yaw and pitch, facing direction, biome, light level, game mode, vehicle, and every movement and status flag the client tracks. Plus your full inventory with item counts and durability, both hands, all four armor slots, active potion effects, the block you are standing on, and whatever you are currently looking at.

Performance. FPS, memory used and max, and real tick timings sampled over the last thirty seconds: average, median, p95, worst, and a count of stutters. It also exposes the game's own debug pie chart as a nested tree, which is the profiler behind F3 plus Alt. RemoteNotify keeps that profiler running without putting the overlay on your screen, so you can see exactly which subsystem is eating your frame time while you play normally.

The server. Measured TPS, your ping, connection uptime, reconnect count, IP, name, and MOTD.

Your session. Playtime, deaths, deepest and highest Y you reached, where the session started, how far you have wandered from it, and where you last died.

Rolling metrics. Five-minute windows for damage taken, healing, distance moved, sprint distance, fall distance, and XP gained. Each one reports the window total, a per-minute rate, an all-session total, and a peak.

The world. Time, day number, rain, thunder, difficulty, dimension.

Nearby. Within 24 blocks: how many hostiles, how many players, the names of those players, and a count per entity type.

Everything else. The tab list with pings, and whatever container you have open including its contents.

Live events

GET /events is a Server-Sent Events stream that pushes as things happen, so you do not have to poll:

chat · actionbar · damage · death · low_health · low_hunger · low_durability · level_up · dimension · biome · hostile_nearby · connect · disconnect

curl -N http://127.0.0.1:47823/events

That is the whole integration. Ten lines of Python on the other end of that stream gets you a phone notification when your health drops below six hearts.

Sending commands back

POST /command runs a chat message or a command as you. It is disabled unless you launch the game with -Dremotenotify.token=yoursecret, and then every request has to carry that token in an X-Token header.

curl -X POST -H "X-Token: yoursecret" --data "/home" \
     http://127.0.0.1:47823/command

Read this part before you turn it on. Anything that can reach the port and knows the token can type as you, in your game, on your server. The server binds to loopback only, so nothing outside your own machine can reach it, and the endpoint is POST-only behind a token header specifically so a random web page you have open cannot quietly poke it. Still, pick a real token, and leave it off if you do not need it.

Setup

Drop the jar in mods/ next to Fabric API, launch the game, and run /remotenotify on. Then open http://127.0.0.1:47823/state.

The mod ships off. It runs nothing at all until you ask it to, so installing it and forgetting about it costs you nothing. To have it start with the game, add -Dremotenotify.enabled=true to your JVM arguments.

Command Effect
/remotenotify Show status
/remotenotify on Start the bridge
/remotenotify off Stop it
/remotenotify pie Toggle profiler collection

Options are JVM system properties: remotenotify.enabled, remotenotify.port (default 47823), remotenotify.pie, remotenotify.token.

For mod developers

RemoteNotify works as a library. Two static calls:

// Add your own section to /state. Runs on the render thread.
RemoteNotify.addSection("mymod", mc -> myJsonObject);

// Push an event to every listener. Arguments alternate key and value.
RemoteNotify.publish("my_event", "thing", "value");

RemoteNotify.enabled() tells you whether anyone is listening, so you can skip building state nobody will read.

What it will not do

It reports the position of other entities to nobody, ever. Nearby mobs and players are counted, and players are named, but no coordinates for anything except you leave the mod. That is a deliberate limit, not a missing feature. A JSON feed of every entity position within 24 blocks is a radar, and this is not a cheat mod. Please do not open a request for it.

It also sends nothing anywhere. The server is bound to loopback, there is no telemetry, no outbound connection, and no account of any kind. The whole thing is one small HTTP server built on the JDK's own classes, with no bundled libraries.

Performance cost

The mod samples once per client tick and does very little on that tick. JSON is only built when something actually asks for /state. The profiler is the only real cost, and it measures as a fraction of a percent across a normal session. If you want it gone, set remotenotify.pie=false.

Requirements

Minecraft 26.1.x · Fabric Loader 0.19.0 or newer · Fabric API · client-side only

License

All Rights Reserved. You are free to download and play with it. Ask before redistributing it or putting it in a modpack, and the answer is usually yes.

The RemoteNotify Team

profile avatar
  • 1
    Followers
  • 3
    Projects
  • 959
    Downloads

Vibin

More from merenotnoone

  • NoForcedPacks project image

    NoForcedPacks

    Disable server-forced resource packs, or toggle individual textures on/off. Turns any forced texture pack into per-texture controls in the vanilla menu client-side, saved across restarts, tested on Hypixel.

    • 585
    • July 17, 2026
  • OvercastUI project image

    OvercastUI

    A full web browser overlay inside Minecraft, Steam-overlay style. Browse, read the wiki, or watch video in picture-in-picture without alt-tabbing or pausing draggable tabbed windows, split view, custom themes. Client-side.

    • 372
    • July 14, 2026
  • NoForcedPacks project image

    NoForcedPacks

    Disable server-forced resource packs, or toggle individual textures on/off. Turns any forced texture pack into per-texture controls in the vanilla menu client-side, saved across restarts, tested on Hypixel.

    • 585
    • July 17, 2026
  • OvercastUI project image

    OvercastUI

    A full web browser overlay inside Minecraft, Steam-overlay style. Browse, read the wiki, or watch video in picture-in-picture without alt-tabbing or pausing draggable tabbed windows, split view, custom themes. Client-side.

    • 372
    • July 14, 2026