![[IMG]](//proxy.spigotmc.org/dfc2c7a7545df63ff43226c2aa043909908bd41b/68747470733a2f2f63646e2e6d6f6472696e74682e636f6d2f646174612f6361636865645f696d616765732f323564366566343834643234633165616538313134393636626266356234396234666635316634342e706e67)
zHomes is a modern, fast and fully-configurable homes plugin for Spigot/Paper/Purpur/PufferFish servers. It focuses on simplicity, speed and customization so server owners can give players a familiar — but powerful — teleportation experience.
Some features:
- Create, delete and list homes
- Admin tools for managing and converting homes
- PlaceholderAPI support for message placeholders
- Vault support for economy/command-costs
- GriefPrevention and WorldGuard integration for region checks
- Teleport warmup and safe-teleport checks
- Configurable commands, messages and permissions
- Uses SQL (H2/SQLite/MariaDB/MySQL) for storage (no local data/ directory)
Maintained by
yL3oft. This project is free and open-source.
Requirements
- Java 17+ (check release notes for exact JDK requirement)
- Paper, Spigot or a compatible fork
Installation
- 1. Download the latest JAR from Releases / Modrinth / Hangar / Spigot.
- 2. Place the JAR in your server's plugins/ folder.
- 3. Start the server once to generate config files (src/main/resources/config.yml defaults).
- 4. You're done!
Quick test
- As a player: /sethome <home1> then /home <home1>
- As an admin: /zhomes reload
Admin
Player / Home commands
- /sethome <name> — Create a home (default name if omitted).
- /delhome <name> — Delete a home. Admins can use /delhome <player:home>.
- /home <name> — Teleport to a home. Admins can use /home <player:home>.
- /homes <player> — List homes. Admins can use /homes <player>.
- /home rename <oldName> <newName> — Rename a home
Notes
- Command costs and vault integration require Vault to be installed.
- Some commands have admin-only variants (see Permissions below).
Full command list and usage:
https://docs.yleoft.me/zhomes/commands-and-permissions
Permissions
Below are the permission nodes and their default intent as defined in the plugin configuration (zHomes/config.yml). Use your permissions plugin to grant or deny these.
Command permissions
- zhomes.command.main — Main command (True by default)
- zhomes.command.main.help — Help subcommand (Only OP by default)
- zhomes.command.main.version — Version (True by default)
- zhomes.command.main.version.update — Version update (Only OP by default)
- zhomes.command.main.reload — Reload (Only OP by default)
- zhomes.command.main.converter — Converter (Only OP by default)
- zhomes.command.sethome — /sethome (True by default)
- zhomes.command.delhome — /delhome (True by default)
- zhomes.command.delhome.others — /delhome <player:home> (Only OP by default)
- zhomes.command.homes — /homes (True by default)
- zhomes.command.homes.others — /homes <player> (Only OP by default)
- zhomes.command.home — /home (True by default)
- zhomes.command.home.others — /home <player:home> (Only OP by default)
- zhomes.command.home.rename — /home rename (True by default)
Bypass / misc permissions (as defined in config.yml)
- zhomes.bypass.limit — Bypass home limits (Only OP by default)
- zhomes.bypass.dimensionalteleportation — Bypass dimension restriction (Only OP by default)
- zhomes.bypass.safeteleport — Bypass safe-teleport checking (False by default)
- zhomes.bypass.warmup — Bypass teleport warmup (Only OP by default)
- %command_permission%.bypass.command-cost — Bypass command-cost (Only OP by default). Command-specific bypass permission is generated from the command permission string (see config.yml)
If you want to see the authoritative defaults and change them, open
src/main/resources/config.yml in the repo or check the live docs:
https://docs.yleoft.me/zhomes/commands-and-permissions
Migration
zHomes contains an inline converter to import homes from well-known plugins. The converter runs in-chat (not a GUI). See full converter details here:
https://docs.yleoft.me/zhomes/commands-and-permissions/zhomes-converter-less-than-type-greater-than
Integrations
- PlaceholderAPI — message placeholders supported.
- Vault — for economy-based command-costs.
- GriefPrevention — region checks integration.
- WorldGuard — region and flag checks.
- bStats — anonymous metrics (configurable).
Enable or disable integrations from config and ensure the third-party plugins are installed on the server when you expect integration behavior.
Support & Community
Support the project by starring the repo and joining the Discord!
![[IMG]](//proxy.spigotmc.org/daa04eda22245416eb43916880cfc5f2b248373d/68747470733a2f2f6273746174732e6f72672f7369676e6174757265732f62756b6b69742f7a486f6d65732e737667)