Spawn realistic fake players on your Paper server — with tab list presence, real skins, LuckPerms integration, proxy network support, and full hot-reload. No compromises.
From tab list presence to proxy network sync — FPP is the only fake player plugin you'll ever need.
Bots appear as real players in the tab list, server list count, and in-world — full NMS ServerPlayer entities with no ghost entries.
Auto-fetches Mojang skins by name, custom PNG uploads, or a random skin pool. Three modes: auto, custom, off.
Per-bot LP group assignment. Prefix/suffix in tab list and chat. ~fpp scoreboard team keeps bots below real players.
Full Velocity & BungeeCord support. Cross-server chat, alerts, tab-list sync, and remote bot tracking via a shared MySQL database.
Push and pull config files across your entire proxy network. Modes: DISABLED, MANUAL, AUTO_PULL, AUTO_PUSH.
Bots send messages from a configurable pool on a timed interval. Supports LP prefix/suffix and full MiniMessage/gradient formatting.
Automatically rotate bots in and out with fresh names, skins, and personalities to keep your server looking dynamic and alive.
Bots survive server restarts and return to their exact last location. SQLite bundled; MySQL available for multi-server networks.
Per-world counts, per-player stats, network-aware totals, config state, proxy metadata — all exposed through PlaceholderAPI.
Freeze any bot or all bots in place instantly with /fpp freeze. Frozen bots are immovable and visually flagged in /fpp list.
Apply every config change — names, messages, skins, LP groups, tab-list format — with a single /fpp reload. Zero restarts.
4-layer command blocking, lobby plugin teleport guard (5-tick spawn grace), and knockback support on all 1.21.x paper versions.
Follow these steps to get fake players on your server.
Download PacketEvents 2.x and drop it in your plugins/ folder. Required dependency.
Start your server. FPP auto-generates config.yml, bot-names.yml, bot-messages.yml, and more.
Give yourself fpp.* for full access, or configure granular permissions with LuckPerms for your staff and players.
Run /fpp spawn 5 in-game. Five bots will join with random names, real skins, and full tab-list entries.
Edit config.yml and run /fpp reload to apply changes live. Check the Wiki for all options.
All commands under /fpp · aliases: /fakeplayer, /fp.
| Command | Description |
|---|---|
/fpp spawn [amount] [--name <name>] | Spawn fake players at your location |
/fpp despawn <name|all|random [n]> | Remove a bot, all bots, or a random selection |
/fpp list | List active bots with uptime, location, and server tag |
/fpp freeze <name|all> [on|off] | Freeze or unfreeze bots in place |
/fpp rank <bot> <group> | Assign a bot to a LuckPerms group at runtime |
/fpp chat [on|off] | Toggle the fake chat system |
/fpp stats | Live statistics panel — bots, TPS, DB totals |
/fpp reload | Hot-reload all config, skins, names, and messages |
/fpp sync push|pull [file] | Sync config files across the proxy network |
/fpp alert <message> | Broadcast an admin message network-wide |
Supports all Paper builds 1.21.0 – 1.21.11. Leaf fork also supported.
JDK 21 or later. Oracle or Eclipse Temurin recommended.
Used for tab-list packet integration. Place alongside FPP in plugins/.
Enables per-bot groups, prefix/suffix in chat and tab list, and /fpp rank.
Registers 29+ placeholders for scoreboards, tab headers, and other plugins.
Required only for NETWORK / proxy mode. SQLite is bundled and used by default.
Available on all major Minecraft plugin platforms. Always free.