Spigot Fake Players (Server-side bots) 2.4

A simple bot spawning tool.

  1. SlimeDog

    Moderator Patron

    A disbanded fake player leaves behind a multitude of references. This will cause problems if the same fake player name is summoned again. Of course, FakePlayers cannot (and should not) erase data in other plugins, so this is just for information.

    Fake player name: BABY
    UUID assigned by FakePlayers: c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15

    FILES
    • ./plugins/BentoBox/database_backup/Players/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.json
    • ./plugins/BentoBox/database/Names/BABY.json
    • ./plugins/BentoBox/database/Players/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.json
    • ./plugins/Disease/players/BABY.yml
    • ./plugins/Essentials/userdata/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.yml
    • ./plugins/LuckPerms/yaml-storage/users/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.yml
    • ./plugins/Multiverse-Inventories/players/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.json
    • ./plugins/PyroWeatherPro/PlayerData/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.yml
    • ./plugins/Thirst/players/BABY.txt
    • ./world/playerdata/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.dat
    • ./world/playerdata/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.dat_old
    FILE CONTENT
    • ./plugins/BagOfGold/bagofgoldcore.db
    • ./plugins/BentoBox/database_backup/Players/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.json
    • ./plugins/BentoBox/database/Names/BABY.json
    • ./plugins/BentoBox/database/Players/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.json
    • ./plugins/CoreProtect/database.db
    • ./plugins/EssentialsGeoIP/GeoIP2-City.mmdb
    • ./plugins/Essentials/userdata/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.yml
    • ./plugins/Essentials/usermap.csv
    • ./plugins/LuckPerms/yaml-storage/actions.txt
    • ./plugins/LuckPerms/yaml-storage/users/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.yml
    • ./plugins/Multiverse-Inventories/players/c6f5ad28-9ae9-4dc6-aac0-4f4b8fcddf15.json
    • ./plugins/WorldGuard/cache/profiles.sqlite
    • ./usercache.json
     
  2. That's something I'm aware of, but I have currently no solution for that problem. I could minimize it, by making fake players get the same uuid as a player who has once joined with that nickname. This way spawning in a fake player named "bot" 3 times would create 3x less amount of references.
     
  3. I forgot about the resource pack. Thank you for mentioning it. Tab-completion is also a good idea, even I sometimes struggle with the command syntax.
     
    • Friendly Friendly x 1
  4. SlimeDog

    Moderator Patron

    Please do that. The usercache.json is a good place to start the search. Remember to look in the right place (for example, our worlds are located in ./UNIVERSE). These listings may expire, so are not sufficient.

    Vault maintains a list of helpful information. It's a good place to start to look for pointers to previously-used player names/UUIDs.
    Code (Text):
    >vault-info
    [10:09:04] [Server thread/INFO]: [Vault] Vault v1.7.3-b131 Information
    [10:09:04] [Server thread/INFO]: [Vault] Economy: Essentials Economy [Essentials Economy]
    [10:09:04] [Server thread/INFO]: [Vault] Permission: LuckPerms [LuckPerms, SuperPerms]
    [10:09:04] [Server thread/INFO]: [Vault] Chat: LuckPerms [LuckPerms]
    So in this case, one should look in Essentials and LuckPerms. (The reference to SuperPerms comes from the Vault JAR; -- we have never installed it).

    If a server doesn't use Vault, there are probably other places to start the search.
     
    #24 SlimeDog, Apr 21, 2021
    Last edited: Apr 21, 2021
  5. Thank you for that, it will help a lot.
     
    • Friendly Friendly x 1
  6. You can get a list of actions by typing /FakePlayers action help
     
    • Informative Informative x 1
  7. nice plugin but theres two Null error nd u to fix
    Code (Text):
    [09:17:57] [Server thread/WARN]: [io.netty.channel.embedded.EmbeddedChannel] More than one exception was raised. Will report only the first one and log others.
    java.lang.NullPointerException: null
        at io.netty.channel.ChannelOutboundBuffer.addFlush(ChannelOutboundBuffer.java:149) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:916) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.embedded.EmbeddedChannel$EmbeddedUnsafe$1.flush(EmbeddedChannel.java:845) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:765) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.NetworkManager.writePacket(NetworkManager.java:412) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.NetworkManager.sendPacket(NetworkManager.java:356) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2017) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.PlayerConnection.sendPacket(PlayerConnection.java:1990) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.sendSignChange0(CraftPlayer.java:773) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.sendSignChange(CraftPlayer.java:804) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at org.bukkit.craftbukkit.v1_16_R3.entity.CraftPlayer.sendSignChange(CraftPlayer.java:778) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at com.sagaciousdevelopment.PlaceholderSign.sign.PlaceholderSign.sendUpdate(PlaceholderSign.java:160) ~[?:?]
        at com.sagaciousdevelopment.PlaceholderSign.sign.PlaceholderSign$1.run(PlaceholderSign.java:42) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:469) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1504) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:442) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1413) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1134) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.MinecraftServer$$Lambda$3131/0000000020252FA0.run(Unknown Source) ~[?:?]
        at java.lang.Thread.run(Thread.java:836) [?:?]
    [09:17:57] [Craft Scheduler Thread - 365 - InteractionVisualizer/WARN]: [io.netty.channel.embedded.EmbeddedChannel] More than one exception was raised. Will report only the first one and log others.
    java.lang.NullPointerException: null
        at io.netty.channel.ChannelOutboundBuffer.addFlush(ChannelOutboundBuffer.java:149) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:916) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.embedded.EmbeddedChannel$EmbeddedUnsafe$1.flush(EmbeddedChannel.java:845) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:750) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:765) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:808) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1025) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:306) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.NetworkManager.writePacket(NetworkManager.java:412) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.NetworkManager.sendPacket(NetworkManager.java:356) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2017) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at net.minecraft.server.v1_16_R3.PlayerConnection.sendPacket(PlayerConnection.java:1990) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at jdk.internal.reflect.GeneratedMethodAccessor193.invoke(Unknown Source) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.invokeSendPacket(ChannelInjector.java:746) ~[?:?]
        at com.comphenix.protocol.injector.netty.ChannelInjector.sendServerPacket(ChannelInjector.java:731) ~[?:?]
        at com.comphenix.protocol.injector.netty.ProtocolInjector$4.sendServerPacket(ProtocolInjector.java:399) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.sendServerPacket(PacketFilterManager.java:733) ~[?:?]
        at com.comphenix.protocol.injector.PacketFilterManager.sendServerPacket(PacketFilterManager.java:687) ~[?:?]
        at com.loohp.interactionvisualizer.protocol.ServerPacketSender.teleportEntity(ServerPacketSender.java:68) ~[?:?]
        at com.loohp.interactionvisualizer.managers.PacketManager.lambda$dynamicEntity$1(PacketManager.java:144) ~[?:?]
        at com.loohp.interactionvisualizer.managers.PacketManager$$Lambda$7849/0000000038556930.run(Unknown Source) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:58) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-81]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:836) [?:?]
     
  8. I think you possibly uploaded the wrong Jar file, as i checked the plugin.yml, its the old 1.5 @KP56
    Thanks!
     
  9. PS: Also I cant seem to get the FakePlayer to actually run a command at its location/another location, also is there going to be the ability to make the Bots interact with Blocks/Held Items?
     
  10. I forgot to change plugin's version in plugin.yml oops.
     
  11. Unfortunetly, they cannot interact with blocks yet, but I'm pretty sure you can use inventory click action to interact with fake player's items.
     
  12. Thank you for reporting this issue, I'll look into it.
     
  13. Unfortunetly, I have to reupdate to fix the version issue.
     
  14. KP56 updated Fake Players (Server-side bots) with a new update entry:

    Macros - a simple way to store actions

    Read the rest of this update entry...
     
  15. can be used in afk farms?
     
  16. You want to create an afk farm using these bots? I don't think it's possible right now, since bots cannot interact with blocks. I'll make sure to add that feature in either 1.7 or 1.8 though.
     
  17. SlimeDog

    Moderator Patron

    Thanks for the update. Please do not reuse version strings (1.6). We aren't going to run out of integers anytime soon. Duplicate version strings make our operations and your support more difficult -- how do we or you know which version 1.6 we have installed? In addition, they don't have the same feature set; the second one supposedly includes a resourcepacks fix (but see this issue).
     
    #37 SlimeDog, Apr 22, 2021
    Last edited: Apr 22, 2021
  18. only need to interact with a minecart
     
  19. It's a reupload, because of me forgetting to change 1.5 to 1.6 in plugin.yml. I tried to include the exact same version, but already made some changes to the source code and didn't have the 1.6 one.
     
  20. Fake players unfortunetly cannot ride other entites at the moment. I'll make sure to include that feature in a new update.