Compatibility
Minecraft: Java Edition
26.1.x
1.21.x
Platforms
Links
Tags
Creators
Details
Licensed FPP License
Published 3 months ago
FakePlayerPlugin
Advanced Fake Player Spoofer for Paper/Purpur/Folia 1.21+ Create realistic fake players โ full tab-list entries, physical in-world bodies, skins, combat, pathfinding, automation, and multi-server proxy support with proxy-merged shared database.
โจ Features
Core (Ships with fpp.jar)
- ๐ญ Realistic Fake Players โ Full tab-list integration, join/leave messages, server count spoofing
- ๐ Physical Bodies โ NMS
ServerPlayerentities with hitboxes, collision, damage, death & respawn - ๐จ Skins โ Auto-resolve from Mojang, per-bot skin commands, custom pool support
- ๐งญ Pathfinding & Automation โ A* navigation, follow, roam, find-and-mine, sleep, auto-eat, auto-place-bed
- โ๏ธ Area Mining & Block Placing โ Cuboid region mining (
/fpp mine) and placement (/fpp place) with supply-container restocking - โ๏ธ PvE Combat โ Per-bot attack settings, hunt mode, melee cooldowns
- โ๏ธ Per-Bot Settings GUI โ Shift+right-click any bot for inventories, pathfinding toggles, PvE settings, and automation overrides
- ๐พ Persistence โ Bot positions, tasks, and inventories survive restarts (YAML or database)
- ๐๏ธ Database โ SQLite (local) or MySQL (network / multi-server with proxy-merged shared tables)
- ๐ Proxy Support โ Velocity & BungeeCord with companion plugins; proxy-merged database shares live bot registry and player counts across all backends
- ๐ Config Sync โ Push/pull config across backend servers via shared MySQL
- ๐ฆ Extension API โ Drop
.jarfiles intoplugins/FakePlayerPlugin/extensions/to load third-party addons - ๐ค Random Name Generator โ
bot-name.mode: randomgenerates realistic Minecraft-style usernames on the fly - ๐ซ Badword Filter โ Leet-speak normalization, auto-rename, remote word list
- ๐ PlaceholderAPI โ 80+ placeholders for scoreboards, tab headers, cross-server counts, and more
- ๐งฑ WorldEdit & WorldGuard โ
--weselselection flag for mine/place; region-aware PvP protection - ๐ถ Simulated Ping โ Tab-list latency display per bot
- ๐ Folia Support โ Full compatibility with Folia's region-threaded architecture
Extension (fpp-spoof.jar)
Some advanced subsystems require the fpp-spoof.jar extension:
- ๐ค AI conversations (
/msgreplies with personalities) - ๐ฌ Fake chat / broadcast messaging
- ๐ Swap system / peak-hours scheduler
- ๐ฅ Bot groups
- ๐ถ Ping command (
/fpp ping) - ๐ป Stored right-click commands (
/fpp cmd)
๐ฅ Installation
- Download
fpp.jarfrom Modrinth or build from source. - Drop the JAR into your server's
plugins/folder. - Restart the server. The plugin will create
plugins/FakePlayerPlugin/with configs and data folders. - Configure permissions and
plugins/FakePlayerPlugin/config.ymlas needed. - Run
/fpp reloadto apply most config changes without restarting.
Optional Dependencies
- PlaceholderAPI โ enables placeholder expansion (
%fpp_count%,%fpp_total%, etc.) - LuckPerms โ prefix/suffix support and bot group assignment
- WorldGuard โ bot PvP region protection
- WorldEdit โ
--weselflag for area mining/placing
๐ Quick Start
# Grant yourself admin access
/lp user <you> permission set fpp.admin true
# Spawn your first bot
/fpp spawn
# Open its settings
shift+right-click the bot entity
# Teleport it to you
/fpp tph <bot>
# Make it follow you
/fpp follow <bot> <player>
โจ๏ธ Commands
All commands are prefixed with /fpp (aliases: fakeplayer, fp).
| Command | Usage | Description | Permission |
|---|---|---|---|
| spawn | [amount] [world [x y z]] [--name <name>] [--random-name] [--notp] [<bottype>] |
Spawn fake player bots | fpp.spawn (admin) / fpp.spawn.user (user) |
| despawn | <name> | all | --count <n> | --random [--count <n>] |
Remove bot(s) | fpp.despawn |
| list | [page] |
List active bots | fpp.list |
| tph | [botname|all] |
Teleport bot(s) to you | fpp.tph |
| tp | [botname] |
Teleport to a bot | fpp.tp |
| xp | <bot> |
Collect XP from a bot | fpp.xp |
| move | <bot|all> --to <player> | --coords <x> <y> <z> | --roam [x,y,z] [radius | infinite | forever | unbounded] | --stop |
Navigate bot | fpp.move |
| mine | <bot> [--once|--stop|--pos1|--pos2|--start|--wesel] | --stop |
Mine blocks | fpp.mine |
| place | <bot> [--once|--stop|--wesel] | --stop |
Place blocks | fpp.place |
| use | <bot> [--once|--stop] | --stop |
Right-click automation | fpp.use.cmd |
| attack | <bot|all> [--mob [type]] [--range <n>] [--type <mob>] [--priority nearest|lowest-health] [--move] [--stop] | --hunt [<mob>] [--range <n>] [--priority <mode>] [--stop] |
PvE attack / hunt | fpp.attack |
| follow | <bot|all> <player|--start> | <bot|all> --stop |
Follow a player | fpp.follow |
| find | <bot> <block> [-r <n> | --radius <n>] [-c <n> | --count <n>] [--prefer-visible] | <bot> --stop | --stop |
Find and mine blocks | fpp.find |
| sleep | <bot|all> <x y z> <radius> | <bot|all> --stop |
Auto-sleep at night | fpp.sleep |
| stop | [<bot>|all] |
Cancel active tasks | fpp.stop |
| freeze | <bot|all> [on|off] |
Freeze/unfreeze | fpp.freeze |
| inventory | <bot> (alias: inv) |
Open bot inventory | fpp.inventory |
| storage | <bot> [storage_name|--list|--remove <name>|--clear] |
Manage supply containers | fpp.storage |
| extension | (bare) | --list |
Open marketplace link or list extensions | (implied admin) |
| save | โ | Force-save all bots | fpp.save |
| setowner | <bot> <player> |
Transfer ownership | fpp.setowner |
| rename | <oldname> <newname> |
Rename a bot | fpp.rename |
| info | [bot|spawner] <name> |
Bot info / session history | fpp.info |
| stats | โ | Plugin statistics | fpp.stats |
| badword | <check|update|status> |
Manage badword filter | fpp.badword |
| migrate | <backup|status|config|lang|names|db> |
Backup / migrate data | fpp.migrate |
| reload | [all|config|lang|extensions] |
Hot-reload config | fpp.reload |
| settings | [bot] |
Open settings GUI | fpp.settings |
| help | [page] |
Show help menu | fpp.help |
Quick Examples
/fpp spawn 5 # Spawn 5 bots
/fpp spawn --name Steve # Spawn a bot named "Steve"
/fpp spawn --notp # Spawn at last known location (if persisted)
/fpp spawn world_nether 100 64 -200 # Spawn in another world
/fpp spawn 3 afk # Spawn 3 bots with "afk" bot-type preset
/fpp despawn all # Remove all bots
/fpp despawn --random --count 3 # Remove 3 random bots
/fpp move bot1 --to Notch # Navigate to player
/fpp move bot1 --roam 500,64,200 25 # Roam in 25-block radius
/fpp mine bot1 diamond_ore --wesel # Mine using WorldEdit selection
/fpp place bot1 --once # Place one block
/fpp attack bot1 --hunt --range 16 # Hunt mobs
/fpp follow bot1 Notch # Follow a player
/fpp find bot1 diamond_ore --radius 64 --count 20
/fpp sleep bot1 100 64 200 50 # Set sleep origin
/fpp stop bot1 # Stop all tasks
/fpp freeze bot1 on # Freeze bot
/fpp inv bot1 # Open inventory
/fpp storage bot1 chest1 # Register container
/fpp rename bot1 builder_01 # Rename bot
/fpp info bot1 # Show session history
๐ Permissions
FPP uses a two-tier permission system.
Wildcards
| Node | Default | Description |
|---|---|---|
fpp.admin |
op |
Full admin access (same as fpp.op) |
fpp.op |
op |
Full access to all commands |
fpp.use |
true |
User-tier: spawn (1 bot), tph, xp, info (own bots) |
Key Nodes
- Spawn:
fpp.spawn,fpp.spawn.user,fpp.spawn.limit.1throughfpp.spawn.limit.100 - Despawn:
fpp.despawn,fpp.despawn.bulk,fpp.despawn.own - Movement:
fpp.move,fpp.move.to,fpp.move.stop - Automation:
fpp.mine,fpp.place,fpp.use.cmd,fpp.attack,fpp.attack.hunt,fpp.find,fpp.follow,fpp.sleep,fpp.stopfpp.mine.weselโ WorldEdit selection for mining areafpp.place.weselโ WorldEdit selection for placement area
- Management:
fpp.freeze,fpp.rename,fpp.rename.own,fpp.inventory,fpp.storage,fpp.setowner,fpp.save,fpp.settings - System:
fpp.reload,fpp.migrate,fpp.badword - Bypass:
fpp.bypass.max,fpp.bypass.cooldown - Notify:
fpp.notifyโ update notifications on join
Quick Setup
# Admin
/lp group admin permission set fpp.admin true
# User
/lp group member permission set fpp.use true
# Custom bot limit (5)
/lp user Alice permission set fpp.spawn.limit.5 true
# Bypass cooldown for VIPs
/lp group vip permission set fpp.bypass.cooldown true
# Hide /fpp from guests
/lp group guest permission set fpp.command false
๐ Placeholders
Requires PlaceholderAPI. 80+ placeholders โ all prefixed with %fpp_.
Server-Wide (16 placeholders)
| Placeholder | Description |
|---|---|
%fpp_count% |
Total bots (local + remote) |
%fpp_local_count% |
Bots on this server |
%fpp_network_count% |
Bots on other proxy servers |
%fpp_max% |
Global bot cap (โ if unlimited) |
%fpp_real% |
Real players online |
%fpp_total% / %fpp_online% |
Total players (real + bots) on this server |
%fpp_network_total% |
Total players + bots across ALL backends (NETWORK mode) |
%fpp_network_real% |
Total real players across ALL backends (NETWORK mode) |
%fpp_network_bots% |
Total bots across ALL backends (NETWORK mode) |
%fpp_frozen% |
Frozen bot count |
%fpp_names% |
Comma-separated bot names (includes remote in NETWORK mode) |
%fpp_network_names% |
Remote bot names |
%fpp_version% |
Plugin version |
%fpp_config_version% |
Config version number |
%fpp_uptime% |
Plugin uptime (e.g. 4h 12m) |
Server Performance (2 placeholders)
| Placeholder | Description |
|---|---|
%fpp_server_tps% |
Server TPS |
%fpp_server_uptime% |
Server uptime |
Extensions (2 placeholders)
| Placeholder | Description |
|---|---|
%fpp_extensions% |
Number of loaded extensions |
%fpp_extensions_names% |
Comma-separated extension names |
Settings / Toggles (28 placeholders)
| Placeholder | Returns |
|---|---|
%fpp_chat% |
on / off |
%fpp_skin% |
Skin mode |
%fpp_body% |
Always on |
%fpp_pushable% / %fpp_damageable% / %fpp_tab% / %fpp_ping% |
on / off |
%fpp_max_health% |
Max HP |
%fpp_network% / %fpp_network_mode% |
on / off (NETWORK mode) |
%fpp_server_id% |
Server ID |
%fpp_persistence% |
on / off |
%fpp_spawn_cooldown% |
Cooldown seconds |
%fpp_chunk_loading% / %fpp_chunk_loading_radius% |
on / off or radius value |
%fpp_head_ai% / %fpp_swim_ai% |
on / off |
%fpp_auto_eat% / %fpp_auto_place_bed% / %fpp_auto_milk% |
on / off |
%fpp_prevent_bad_omen% / %fpp_fall_damage% / %fpp_respawn_on_death% |
on / off |
%fpp_hurt_sound% / %fpp_join_message% / %fpp_leave_message% / %fpp_death_message% |
on / off |
%fpp_peak_hours% / %fpp_swap% / %fpp_metrics% / %fpp_update_checker% |
on / off |
%fpp_badword_filter% / %fpp_database% |
on / off |
%fpp_database_mode% |
Database mode |
Per-World
| Placeholder | Description |
|---|---|
%fpp_count_<world>% |
Bots in world |
%fpp_real_<world>% |
Real players in world |
%fpp_total_<world>% |
Total in world |
Player-Relative (13 placeholders)
| Placeholder | Description |
|---|---|
%fpp_user_count% |
Player's bot count |
%fpp_user_max% |
Player's bot limit (respects permission overrides) |
%fpp_user_names% |
Player's bot names |
%fpp_user_ping% |
First bot's ping |
%fpp_user_ping_avg% |
Average ping of player's bots |
%fpp_user_frozen% |
Number of player's frozen bots |
%fpp_user_oldest% / %fpp_user_newest% |
Name of oldest/newest bot |
%fpp_user_uptime% / %fpp_user_total_uptime% |
Combined uptime of player's bots |
%fpp_user_total_damage% |
Total damage taken by player's bots |
%fpp_user_deaths% |
Total deaths of player's bots |
%fpp_user_count_<world>% |
Player's bot count in specific world |
Per-Bot (22 placeholders)
| Placeholder | Description |
|---|---|
%fpp_ping_<bot_name>% |
Specific bot's ping |
%fpp_health_<bot_name>% |
Bot's current health |
%fpp_health_max_<bot_name>% |
Bot's max health |
%fpp_world_<bot_name>% |
Bot's current world |
%fpp_loc_x_<bot_name>% / %fpp_loc_y_<bot_name>% / %fpp_loc_z_<bot_name>% |
Bot's coordinates |
%fpp_frozen_<bot_name>% / %fpp_sleeping_<bot_name>% |
yes / no |
%fpp_owner_<bot_name>% / %fpp_spawned_by_<bot_name>% |
Who spawned the bot |
%fpp_pve_<bot_name>% |
yes / no |
%fpp_displayname_<bot_name>% |
Bot's display name |
%fpp_uuid_<bot_name>% |
Bot's UUID |
%fpp_spawn_time_<bot_name>% |
When bot was spawned (ISO format) |
%fpp_task_<bot_name>% |
Current active task (mining, moving, etc.) or idle |
%fpp_following_<bot_name>% |
Who the bot is following (if any) |
%fpp_damage_<bot_name>% |
Total damage taken by bot |
%fpp_deaths_<bot_name>% |
Bot's death count |
%fpp_type_<bot_name>% |
Bot's type (AFK, MINER, BUILDER, etc.) |
%fpp_chat_<bot_name>% |
yes / no (bot chat enabled) |
%fpp_skin_<bot_name>% |
Bot's skin name |
Ping
| Placeholder | Description |
|---|---|
%fpp_ping_all% |
Bot ping if sender is bot, else real player ping |
%fpp_avg_ping% |
Average across all local bots |
%fpp_player_ping% |
Sender's real ping |
๐๏ธ Configuration
Main file: plugins/FakePlayerPlugin/config.yml
Key sections:
limitsโ max bots, user limits, spawn cooldownspersistenceโ save/restore bots on restartbot-nameโ name sources and formattingbadword-filterโ profanity filteringbodyโ entity settings (pushable, damageable, item pickup)combatโ health, fall damage, hurt soundsdeathโ respawn behaviorchunk-loadingโ keep chunks loaded around botsautomationโ auto-eat, auto-place-bed, auto-milk, bad-omen preventionhead-aiโ smooth head rotationswim-aiโ automatic upward swimmingcollisionโ push radius, strength, separationdatabaseโ SQLite / MySQL settingsconfig-syncโ cross-server config push/pullperformanceโ position-sync distance tuningheartbeatโ network liveness publishingattack-mobโ default targeting range and prioritylogging.debugโ per-subsystem debug flagsmetricsโ FastStats usage statisticspathfindingโ A* tuning (gap walking, block break/place, node limits, stuck thresholds)skinโ mode, pool, overrides, mineskin integrationpingโ random fake ping (requiresfpp-spoof.jar)
The plugin includes an automatic config migrator (current version: 73). Do not edit config-version manually.
๐ Documentation
- Wiki โ Full documentation
- Commands โ Command reference
- Permissions โ Permission setup
- Configuration โ Config tuning
- Extensions โ Extension API guide
- Changelog โ Version history
๐ฌ Support
- Discord: Join our server
- Modrinth: Download updates
- GitHub Issues: Report bugs & request features
- GitHub Sponsors: Sponsor development
- Patreon: Support FPP
โ๏ธ License
MIT License. See LICENSE.
Made with โค๏ธ by Bill_Hub


