
PuppetPlayers
Simple implementation for fake 'puppet' players
About this Mod
About The Project
Modern, simple implementation of the fake players implemented originally in Carpet Mod.
There are some fundamental differences to how these fake players are implemented in comparison to the original implementation in Carpet Mod.
This mod can be used alongside Carpet Mod, carpet's fake player actions will work on these puppet players; however, it's recommended to use the provided actions instead.
The aim of this mod is to keep the behaviour of the puppet players as accurate as possible to a real player:
- All the player ticking is done in the correct tick phase.
- The client code for player actions is simulated on the server.
- Puppet players send packets to interact with the server, like a real player.
- Maintaining compatibility with all mods.
Usage
After installing the mod the /puppet command should become available to operators.
The /puppet command can also be made available to all players by changing the config,
see the config section for more details.
We can make a puppet player join the world using one of the following commands:
/puppet <username> join
/puppet <username> spawn
/puppet <username> spawn at <position> facing <rotation> in <dimension> in <gamemode>
/puppet <username> shadow
- The
joinsubcommand spawns the specified puppet at its previous log-off position, this essentially simulates
as if the player were joining the server themselves. - The
spawnsubcommand spawns the specified puppet at either a specified position or the position of the
command executor if the position is not specified. - The
shadowsubcommand makes a puppet player join in the place of a currently online player.
Once a player has joined the world, we can make the player leave by running the following command:
/puppet <player> leave
Actions
Puppet players are able to run actions mimicking real player behaviour.
Here is a list of all available actions:
| Action | Description | Arguments | Works stand-alone |
|---|---|---|---|
"minecraft:attack" |
Makes the player attack (left click). | <once|hold|release> |
Yes |
"minecraft:delay" |
Adds a delay between chained actions. | <delay> |
No |
"minecraft:drop" |
Makes the player drop their selected item. | <entire_stack> |
Yes |
"minecraft:interrupt_move_to" |
Interrupts the players current pathfinding. | None | Yes |
"minecraft:jump" |
Makes the player jump. | <once|hold|release> |
Yes |
"minecraft:look" |
Makes the player look in a direction. | <rotation> |
Yes |
"minecraft:move_to" |
Makes the player pathfind to a position or entity. | position <pos> <sprint?> <jump?> or entity <entity> <sprint?> <jump?> |
Yes |
"minecraft:offhand" |
Makes the player swap their item with their offhand. | None | Yes |
"minecraft:sneak" |
Makes the player sneak. | <sneaking> |
Yes |
"minecraft:sprint" |
Makes the player sprint. | <sprinting> |
Yes |
"minecraft:swap_slot" |
Makes the player swap to a slot. | <slot> |
Yes |
"minecraft:use" |
Makes the player use (right click). | <once|hold|release> |
Yes |
To run an action, we can run it stand-alone with the following command:
/puppet <player> actions run <action> ...
This makes the player run the action immediately.
For example, to make a player hold attack, you would run:
/puppet <player> actions run minecraft:attack hold
We can also chain multiple actions together by running the following command:
/puppet <player> actions chain add <action> ...
Once you've added actions to the chain, we can also run the following commands to
control the chained behaviour:
/puppet <player> actions chain loop <true|false> # Whether to infinitely loop the chained actions
/puppet <player> actions chain pause # Pause execution of the chained actions
/puppet <player> actions chain resume # Resume execution of the chained actions
/puppet <player> actions chain restart # Restart execution of the chained actions (from the first action)
/puppet <player> actions chain stop # Stops execution of the chained actions (and clears all actions)
For example, to make a player hold attack for 5 seconds, then let go for 2 seconds, then repeat we would run:
/puppet <player> actions chain add minecraft:attack hold
/puppet <player> actions chain add minecraft:delay 5s
/puppet <player> actions chain add minecraft:attack release
/puppet <player> actions chain add minecraft:delay 2s
/puppet <player> actions chain loop true
Config
The config is located in ./config/puppet-player-config.json and by default should look like this:
{
"reload_puppet_players": true,
"operator_required_for_puppets": true
}
"reload_puppet_players"- Whether to respawn puppets if the server stopped with them last online"operator_required_for_puppets"- Whether players need operator permissions to run the/puppetcommand
Available Versions
How to Install PuppetPlayers 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 "PuppetPlayers". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
26.1.2, 26.1.1, 26.1 (+7 more)
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
PuppetPlayers 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 PuppetPlayers compatible with fabric?
PuppetPlayers officially supports fabric for Minecraft 26.1.2, 26.1.1, 26.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with PuppetPlayers – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if PuppetPlayers 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.
Similar Mods
Rent Modded Server
Install PuppetPlayers with just one click on your server.