Skip to content

Packet Level Hiding

TheCommandCraft edited this page Apr 6, 2026 · 3 revisions

Packet-Level Hiding

Vanish++ hooks into the server's network layer via ProtocolLib to intercept and suppress packets that would reveal a vanished player's existence.

All features on this page require ProtocolLib 5.3.0+.
📁 All settings are in plugins/Vanishpp/config.yml
🔧 Change any value in-game with /vconfig <key> <value> then /vreload


Tab-Completion Scrubbing

Vanished player names are stripped from tab-completion packets before they reach any client - in chat, vanilla commands, and plugin commands.

To disable:
📁 plugins/Vanishpp/config.ymlinvisibility-features.hide-from-tab-complete: false
🔧 In-game: /vconfig invisibility-features.hide-from-tab-complete false


Server List Player Count

The player count shown in the multiplayer server list excludes vanished players. If you are the only online player and you are vanished, the server shows 0 / 20.

To disable server list adjustment:
📁 plugins/Vanishpp/config.yml

vanish-appearance:
  adjust-server-list: false
vanish-effects:
  hide-from-server-list: false

🔧 In-game: /vconfig vanish-appearance.adjust-server-list false


Staff Glow Indicator

Vanished players render with a glowing outline visible only to staff with vanishpp.see. The glow is injected per-packet for each staff player individually.

To disable staff glow:
📁 plugins/Vanishpp/config.ymlvanish-appearance.staff-glow: false
🔧 In-game: /vconfig vanish-appearance.staff-glow false


Staff Tab List View

Players with vanishpp.see see vanished players in the tab list as gray, italicized entries. Normal players see no entry.

To change the tab prefix shown to staff:
📁 plugins/Vanishpp/config.ymlvanish-appearance.tab-prefix
🔧 In-game: /vconfig vanish-appearance.tab-prefix "&c[HIDDEN] "


Fake Join / Quit Messages

Vanish++ broadcasts a fake translation packet instead of a real join/quit - indistinguishable in any language.

To customise fake message text:
📁 plugins/Vanishpp/config.ymlmessages.fake-join / messages.fake-quit
Leave empty to use the server's native translation.
🔧 In-game: /vconfig messages.fake-quit ""

To disable fake/real message behaviour:
📁 plugins/Vanishpp/config.yml

vanish-effects:
  hide-real-quit-messages: true
  hide-real-join-messages: true
  broadcast-fake-quit: true
  broadcast-fake-join: true

🔧 In-game: /vconfig vanish-effects.broadcast-fake-quit false


Packet Suppression Reference

The following packets are suppressed for unauthorized clients:

Packet What It Prevents
PLAYER_INFO / PLAYER_INFO_UPDATE Tab list presence
SPAWN_ENTITY / NAMED_ENTITY_SPAWN Entity appearing on client
ENTITY_METADATA Glow/state leaking
ENTITY_EQUIPMENT Armor/item visibility
ANIMATION Arm swing animations
ENTITY_EFFECT Potion effect particles
ENTITY_VELOCITY Movement vectors
REL_ENTITY_MOVE Position updates
ENTITY_LOOK Rotation updates
ENTITY_TELEPORT Teleport packets
ENTITY_HEAD_ROTATION Head tracking
COLLECT Item pickup (scrubs vanished names)
SET_PASSENGERS Mount/unmount events
SCOREBOARD_TEAM Team packets (removes vanished names)

Clone this wiki locally