/ReallyFakePlayers

Primary LanguageJavaEuropean Union Public License 1.2EUPL-1.2

Logo

ReallyFakePlayers (Updated)

Simulates fake players on a server, tricks server lists and boosts your online.
A fork and updated version of ReallyFakePlayers for 1.19.4 - 1.20.

Works on Spigot (and should work on it's forks).
Plugin is still beta, expect bugs, report them in issues tab.

Downloads

Download plugin: https://dev.bukkit.org/projects/really-fake-players/files

(for 1.17.1 and 1.18.2, not my and not supported):

1.17.1 (freethemice): https://spigotmc.org/resources/really-fake-players.95927

1.18.2 (tristiisch): https://github.com/tristiisch/ReallyFakePlayers/releases

This a fork of freethemice's ReallyFakePlayers (TitanBoxRFP) plugin.
Big thanks and credits to freethemice (github.com/freethemice).
freethemice gave me permission to modify & redistribute this plugin.

Installation guide

  1. Stop server
  2. Drop plugin in plugins folder
  3. Start server
  4. Wait for server to fully load
  5. Stop server
  6. Modify config.yml in plugins/ReallyFakePlayers/config.yml
  7. Start server if you wish
  8. Done

Optional dependencies

Vault plugin and permissions plugin are needed to make bots have groups/ranks.
Vault integration will not work if no permissions plugins are present.
Any other permissions plugins except PEX and LuckPerms are not supported.
You may disable Vault integration by changing respect-vault: true to respect-vault: false in config file.
NEW: PlaceholderAPI integration! RFP adds 2 new placeholders to PAPI: %rfp_online_with_fakeplayers%
and %rfp_online_without_fakeplayers%. You can also use placeholders from PAPI in config messages.
You may disable PAPI integration by changing respect-papi: true to respect-papi: false in config file.

Information

  1. Would not recommend adding more than 60 players, but you can.
  2. Because the server thinks players are really a command blocker will stop commands with fake players name. (can be turned off in settings under interaction)
  3. If a really player logs in with the same name as a fake player, the fake player will be removed.
  4. NameList.yml hold all the random names
  5. [I'm Fake] and [Fake Player] can only be seen by ops.
  6. Fake players do not have bodies.
  7. All fake players have "10.10.10.10" ip address
  8. MIT license

Bug reports & MC Versions supported

Report bugs on the issues tracker!

  • Status-Fully supported-green
  • Status-Fully supported-green
  • Bugfixes Only-orange

Known bugs (maybe outdated)

If you get this error: java.lang: Asynchronous Chunk getEntities call,
try disabling/enabling paper-performance-boost in config.
Some plugins may throw errors in the console because of fake players network issues,
(I minimized them, almost 90% of plugins are compatible now)
be sure to submit a bug report and you may use ConsoleSpamfix plugin temporarily,
There is a known error with NoCheatPlusUpdated, you should disable
data consistencychecks in NCP config, or just supress warnings.
Also, there is a strange error on /list command when Vault, LuckPerms
and EssentialsX are installed and respect-vault is false, LP'll tell you about
vault-unsafe-lookups, you should enable it in LP config to fix it, it is very
specific problem and it's likely EssentialsX or LuckPerms are causing it.

Commands

/rfp help - help command
/rfp add <#> - add X fakeplayers
/rfp add <name> - add fakeplayer
/rfp checkvaultavailability - check vault status
/rfp remove <name> - remove fakeplayer
/rfp remove all - remove all fakeplayers
/rfp list - list of them
/rfp reload - reload plugin (creeper bonus)
/rfp utfall - update tab-format
/rfp udnfall - update displayname format

Permissions

all commands: titanbox.admin or titanbox.rfp.admin
fake message: titanbox.rfp.show

Default config.yml & explanation

#GENERAL PLACEHOLDERS:
#{fakeplayernick}
#{fakeplayerdisplayname}
#Supports PAPI, for prefix/suffix you may use PAPI's Vault expansion's placeholders (%vault_prefix%, %vault_suffix%).
settings:
  maximum: 60 #Maximum number of fake players (bots) that can be added.
  block_interaction: true #Stop commands that include fake player names
  block_interaction_to_ops: true #same but for ops (admins)
  message: This player is on DND (Do Not Disturb)!
  ops_fake_tag: true #if OPS can see [I'm Fake] and [Fake Player]
  respect-vault: true #enable Vault integration or no? (required for groups)
  respect-papi: true #enable PlaceholderAPI integration or no?
  show-in-tab: true #self-explanatory
  tab-format: 'default' #how should the name of fakeplayer in tab look like? you may use %vault_prefix% from PAPI Vault expansion. If you use essentials make sure change-playerlist is off.
  displayname-format: 'default' #how should the displayname of fakeplayer look like? you may use %vault_prefix% from PAPI Vault expansion. If you use essentials make sure change-displayname is off.
  join-text: '&e{fakeplayernick} joined the game.' #join text (joined message), can't be default due to the limits
  vanilla-join-text: false #if true, setting above will be ignored and vanilla (multiplayer.player.joined) join text will be used
  use-displayname-in-vanilla-join-text: false #if true, use displayname in vanilla join text
  dont-send-join-text-to-players: false #if true, not send join text to players
  dont-send-join-text-to-ops: false #if true, not send join text to ops
  quit-text: '&e{fakeplayernick} left the game.' #quit text (left message), can't be default due to the limits
  vanilla-quit-text: false #if true, setting above will be ignored and vanilla (multiplayer.player.left) quit text will be used
  use-displayname-in-vanilla-quit-text: false #if true, use displayname in vanilla quit text
  dont-send-quit-text-to-players: false #if true, not send quit text to players
  dont-send-quit-text-to-ops: false #if true, not send quit text to ops
  anti-kick: true #fakeplayers will not be able to get kicked out
  groups: #groups that bots will be randomly given
  - default
  #- yourgrouphere
  cleanup-groups-on-stop-and-quit: true #so your perms plugin's user base does not get trashed up
  ping: //random ping
    min: 20 //minimum ping
    max: 90 //maximum ping
  auto:
    enable: true
    join_messages: true #does the fake players welcome others in
    messageFormat: 'default' #how the messages should look like in chat, placeholder for message - <message>
    firstJoinMessages: #random messages they will say to first joining
    - Welcome!
    - Welcome <name>!
    - Whats up <name>!
    - <name>!
    - Finally the one and only <name>!
    reJoinMessages: #random messages they will say to rejoining players.
    - WB
    - Welcome back <name>!
    - Hey, <name>!
    - Whats up <name>!
    - <name>!
    - Hello <name>!
    - WB <name>!
    minimum: 3 #minimum amount of bots to create automatically
    maximum: 7 #maximum amount of bots to create automatically
    logging:
      seconds_delay_join: 3 #number of seconds after startup before it will log all the fake players in.
      minimum_minutes: 5 #auto log in/out time in minutes.
      maximum_minutes: 60 #auto log in/out time in minutes.
      join: true #auto join.
      quit: true #auto quit.
    # ↓ Don't enable this if you are running official spigot or core that does not support asynchronous chunk getEntities call!
    # ↓ 3 options - 'default' - detects, 'enabled' - force enable, 'disabled' - force disable
    paper-performance-boost: 'default'