Show eligible online players on Xaero's Minimap and World Map—without requiring a server-side Xaero mod.
English · 简体中文
XaeroTracker is a server-side Paper plugin that reproduces Xaero's everyoneTracksEveryone behaviour.
It sends the live positions of eligible online players to compatible Xaero's Minimap and Xaero's World Map clients,
allowing them to render player markers on the minimap and full-screen map.
- Supports both Xaero's Minimap and Xaero's World Map clients.
- Requires no Xaero mod or other plugin on the server.
- Lets players opt out of normal position sharing.
- Excludes invisible, spectator and vanished players by default.
- Provides administrative and permission-based visibility overrides.
- Can limit tracking to players in the same Bukkit world.
- Uses a configurable position-sync interval.
- Persists player tracking preferences across restarts.
- Generates a server level ID for correct map separation, including proxy networks.
- Includes English and Simplified Chinese command feedback.
| Component | Requirement |
|---|---|
| Server | Paper 26.2 |
| Java | Java 25 or newer |
| Client | Xaero's Minimap or Xaero's World Map for Minecraft 26.2 |
| Server-side Xaero mod | Not required |
Version 1.4.0 targets Paper 26.2. Spigot and Folia are not part of this release's compatibility target.
- Download the release JAR, or build it from source.
- Place
XaeroTracker-1.4.0-all.jarin the server'spluginsdirectory. - Start or fully restart the server.
- Confirm that
XaeroTrackeris enabled in the console. - Have players join with a compatible Xaero client mod.
The plugin creates plugins/XaeroTracker/config.yml on first startup.
Its preference files are created when a tracking preference is changed for the first time.
By default, an online player is shared unless they:
- opted out with
/xt toggleTracked; - are invisible;
- are in spectator mode;
- have
vanishedmetadata set by another plugin.
A viewer can bypass those restrictions with /xt toggleTrackEveryone, or for one target with xaerotracker.tracker.<playerName>. The only-sync-same-world boundary still applies to all visibility overrides.
Warning
Visibility overrides can reveal the coordinates of players who are invisible, vanished, spectating or opted out. Grant them only to trusted users.
should-send-level-id: true
sync-cooldown: 250
only-sync-same-world: false| Option | Default | Description |
|---|---|---|
should-send-level-id |
true |
Sends the server level ID required by compatible Xaero clients. Keep this enabled unless another server implementation sends it. |
level-id |
Generated | Randomly created and saved on first startup. Give every backend sharing one public address a different value. |
sync-cooldown |
250 |
Minimum delay, in milliseconds, between position updates for the same player; rounded up to whole server ticks. |
only-sync-same-world |
false |
Shares positions only between players in the same Bukkit world when enabled. |
Changes require a full server restart; XaeroTracker does not provide a reload command.
Xaero uses level-id to distinguish maps reached through the same address. On Velocity or another proxy, keep a unique value for every backend server to prevent players from seeing the wrong map data.
If Leaves' built-in xaero-map-protocol is enabled, set should-send-level-id to false so both implementations do not send a level ID. See the Leaves configuration reference.
/xaerotracker and /xt are equivalent.
| Command | Description | Permission | Default |
|---|---|---|---|
/xt toggleTracked |
Toggles whether the sender can normally be tracked. Player-only. | xaerotracker.toggleTracked |
Everyone |
/xt toggleTracked <player> |
Toggles whether another player can normally be tracked. | xaerotracker.toggleTracked.others |
Operators |
/xt toggleTrackEveryone |
Toggles whether the sender bypasses normal visibility restrictions. Player-only. | xaerotracker.toggleTrackEveryone |
Operators |
/xt toggleTrackEveryone <player> |
Toggles the visibility bypass for another player. | xaerotracker.toggleTrackEveryone.others |
Operators |
Player preferences are stored by name. When targeting an offline player, use their exact Minecraft name and capitalization.
| Permission | Description | Default |
|---|---|---|
xaerotracker |
Access to /xaerotracker and /xt. |
Everyone |
xaerotracker.* |
All declared XaeroTracker command permissions. | Operators |
xaerotracker.tracker.<playerName> |
Lets the holder track that target despite normal visibility rules, within the configured world scope. | False |
Confirm that the server is Paper 26.2 and that java -version reports Java 25 or newer. Install the *-all.jar release artifact.
- Confirm that the client mod is built for Minecraft 26.2.
- Xaero's Minimap Fair-play edition does not display entities; use the normal edition for player markers.
- Make sure entity radar is enabled in the client.
- Check the server's rules before enabling player radar.
Enable icons/heads in Minimap Settings → Entity Radar Categories. The exact menu wording can vary between Xaero versions.
Check player opt-outs, invisibility, spectator mode, vanish plugins, permission overrides and only-sync-same-world.
Assign a different level-id to every backend that players reach through the same public server address.
Fully restart the server. There is no /xt reload command.
Or reload by other plugins which allow enabling/disabling other plugins.
Install JDK 25, clone the repository and use the included Gradle wrapper:
./gradlew clean buildOn Windows:
.\gradlew.bat clean buildThe distributable plugin is written to:
build/libs/XaeroTracker-<version>-all.jar
To launch a local Paper 26.2 development server:
./gradlew runServerBug reports and pull requests are welcome in the issue tracker. For compatibility reports, include the Paper build, Java version, Xaero mod versions, client loader and the steps needed to reproduce the result.
XaeroTracker is available under the MIT License.
Note
XaeroTracker is an independent community project. It is not affiliated with, endorsed by or officially connected to xaero96 or the Xaero map mods.
