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.