Vanish del personal (Veritévoiler)

Veritévoiler es el vanish del personal de Verité. Permite a un miembro del personal volverse invisible para los jugadores ordinarios y así vigilar una situación en silencio, para reaparecer luego cuando termina. El vanish es más que ocultar un cuerpo: también silencia las pequeñas pistas que de otro modo revelarían a un miembro del personal oculto, como pasos, partículas, chat, presencia en la lista del servidor y mensajes de entrada o salida.

El componente está activado por defecto. Un miembro del personal lo activa con el comando de vanish. Para el comando en sí y quién puede ejecutarlo, consulta la Referencia de comandos. Para cada nodo de permiso nombrado en esta página, consulta la Referencia de permisos. Para las claves de configuración exactas y sus valores por defecto, consulta la sección vanish descrita en Interruptores de característica.

Activar y desactivar el vanish

Un miembro del personal ejecuta el comando de vanish para ocultarse, y lo ejecuta de nuevo para reaparecer. Alguien con el permiso adecuado también puede ocultar o revelar a otro jugador nombrándolo. El estado de vanish se recuerda: un miembro del personal oculto que se desconecta, o el servidor se reinicia, vuelve aún oculto.

Mientras está oculto, un miembro del personal se retira de la vista de cada jugador que no tiene permiso para verlo. Los jugadores que tienen permiso para ver al personal oculto siguen viendo al miembro del personal con normalidad.

Niveles de vanish

El vanish es escalonado, así que el personal superior puede ocultarse incluso del personal junior. Cada miembro del personal tiene un nivel de vanish, tomado del permiso verite.vanish.level.<n> más alto que tiene (por ejemplo verite.vanish.level.3). Un espectador solo puede ver a un miembro del personal oculto cuando tiene el permiso verite.vanish.see y su propio nivel es al menos tan alto como el nivel del miembro del personal oculto.

Esto significa que un miembro del personal de nivel superior permanece invisible para uno de nivel inferior, mientras que los niveles iguales o superiores pueden verse entre sí. Cuando no hay ningún permiso de nivel presente, todos comparten el nivel cero, así que el permiso see por sí solo decide quién puede ver a quién.

Los niveles provienen de LuckPerms

La resolución de nivel lee los nodos verite.vanish.level.<n> a través de LuckPerms, incluidos los nodos heredados de los grupos. LuckPerms es opcional: cuando no está instalado, todo el personal comparte el nivel cero y solo importa verite.vanish.see.

De qué se oculta a un miembro del personal en vanish

Mientras un miembro del personal está oculto, Verité oculta los rastros que de otro modo lo revelarían. Cada uno de estos puede activarse o desactivarse por su cuenta.

Rastro Qué se oculta
El jugador en sí El cuerpo se retira de la vista de cualquiera que no pueda ver al miembro del personal, usando la gestión de visibilidad estándar.
Chat Cualquier cosa que teclee un miembro del personal oculto se entrega solo al personal que puede verlo, más la consola del servidor. Los jugadores normales nunca la reciben.
Ping de la lista del servidor El miembro del personal oculto se retira de la muestra de jugadores que aparece en la lista multijugador y, donde la plataforma lo permita, el recuento de conectados se reduce para coincidir.
Mensajes de entrada y salida Mientras está oculto, un miembro del personal que entra o sale del servidor no muestra ningún mensaje de entrada o salida.
Sonidos Los pasos, comer, beber, chapotear y sonidos posicionados similares que provienen de la ubicación del miembro del personal se descartan para los jugadores que no pueden verlo.
Partículas Las partículas de movimiento y acción de la ubicación del miembro del personal se descartan para los jugadores que no pueden verlo.
Recogida y suelta de objetos El miembro del personal no puede recoger ni soltar objetos, así que ningún objeto se mueve por su cuenta.
Interacción con el mundo Se impiden romper y colocar bloques, las placas de presión y los cables trampa, y llenar o vaciar cubos.
Progresos Los anuncios de progreso de un miembro del personal oculto se suprimen.
Proyectiles Las flechas, bolas de nieve y otros proyectiles no pueden dispararse, así que nada sale disparado de la nada.
Daño y objetivo El miembro del personal no recibe ni inflige daño, y los monstruos no lo toman como objetivo.
Hambre y aire El hambre no baja y la barra de aire se mantiene llena bajo el agua.
Vehículos Si otro jugador intenta subir a un vehículo que el miembro del personal está montando, se retira al miembro del personal del asiento primero y en silencio.

Los jugadores y el personal que tienen permiso para ver al miembro del personal oculto, y el propio miembro del personal oculto, siguen oyendo, viendo y recibiendo todo con normalidad.

La ocultación de sonidos y partículas llega hasta el servidor

Los sonidos y las partículas son los únicos rastros que el servidor envía directamente a los jugadores cercanos, así que ningún ajuste ordinario puede detenerlos. Verité los filtra a nivel de conexión. En una versión de servidor que esto no puede leer de forma segura, la ocultación de sonidos y partículas se desactiva a sí misma y el resto del vanish sigue funcionando. La coincidencia es por proximidad a la posición reciente del miembro del personal, así que un sonido desencadenado bien lejos del miembro del personal (por ejemplo un proyectil que disparó, lo cual se impide por separado) no está cubierto aquí.

El mensaje de salida falso

Este es el corazón anti-evasión del vanish. Cuando un miembro del personal se oculta, el servidor puede difundir un mensaje de salida de aspecto normal para que todos crean que ese miembro del personal se ha desconectado, cuando en realidad sigue conectado y vigilando. Un infractor de reglas que solo se comportaba porque el personal estaba presente puede entonces resbalar delante de alguien a quien no puede ver. Cuando el miembro del personal oculto vuelve a ser visible, simplemente reaparece sin ningún mensaje.

Esto lo controla el interruptor fake.message. Cuando está desactivado, no se muestra ningún mensaje de salida falso.

Ventajas del observador (efectos)

En el momento en que un miembro del personal se oculta, recibe un conjunto de ventajas de calidad de vida que facilitan la vigilancia sin delatarlo. Qué ventajas se aplican depende tanto del interruptor de configuración correspondiente como de los permisos del miembro del personal.

Ventaja Requiere Qué hace
Transparencia de autovisión Interruptor self.view El propio cuerpo del miembro del personal se ve translúcido en su propia pantalla, un claro recordatorio de que está oculto.
Sin colisiones Siempre, mientras está oculto Los demás jugadores ya no chocan con el miembro del personal.
Sueño ignorado Siempre, mientras está oculto El miembro del personal nunca retiene la noche; no se le cuenta para dormir.
Vuelo Interruptor fly y verite.vanish.fly El miembro del personal puede volar mientras está oculto.
Invulnerabilidad Interruptor invulnerability y verite.vanish.invulnerable El miembro del personal no recibe daño.
Visión nocturna Interruptor effects y verite.vanish.effects El miembro del personal puede ver en la oscuridad.

La visión nocturna es un efecto de poción real, porque el propio cliente aclara la vista, así que su pequeño icono de estado es el único marcador inevitable en pantalla. Se aplica sin partículas ni destellos. Cualquier visión nocturna que el miembro del personal ya tuviera se recuerda en almacenamiento duradero antes de aplicar el efecto de vanish, así que sobrevive a un reinicio. Cuando el miembro del personal vuelve a ser visible, su cuerpo se vuelve sólido, la visión nocturna del vanish se elimina y su efecto original se restaura exactamente como estaba, o se deja desactivado si no tenía ninguno.

La resistencia al fuego y la respiración bajo el agua deliberadamente no se conceden como efectos, ya que un miembro del personal oculto ya no recibe daño de fuego, lava ni ahogamiento y mantiene una barra de aire llena, así que esos efectos serían pura basura en pantalla. Cuando el miembro del personal reaparece, el vuelo se mantiene solo si tiene verite.vanish.fly.keep, o si está en modo creativo o espectador.

Herramientas del observador

Más allá de las ventajas de arriba, un miembro del personal oculto tiene varias herramientas para inspeccionar una situación. Cada una tiene su propio interruptor de configuración.

  • Interruptor de espectador con doble agachado (gamemode): mientras está oculto, pulsar agacharse dos veces rápido pone al miembro del personal en modo espectador para flotar a través de las paredes y vigilar, y hacer el doble agachado de nuevo lo devuelve a su modo anterior. Las dos pulsaciones deben caer dentro de una ventana corta.
  • Apertura silenciosa de contenedores (silent.container): hacer clic derecho en un cofre, barril, shulker u otro contenedor lo abre sin animación de tapa, sonido ni recuento de aperturas que delatarían a los jugadores cercanos. Hacer clic derecho en un cofre de ender abre el propio cofre de ender del miembro del personal.
  • Inspección de inventario de jugador (inventory.inspect): agáchate y haz clic derecho en otro jugador para abrir una vista en vivo de lo que lleva. El jugador inspeccionado nunca ve la interacción.
  • Vista fantasma (ghost): para un espectador que tiene permiso para ver a un compañero oculto, el miembro del personal oculto se muestra como una figura translúcida de estilo espectador en lugar de estar totalmente invisible. Esto es solo una superposición visual por espectador; nunca cambia el modo de juego real del miembro del personal. En una versión de servidor que no puede resolverla, el espectador simplemente ve al miembro del personal totalmente oculto en su lugar.

La inspección de inventario no es de solo lectura

La vista de inventario en vivo abierta por la inspección de inventario no está bloqueada a solo mirar a nivel de objeto, ya que se confía en el personal.

Recordatorio de la barra de acción

Mientras está oculto, un pequeño mensaje persistente que indica que el miembro del personal está en vanish se muestra justo encima de su barra rápida y se mantiene refrescado. Esto previene el error común de que un miembro del personal olvide que es invisible y actúe como si los demás jugadores pudieran verlo. Solo los jugadores ocultos ven este recordatorio. Lo controla el interruptor actionbar.

Interruptores de característica

Cada parte del vanish de arriba puede activarse o desactivarse por su cuenta sin desactivar todo el componente. Los interruptores viven bajo vanish.features en config.yml, y cada uno tiene por defecto activado. Establece vanish.enabled en false para desactivar el componente por completo.

vanish:
  enabled: true
  features:
    fake.message: true
    actionbar: true
    self.view: true
    fly: true
    invulnerability: true
    effects: true
    gamemode: true
    ride.entity: true
    silent.container: true
    inventory.inspect: true
    server.ping: true
    ghost: true
    prevent.chat: true
    prevent.pickup: true
    prevent.drop: true
    prevent.interact: true
    prevent.block.break: true
    prevent.block.place: true
    prevent.target: true
    prevent.damage: true
    prevent.food: true
    prevent.buckets: true
    prevent.advancement: true
    prevent.projectiles: true
    muffle.sounds: true
    muffle.particles: true
Clave Controla
fake.message El mensaje de salida falso cuando un miembro del personal se oculta, y los mensajes de entrada o salida ocultos.
actionbar El recordatorio en pantalla de vanish encima de la barra rápida.
self.view El aspecto translúcido del propio cuerpo del miembro del personal en su propia pantalla.
fly Vuelo mientras está oculto, cuando el miembro del personal también tiene verite.vanish.fly.
invulnerability Inmunidad al daño mientras está oculto, cuando el miembro del personal también tiene verite.vanish.invulnerable.
effects El efecto de visión nocturna, cuando el miembro del personal también tiene verite.vanish.effects.
gamemode El interruptor de espectador con doble agachado.
ride.entity Retirar a un miembro del personal oculto de un vehículo que otro jugador intenta abordar.
silent.container Abrir contenedores sin animación, sonido ni recuento de aperturas.
inventory.inspect Agacharse y clic derecho para ver el inventario de otro jugador.
server.ping Ocultar al personal en vanish del ping de la lista del servidor.
ghost La superposición translúcida de espectador para los espectadores que pueden ver al miembro del personal.
prevent.chat Mantener el chat de un miembro del personal oculto visible solo para el personal que puede verlo.
prevent.pickup Bloquear la recogida de objetos.
prevent.drop Bloquear la suelta de objetos.
prevent.interact Bloquear las placas de presión y los cables trampa.
prevent.block.break Bloquear la rotura de bloques.
prevent.block.place Bloquear la colocación de bloques.
prevent.target Impedir que los monstruos tomen como objetivo al miembro del personal.
prevent.damage Impedir que el miembro del personal reciba o inflija daño.
prevent.food Mantener el hambre sin bajar y la barra de aire llena.
prevent.buckets Bloquear el llenado y vaciado de cubos.
prevent.advancement Suprimir los anuncios de progreso.
prevent.projectiles Bloquear el lanzamiento de proyectiles.
muffle.sounds Descartar los sonidos posicionados de la ubicación del miembro del personal para los jugadores que no pueden verlo.
muffle.particles Descartar las partículas de la ubicación del miembro del personal para los jugadores que no pueden verlo.

El hambre y el aire comparten un interruptor

Tanto la bajada del hambre como la barra de aire bajo el agua las gestiona el único interruptor prevent.food.

Placeholders de PlaceholderAPI

Cuando PlaceholderAPI está instalado, el estado de vanish puede leerse desde listas de tabulación, marcadores y configuraciones de chat sin código, bajo el identificador verite.

Placeholder Valor
%verite_vanished% true o false, si el jugador consultado está actualmente en vanish.
%verite_vanish_count% El número de jugadores actualmente en vanish.

Cuando PlaceholderAPI no está instalado, estos placeholders simplemente no existen y nada más se ve afectado.

Integración con la tab de TAB

En la tab vanilla, un miembro del staff oculto ya se elimina de la lista para quienes no pueden verlo, porque Verité lo oculta mediante el manejo de visibilidad estándar. Sin embargo, el popular plugin TAB reconstruye la propia tab y, de lo contrario, volvería a añadir al miembro del staff oculto. Cuando TAB está instalado, Verité se registra en la propia integración de vanish de TAB, de modo que a TAB se le indica qué jugadores están ocultos y qué observadores pueden verlos, y TAB mantiene su tab acorde con el vanish. No se necesita configuración; la integración se registra automáticamente cuando TAB está presente y no hace nada cuando está ausente. Las versiones antiguas de TAB que no exponen esta integración se omiten, en cuyo caso TAB puede mostrar al staff en vanish en su tab hasta que se actualice.

Para desarrolladores

El vanish expone dos formas para que otro plugin reaccione ante los cambios de estado de vanish:

  • Un evento cancelable disparado antes de que cambie el estado de vanish de un jugador, para que un plugin pueda vetar un vanish o unvanish (por ejemplo, denegar el vanish en un mundo concreto).
  • Un callback ligero que se dispara inmediatamente después de un cambio de estado de vanish, para plugins que solo necesitan que se les avise cuando ocurre.

Para la superficie pública para desarrolladores, consulta la API para desarrolladores.