
Treevite
A server-side Minecraft Fabric mod that implements a tree-based whitelist system for managing player access through an invitation chain.
About this Mod
Treevite
A server-side Minecraft Fabric mod that implements a tree-based whitelist system for managing player access through an invitation chain.
Overview
Treevite allows you to control who can join your server through a hierarchical invitation system. Starting with just the console as the root administrator, whitelisted players can invite others, creating a "tree" of authorized players. This provides a flexible, organic way to manage server access without manually adding each player to a whitelist.
Key Features:
- Tree-based whitelist system starting from console as root
- Player-to-player invitation system with
/invitecommand - Invite revocation with automatic privilege adjustment
- Daily invitation rate limits per player (configurable)
- Support for both Java and Bedrock Edition players
- Invite history tracking
- Permission-based commands (via Fabric Permissions API)
Requirements
- Minecraft Server 26.1.2 (or compatible)
- Fabric Loader 0.19.2 or later
- Java 25 or later
- Fabric API
Installation
- Download the
tree-invite.jarmod file - Place it in your server's
modsfolder - Start your server
- (Optional) Install Fabric Permissions API for permission-based command access
Commands
Player Commands
/invite <player> [java|bedrock]
- Invite a player to join the server
- If platform not specified, Java Edition is assumed
- Usernames are looked up via Mojang API (Java) or converted to XUID format (Bedrock)
- Limited by daily rate limit (default: 4 invites per day, resets at 02:00 AM server time)
/revokeinvite <player> [java|bedrock]
- Revoke an invitation you sent to a player
- Only the original inviter can revoke
- Platform optional; if not specified, both platforms are checked
- Players lose access if they have no alternate path back to console
- Invite data is preserved for automatic reinstatement if re-invited
/inviteinfo [player]
- View invitation information
- Lists who invited the player and who they've invited
- Defaults to the command executor if no player specified
Admin Commands
/setmaxinvites <player> <count>
- Set a custom daily invitation limit for a player
- Overrides the global default rate limit
- Set to 0 to disable invites for a player
/setglobalmaxinvites <count>
- Set the default daily invitation limit for all players
- Only accessible to console or high-permission admins
How It Works
- Initialization: Only the console is whitelisted initially
- Invitations: Any whitelisted player can invite others using
/invite - Access Control: A player can join if they have at least one valid path back to console through the invitation chain
- Revocation: When an invite is revoked, affected players lose access unless they have another path to console
- Reinstatement: If a revoked player is invited again (directly or indirectly), they automatically regain access
Example Scenario
Console (root)
├── Alice (invited by Console)
│ ├── Bob (invited by Alice)
│ └── Carol (invited by Alice)
└── Dave (invited by Console)
└── Eve (invited by Dave)
- All players can join
- If Console revokes Dave's invite, Eve loses access (no alternate path)
- If Console revokes Alice's invite, Bob and Carol lose access
- If Console invites Dave back, Eve automatically regains access
Configuration
Configuration is stored in config/tree-invite-messages.json and persists across restarts. The mod manages whitelist data automatically—you don't need to modify the vanilla whitelist.
Permissions
When Fabric Permissions API is available, the following permissions are recognized:
tree-invite.invite- Allow/invitecommandtree-invite.revoke- Allow/revokeinvitecommandtree-invite.info- Allow/inviteinfocommandtree-invite.admin.setmaxinvites- Allow/setmaxinvitescommandtree-invite.admin.setglobalmaxinvites- Allow/setglobalmaxinvitescommand
Database
Treevite uses SQLite for persistent storage by default, but can also use PostgreSQL. All invite relationships and rate limit data are stored automatically.
Support
- Issues: Report bugs on the GitHub repository
- Questions: Check the documentation or ask in the repository discussions
- Author: AwesomestOwl
License
GNU General Public License v3.0 - See LICENSE file for details
Available Versions
How to Install Treevite on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set fabric Loader
In the panel under "Egg", select the fabric loader and matching Minecraft version (26.1.2).
Install Mod
Open the mod browser in the dashboard and search for "Treevite". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
26.1.2
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
Treevite server crashes on startup – what to do?
Most common cause: wrong fabric version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (26.1.2). You can switch loaders with one click in the panel.
Is Treevite compatible with fabric?
Treevite officially supports fabric for Minecraft 26.1.2. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Treevite – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Treevite consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Rent Modded Server
Install Treevite with just one click on your server.