PlayerDoll

PlayerDoll

Plugin

A light-weight FakePlayer plugin for Plugin servers

Server CursedMagicUtility

9,638 downloads
42 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...

Patch Note:

  • Doll connection thread is no longer blocking while server shutdown
  • Fixed Doll cannot perform use command to interact to world
  • Trying to fix teleport packet crash on Folia
  • Fixed some exploits in remove command
  • Fixed incorrect Doll fetching in spawn command

Teleport Packet Crash

It is known that in Folia, some servers might facing random crash due to Doll's teleport packet handling.

If you share the same problem, please reply to Github Discussion

Patch Note:

  • Supported Non-player command input (some still require player)
  • Fixed Doll cannot tick certain vehicles while mounting
  • Fixed the argument all in Exp command can only get 1 level
  • Fixed an issue that sometimes error was thrown during Use command

Patch Note:

  • Fixed sometimes Doll cannot be spawn due to the method from resource pack packet is located wrongly if resource pack is enabled

Patch Note:

  • Fixed spelling mistakes in resource pack class, causing Doll stuck in login process if the server has resource pack enabled

Patch Note:

  • Fixed plugin cannot recognize 1.21.1

Patch Note:

  • all patches in v1.35
  • Fixed doll connection did not handle respawn correctly

Patch Note [Dev]:

  • Changed Doll connection from Socket to Netty, become more performant
  • Changed packet to NMS, should be more resilient to packet change
  • Should fix some connection bugs
  • Changed Tracer class (NMS to plugin API)
  • Changed related logics in Actionpack class (tracer)
  • Supported 1.21 Folia Dev

Known issues:

  • Bottom parts of Doll real inv are shifted, causing interaction to Doll's armor and offhand slot (Bug from plugin API)

Note:

  • This is a Dev version, please use it carefully.
  • Please report any problems when you have any difficulties

Patch Note:

  • Setup Github Wiki for detailed information
  • Improved Shift actions in Doll Inv GUI
  • Fixed Doll Inv GUI causing item to disappear by certain interaction
  • Added spam preventation for Doll Inv GUI (4ticks)
  • Fixed Dropping Item through GUI in Folia server causes error
  • Changed config key proxy-auto-join-delay to auto-join-delay
  • Prevent plugin disable while Doll auto-join
  • Removed grouped permission in plugin.yml
  • Added wildcards for permissions in plugin.yml
  • Fixed Doll auto-join not applying Doll Identifier
  • Fixed an issue that when player attempts to pset a newly set player, flag did not set

Doll Inv GUI

In this version, shift actions in Inv do stack similar items together (not in old versions)

auto-join-delay

Now it will also work on non-BungeeCord connections

Wildcards for permissions

  • playerdoll.command.* -> Wildcard for command
  • playerdoll.globalflag.* -> Wildcard for global flag
  • playerdoll.personalflag.* -> Wildcard for personal flag

Others

  • Config version is now 28
  • Grouped permission is no longer be used, please re-configure those permissions if you are using it

Patch Note:

  • Fixed player cannot perform PlayerDoll commands outside chat

Patch Note (Beta):

  • A relatively complex update is released, not all functions are well tested.

New Features

  • Supported 1.20.2
  • Added Config key force-proxy-ip
  • Added Config key doll-identifier

Changes / Bug Fixes

  • Improved packet processing
  • Fixed Doll not dismount from Entity when Die / Disconnect
  • Fixed Doll cannot Join server if server.properties has required resource pack set
  • Fixed Doll join-at-start not working
  • Updated command system for configurable Doll identifier
  • Updated Doll config system for configurable Doll identifier
  • Added comments for serveral Config keys
  • Adjusted Config key server-max-doll to server-max-doll-spawn

Known Issues

  • Doll cannot update Boat while mounting
  • Doll cannot be push by piston with Slime block correctly
  • Doll causes Crash in Folia servers when Map is tracking Regions containing Doll (Temporary Solution below)

Packet Processing

A new packet logic is used
Basic operations are fine
Please write issue if any problems found

Force Proxy Ip

default: false
A optional tweak should fix Doll not joining server while the default connection address is not working

Doll Identifier

default: "-"
The identifier that Doll spawns with
Can be empty or 1 character
Should avoid common character that is username available or being used by other plugins

Note: Some characters will cause confusion to Vanilla / Other Plugin Commands.

Set to '' for disabling identifier

BungeeCord

Updated corrisponding logic to adapt configurable Doll identifier

Notes

Doll config has updated, and the format has changed because of the configurable identifier.
Please let Doll owners to cleanup all Doll data before updating to this version
It is not encouraged to keep old configs, weird problems might occurr.

Suggested Upgrade Flow:

  1. Cleanup Doll data
  2. Remove all Doll configs in plugins/doll and in dat file world/playerdata
  3. Update plugin
  4. Create new Doll

Temporary Solution to fix Crash in Folia Servers:

Goto paper-world-defaults.yml and change the value of item-frame-cursor-update-interval to 0

Patch Note:

  • Fixed Doll disconnect when spawn due to consecutive teleport packet with same teleport id
  • Fixed high CPU and Ram usage when convert-player is enabled
  • Decreased Doll teleport delay in Folia server

Patch Note:

  • Fixed teleport packet causing doll to disconnect when spawn
  • Added hidden flag for gset and pset
  • Added config key display-doll-when-ping
  • Added config key op-can-see-hidden-doll
  • Added check for Error UUID when spawn
  • Added support for flying

Hidden flag

permission: playerdoll.personalflag.hidden

default: disabled

With this flag enabled, all players (or specific player):

  • cannot see or interact doll hitbox in the world
  • not listed from tablist
  • not listed from ping list

Pset overrides Gset

Display Doll When Ping

default: false

This control the online count, max player count when player ping the server.

if disabled:

  • all dolls will be filtered from online count
  • original max player count will be shown (if adjustable-max-player enabled)

Op Can See Hidden Doll

default: true

Does server operator bypass the hidden flag

Flying

If caller is in Creative and the doll can fly, doll will remain flying when spawn

Other

  • Config version is now 26
  • Updated default.yml

Patch Note:

  • Fixed Create command cannot bypass max-create limit using manage or in op
  • Added Info command
  • Removed gset/pset info flag
  • Added doll setting hide_from_list flag
  • Adjusted pset config-saving check (if pset player has identical settings from gset, the setting will not be saved)
  • Fixed an error that trying to use pset to set a specific flag on a player that was never presented on doll config
  • Optimized command suggestions (Hover Texts)
  • Adjusted Doll teleportation (using packet)

Hide From List flag

permission: playerdoll.globalflag.hide_from_list

If hide_from_list flag enabled, Doll will be hidden from suggestion list when player is typing info command

  • This flag does not affect op or owner
  • This flag does not block info query made from other player

Info command

permission: playerdoll.command.info

A command for listing basic data of Doll

  • Doll name
  • Online status
  • Owner
  • Doll settings
  • General settings
  • Player settings

Command Suggestion Hover Text

Added a related Hover Text display on Doll target selection to the command.

Can be seen by dragging the mouse cursor onto the tab suggestion

  • spawn, give, remove -> owner name
  • tp, despawn -> current coords
  • look, turn -> current facing
  • slot -> current handheld slot
  • exp -> current level
  • mount, dismount -> is riding
  • sneak, unsneak -> is sneaking
  • sprint, unsprint -> is sprinting
  • set, gset -> enabled flags
  • pset -> players being pset before
  • actions -> items on both hands

Others

  • Config version is now 25
  • Updated default.yml and zh.yml (available on Github)
  • Published the plugin in release channel (stable)

Patch Note:

  • Fixed chat-when-join

Patch Note:

  • Fixed a Crash issue due to RealPlayerTickAction in Folia
  • Fixed Doll becoming invulnerable after entering the The End exit portal in Folia

Patch Note:

  • Fixed Doll death from PlayerData Sync Plugin
    Now Doll will attempt to respawn then disconnect the Server. To prevent Sync Plugin store Doll data at 0 Health.

Patch Note:

  • Changed disconnect method from server side to fake-client side
  • Changed TP method from console command execution to API teleport
  • Fixed perm.yml max-doll-create counts incorrectly
  • Fixed Pset data is not loaded correctly when doll spawn
  • Fixed Give command is not working (Now Give command require Doll to be offline, and the receiver to be online)

Patch Note:

  • Fixed an issue that when Doll was Removed by non-owner, the max-creation-counter is not update correctly
  • End Dev test

Others:

  • No update for BungeeCord plugin, download if needed. See v1.29
  • Simply tested on the latest clean Velocity with forward setting "modern", PlayerDoll should work fine without implementing a dedicated Velocity plugin. (for Doll connection)

    Also no need to change config settings

Patch Note (dev version):

New Features

  • Added messages to Doll caller about spawn result
  • Added Lang config keys spawn-success and spawn-error

Bug Fixes & Changes

  • Fixed an issue that in some versions and branches that cannot perform command through Shortcuts or GUI buttons
  • (BungeeCord) Fixed Doll will no longer be able to join the server if an connection error occurred before
  • Simplify some logging messages

Others

  • Config version is now 24
  • Dev test will end in this version if no specific problem was found

Patch Note (dev version):

BungeeCord Connection Support

New Features

  • Support 1.21 Paper (experimental-build #9)
  • Support 1.20.3 - 1.21 BungeeCord Connection
  • Added config key proxy-auto-join-delay, to delay (in seconds) each Doll when joining automatically
  • Added doll config key last-join-server for server Name that will be used in auto join. (doll without no server name are not joining)

Bug Fixes & Changes

  • Fixed a crashing issue that server reload command interferes with doll brigadier command
  • Changed config key server-ip and server-port to proxy-ip and proxy-port respectively for Proxy connection
  • Doll will connect to the local address automatically when BungeeCord mode is off.
  • When BungeeCord mode is on, Doll auto join feature requires at least 1 player in server. When the first player joined, doll will start joining 1 by 1 after 5 seconds.

Others

  • BungeeCord-side plugin is available below (PlayerDoll-Bungee-1.28.jar)
  • GUI command actions are not working in BungeeCord mode in some versions and server mods. Entering command in chat as an alternative
  • Doll in BungeeCord mode might not joining the game rarely. Please try again (around 5%?)
  • To trigger doll auto join after reload in Bungeecord mode, a player is required to join the server in order to start.

Project members

johsar

Owner

Details

Licensed MIT
Published a year ago
Updated a month ago