# Instalación

Esta página cubre lo que Verité necesita para funcionar, los plugins opcionales con los que puede trabajar y lo que ocurre la primera vez que arranca. Para los pasos de descarga y una breve descripción general, consulta la [página de inicio](index.md). El material aquí profundiza en los requisitos, las dependencias y el comportamiento del primer arranque.

## Requisitos

Verité está pensado para los servidores de Minecraft modernos y sus forks habituales.

| Requisito | Detalle |
| --- | --- |
| Plataforma de servidor | Paper, Purpur, Folia o Spigot |
| Versión de Minecraft | 1.21.6 hasta 26.3 |
| Nivel de API | Compilado contra la versión de API 1.21.6 |
| Folia | Compatible |
| Java | La versión de Java que requiere el software de tu servidor para la versión de Minecraft que hayas elegido |

Verité no incluye una compilación separada por plataforma más allá de la versión apropiada para tu servidor. Instala el archivo correcto para tu versión de Minecraft y tu software de servidor, colócalo en el directorio `plugins/` y reinicia.

En cualquier versión de Minecraft fuera del rango compatible, Verité se desactiva al iniciar y registra la versión en ejecución junto con el rango compatible. Verité 1.2.8 es la última versión para Minecraft 1.19 a 1.21.5.

!!! note "Versión de Java"
    Verité sigue el requisito de Java del servidor en el que lo ejecutas. Las versiones más nuevas de Minecraft requieren versiones más nuevas de Java. Si tu servidor arranca, Verité tiene la versión de Java que necesita.

## Biblioteca en tiempo de ejecución

Verité almacena sus datos en una base de datos [H2](https://www.h2database.com/) embebida. H2 se declara como una biblioteca de plugin en `plugin.yml`:

```yaml
libraries:
  - com.h2database:h2:2.4.240
```

Tu servidor resuelve y descarga esta biblioteca automáticamente al cargar, sobre un cargador de clases de biblioteca aislado. No se requiere ninguna descarga manual. Si la biblioteca no se puede resolver, Verité se desactiva a sí mismo en lugar de funcionar sin almacenamiento, así que vigila la consola en el primer arranque.

La base de datos se ejecuta en modo de archivo embebido sin socket de red. Se describe con más detalle en la página de [Privacidad y datos](page:privacy).

## Dependencias opcionales

Verité declara cuatro dependencias opcionales:

```yaml
softdepend: [floodgate, PlaceholderAPI, LuckPerms, Skript]
```

Una dependencia opcional nunca es obligatoria. Cuando uno de estos plugins está presente, el servidor lo carga antes que a Verité para que la característica correspondiente pueda activarse. Cuando está ausente, Verité funciona con normalidad y la característica simplemente no existe.

| Plugin | Lo que activa |
| --- | --- |
| Floodgate | Mejora la gestión de los jugadores de Bedrock que entran a través de Floodgate. |
| PlaceholderAPI | Expone el estado de vanish a otros plugins como placeholders bajo el identificador `verite`. Cuando PlaceholderAPI está ausente, los placeholders nunca se registran. |
| LuckPerms | Suministra los pesos de grupo para la moderación consciente de rango, para que el personal no pueda castigar a rangos iguales o superiores. Esto se controla con `use.rank.weights` en la sección de moderación de la configuración. Los operadores siempre se tratan como el rango más alto. |
| Skript | Hace que la sintaxis del filtro de chat de Verité esté disponible para los scripts automáticamente. Consulta la guía de [Integración con Skript](page:developers/skript). |

!!! note "Sistemas de chat personalizados"
    Si otro plugin intercepta y entrega el chat por sí mismo, es posible que Verité nunca vea el mensaje para filtrarlo. La guía de [Integración de chat personalizado](page:developers/wiring) explica cómo pasar los mensajes por Verité en ese caso.

## Primer arranque

La primera vez que Verité se carga, prepara su propia carpeta de datos en `plugins/Verite/`. Durante este primer arranque:

- Crea la carpeta de datos del plugin.
- Abre la base de datos H2 embebida (`verite.mv.db`) en esa carpeta, creándola si no existe.
- Escribe el `config.yml` por defecto.
- Despliega los recursos del filtro de chat en una subcarpeta `filter/`.
- Registra comandos, listeners e integraciones para cualquier dependencia opcional que esté instalada.

Vigila la consola durante este primer arranque. Confirma que Verité se carga y que no aparecen advertencias ni errores que apunten a un problema de configuración o compatibilidad.

## Salida de consola

Verité colorea sus mensajes de consola para que los fallos destaquen frente a las líneas de arranque habituales. Los errores se muestran en rojo, los aciertos en verde y los recuentos en el color de marca de Verité. Todos los mensajes llevan el prefijo `[Verité]`.

El color sólo se añade cuando la consola puede mostrarlo. Verité comprueba, en este orden:

| Comprobación | Efecto |
| --- | --- |
| `NO_COLOR` está definida (con cualquier valor) | El color se desactiva. Es el estándar [NO_COLOR](https://no-color.org/), respetado por muchas herramientas de línea de comandos. |
| `TERM` es `dumb` | El color se desactiva. |
| Windows sin un terminal compatible con ANSI | El color se desactiva, salvo que se detecte Windows Terminal o ANSICON. |
| Cualquier otro caso | El color se activa. |

Cuando el color está desactivado, los mensajes se escriben como texto plano, sin dejar códigos de escape, de modo que los archivos de registro siguen siendo legibles.

Dos propiedades del sistema anulan la detección si necesita forzar un resultado:

```
-Dverite.console.colour=false
-Dverite.console.truecolour=false
```

La primera desactiva (o activa) el color por completo. La segunda mantiene el color pero baja de 24 bits a la paleta básica de 16 colores, lo que conviene probar si su consola muestra caracteres extraños en lugar de color.

## Módulos

Verité está construido a partir de tres módulos, cada uno alternado de forma independiente en `config.yml`. Los tres están activados por defecto. Desactiva un módulo estableciendo su flag `enabled` en `false`; el resto del plugin sigue funcionando.

| Módulo | Clave de configuración | Propósito |
| --- | --- | --- |
| Veritédoux | `chat.filter.enabled` | Filtrado de chat y comprobaciones de contenido. |
| Veritésauver | `moderation.enabled` | Moderación, castigos e inteligencia de cuentas. |
| Veritévoiler | `vanish.enabled` | Vanish del personal. |

```yaml
chat.filter:
  enabled: true

moderation:
  enabled: true

vanish:
  enabled: true
```

## Actualización automática de la configuración

Cuando Verité se actualiza, puede añadir nuevas claves a tu `config.yml` existente para que no pierdas tus ajustes. Esto se controla en la sección `general`:

```yaml
general:
  auto.update.config: true
```

Con esto activado, las nuevas claves de configuración añadidas en una versión posterior se fusionan en tu archivo automáticamente. Esto no omite las actualizaciones del tokenizador, que se gestionan por separado.

Los archivos de recursos del filtro de chat (los archivos `.eve`) tienen su propio interruptor, que está desactivado por defecto:

```yaml
chat.filter:
  auto.update.eve: false
```

!!! warning "Entradas de filtro personalizadas"
    Cuando `auto.update.eve` está activado, los archivos `.eve` se reemplazan por versiones actualizadas al añadirse nuevas entradas, y cualquier entrada personalizada que hayas añadido se sobrescribe o se descarta. Déjalo desactivado si mantienes tus propias entradas.
