# 🔰| Inicio

El panel web es el lugar donde se administran los servidores, diálogos, NPCs y contenido que luego será sincronizado por el plugin dentro de Minecraft.

Desde el panel podés crear conversaciones, editar nodos, publicar cambios y conectar el contenido con uno o varios servidores mediante API keys.

### Acceso al panel

El panel web está disponible en:

```txt
https://nrt.mstudiosmc.online
```

Para ingresar necesitás:

* Nombre de usuario administrador.
* Clave privada de login.

La clave de login normalmente empieza con:

`nrt_login_`

Esta clave es solo para acceder al panel web. No debe usarse en el config.yml del plugin.

***

### Pantalla principal

Al iniciar sesión, el panel muestra el entorno de administración del servidor seleccionado.

Desde ahí podés trabajar con:

* Servidores.
* API keys.
* Diálogos.
* Editor visual.
* Publicación de contenido.
* Sincronización con el plugin.

***

### Servidores

Un servidor representa una instalación o entorno de Minecraft conectado al backend.

Cada servidor tiene sus propias claves y diálogos publicados.

Esto permite separar contenido entre distintos servidores, por ejemplo:

* Survival.
* RPG.
* Lobby.
* Testing.
* Producción.

***

### Selector de servidor

Si tu cuenta tiene permisos para administrar más de un servidor, podés cambiar el servidor activo desde el selector del panel.

Al cambiar de servidor, el panel carga los diálogos correspondientes a ese servidor.

Esto sirve para mantener separado el contenido de cada modalidad o red.

***

### API keys

El panel maneja claves privadas para conectar las distintas partes del sistema.

Hay dos tipos importantes:

#### Login key

La login key sirve para acceder al panel web como administrador.

Suele tener este formato:

`nrt_login_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`

Esta clave no debe pegarse dentro del plugin.

#### Plugin API key

La plugin API key sirve para que el plugin Minecraft pueda comunicarse con el backend.

Suele tener este formato:

`nrt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`

Esta es la clave que se coloca en:

`backend: api-key: "TU_PLUGIN_API_KEY"`

### Crear un diálogo

Un diálogo es una conversación asociada a un NPC de Citizens.

Para crear uno:

1. Entrá al panel web.
2. Seleccioná el servidor correcto.
3. Creá un nuevo diálogo.
4. Asigná el ID del NPC.
5. Definí un nombre para identificarlo.
6. Agregá el nodo inicial.
7. Escribí el mensaje del NPC.
8. Agregá opciones de respuesta.
9. Guardá los cambios.
10. Publicá el diálogo.

***

### ID del NPC

Cada diálogo debe estar asociado al ID del NPC dentro de Citizens.

Para ver el ID de un NPC en Minecraft, seleccioná el NPC y usá:

`/npc info`

Luego copiá ese ID en el diálogo correspondiente dentro del panel web.

Si el ID no coincide, el plugin no sabrá qué conversación debe abrir para ese NPC.

***

### Editor visual

El editor visual permite construir conversaciones por nodos.

Cada nodo representa un momento de la conversación.

Un nodo puede tener:

* Texto del NPC.
* Opciones de respuesta.
* Acciones al seleccionar una opción.
* Condiciones.
* Saltos hacia otros nodos.
* Cierre de conversación.

***

### Nodos

Los nodos son las partes internas de una conversación.

Un diálogo simple puede tener un solo nodo:

`NPC: Hola, aventurero. Jugador: Hola.`

Un diálogo más avanzado puede tener varios nodos conectados:

`Inicio → Pregunta → Respuesta → Recompensa → Fin`

### Opciones

Las opciones son las respuestas que el jugador puede elegir.

Ejemplo:

`1. ¿Quién eres? 2. ¿Tienes una misión? 3. Adiós.`

Cada opción puede ejecutar una acción diferente.

### Acciones

Las acciones definen qué ocurre cuando el jugador selecciona una opción.

Algunos ejemplos:

* Mostrar un mensaje.
* Ir a otro nodo.
* Permanecer en el nodo actual.
* Cerrar la conversación.
* Ejecutar una acción configurada.
* Evaluar condiciones.

Ejemplo de flujo:

`Opción: "Quiero una misión"`&#x20;

`Acción: Ir al nodo "mision_inicio"`

### Condiciones

Las condiciones permiten controlar si una opción o camino está disponible para el jugador.

Se pueden usar para crear diálogos más inteligentes, por ejemplo:

* Mostrar una opción solo si el jugador tiene permiso.
* Mostrar una respuesta distinta si ya completó una etapa.
* Bloquear una opción si no cumple requisitos.
* Crear caminos alternativos.

### Publicar diálogos

Guardar un diálogo no siempre significa que el plugin ya lo tenga disponible.

Después de editar un diálogo, tenés que publicarlo para que forme parte del contenido sincronizable.

Flujo recomendado:

1. Editar diálogo.
2. Guardar cambios.
3. Revisar el flujo.
4. Publicar.
5. Ejecutar /nrt sync en Minecraft.
6. Probar con el NPC.

### Sincronización con el plugin

El plugin obtiene los diálogos publicados desde el backend.

La sincronización puede ocurrir de dos formas:

#### Sync manual

Desde Minecraft:

`/nrt sync`

#### Sync automático

Según la configuración del plugin:

<details>

<summary>backend: <br>  sync: <br>    auto-refresh-enabled: true <br>    auto-refresh-minutes: 5</summary>

</details>

Si auto-refresh-enabled está en true, el plugin revisará automáticamente si hay contenido nuevo cada cierta cantidad de minutos.

### Cache local

Cuando el plugin sincroniza diálogos, guarda una copia local.

Por defecto:

`plugins/NPC-RealTalking/cache/dialogues.json`

Esta cache permite que el plugin pueda seguir usando los últimos diálogos sincronizados si el backend no responde temporalmente.

### Flujo recomendado de trabajo

Para trabajar de forma ordenada:

1. Crear o editar el diálogo desde el panel.
2. Asociarlo al ID correcto del NPC.
3. Guardar cambios.
4. Publicar el diálogo.
5. Sincronizar desde Minecraft.
6. Probar la conversación in-game.
7. Ajustar el diálogo si hace falta.
8. Volver a publicar.

```mermaid
flowchart TD
    A[Crear diálogo en el panel] --> B[Asignar ID del NPC]
    B --> C[Editar nodos y opciones]
    C --> D[Guardar cambios]
    D --> E[Publicar diálogo]
    E --> F[Ejecutar /nrt sync]
    F --> G[Probar en Minecraft]
    G --> H{¿Está correcto?}
    H -->|Sí| I[Dejar publicado]
    H -->|No| C

```

### Buenas prácticas

* Usá nombres claros para los diálogos.
* Verificá siempre el ID del NPC antes de publicar.
* Probá los diálogos en un servidor de test si son complejos.
* Publicá solo cuando el flujo esté listo.
* Usá nodos pequeños y fáciles de mantener.
* Evitá crear conversaciones demasiado largas en un solo nodo.
* Guardá una estructura clara para misiones, tutoriales o NPCs importantes.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wikinrt.mstudiosmc.online/panel-web/or-inicio.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
