⚔️ GM Panel
Panel GM
Cargando...
🌐 Ver web 📋 Acreditación
⚔️ Inscritos por bando
⚡ Acciones rápidas
🕐 Últimas inscripciones
Jugadores
Gestión de participantes
Lista
# Nombre Bando Equipo Rol Email Teléfono Pago Check-in
Equipos
Ordenar por:
Misiones
Marcador
Clasificación
Pos.EquipoJugadoresMisionesPuntosAjuste
Usuarios del panel
UsuarioNombreRolPermisos GMEstadoÚltimo acceso
Conf. Misión
Datos del evento, sinopsis y límites
🔒 Control de inscripciones
Abiertas
Cuando estén cerradas, el formulario de la web pública mostrará el mensaje de abajo y no aceptará nuevas inscripciones.
🎯 Misión / Sinopsis
📍 Datos del campo
En Google Maps: Compartir → Insertar un mapa → copia la URL del atributo src del iframe.
En Google Maps: Compartir → Copiar enlace. Esta URL abre Google Maps en el navegador o móvil.
Normas / FAQ
Normas de la partida y preguntas frecuentes
📋 Normas
❓ FAQ — Preguntas frecuentes
Imágenes
Galería, misión y emblemas
Ajustes Web
Configuración de la web pública y comunicaciones
🚧 Modo mantenimiento
Activar modo mantenimiento
La web pública muestra un mensaje de mantenimiento en lugar del contenido normal
🎨 Identidad y apariencia
Identidad visual
Aparece en la cabecera de la web pública
Icono de la pestaña del navegador
Pega URLs directas. Puedes subir los archivos a uploads/ y usar la ruta relativa.
📝 Texto de la sección inscripción
📐 Secciones de la web pública
Controla qué secciones se muestran y en qué orden. Usa las flechas ▲▼ para reordenar y el checkbox para mostrar u ocultar.
⚖️ Textos legales y footer
Textos legales, créditos y disclaimer
💬 Botón de contacto
Contacto flotante
Aparece como botón flotante en la web pública. El número de WhatsApp solo se carga al hacer clic — no queda expuesto en el HTML.
Incluye el +34. Solo se revela al hacer clic.
📧 Comunicaciones por email
Configuración de email
🔲 QR Check-in
Incluir QR en el email de confirmación
Cada jugador recibirá un QR personal en su email de inscripción. El GM lo escanea con el móvil el día del evento para hacer el check-in desde el panel.
✉️ Plantillas de email
🔗 Contenido y recursos
👥 ¿Quiénes somos?
Enlaces de interés
Aparecen en la sección Recursos de la web pública
IconoEtiquetaURLOrdenEstado
📦 Programas
Archivos y aplicaciones web disponibles para el equipo
ArchivoTamañoSubido porFecha
Cargando...
🌐 Programas Web
Aplicaciones y herramientas web del equipo
Cargando ficha del jugador...
📈 Estadísticas
Resumen de inscripciones y participación
📅 Inscripciones por día
🔮 Previsión de cierre
🏷️ Desglose por bando
BandoInscritosPagadosPendiente pagoCheck-in% ocupación
🌐 Estadísticas de visitas↗ Abrir Umami
Log de actividad
Inscripciones, pagos, check-in y bajas — registro auditado
Fecha y horaUsuarioJugadorAcciónNota
Historial de operaciones
Registro de partidas anteriores — editable y con galería
✏️ Editar operación
Manual de uso
Guía completa para Administradores y GM / Árbitros
🎭 Roles de usuario del panel

El panel tiene dos tipos de usuarios: Administrador y GM / Árbitro.

FunciónAdministradorGM / Árbitro
Ver jugadores y equipos
Añadir / editar jugadoresSegún permiso
Modificar pagos (slider)Según permiso
Gestionar misionesSegún permiso
Ajustar marcadorSegún permiso
Ver / editar normasSegún permiso
Subir imágenesSegún permiso
Conf. Misión, Ajustes Web, Usuarios, Reset…✗ (solo Admin)

💡 Los permisos de cada GM se configuran en Usuarios → Editar. Un GM sin permisos específicos puede ver la información pero no modificarla.

👤 Jugadores

La pestaña principal del panel. Muestra todos los inscritos con sus datos y estado de pago.

Filtros disponibles
  • Buscar — filtra por nombre, alias o email en tiempo real.
  • Todos los bandos — filtra por bando asignado.
  • Todos / Pagado / Pendiente — filtra por estado de pago.
  • Inscritos / Lista de espera — alterna entre la lista principal y la lista de espera.
Ordenación

Haz clic en cualquier cabecera de columna (Nombre, Bando, Equipo, Rol, Pago) para ordenar. Un segundo clic invierte el orden. Por defecto se ordena por Bando → Equipo → Nombre.

Ver ficha de un jugador

Haz clic en el nombre del jugador para abrir su ficha completa con todos los datos. Desde ahí puedes Editar sus datos o Eliminar la inscripción.

Añadir jugador manualmente

Usa el botón + Añadir jugador (requiere permiso). Rellena nombre, alias, email, teléfono, bando y rol. El pago se gestiona por separado con el slider.

💡 La columna Equipo muestra el nombre del grupo cuando varios jugadores se inscriben juntos. Los jugadores individuales muestran «—».

💰 Gestión de pagos

Los pagos son en efectivo el día del evento. El panel permite registrar manualmente quién ha pagado.

Marcar como pagado

Desliza el toggle verde en la columna Pago de la lista. No requiere contraseña.

Desmarcar un pago (revertir)

Desliza el toggle para desactivarlo. Se pedirá tu contraseña de admin/GM y una nota opcional con el motivo. La acción queda registrada en el Log Pagos.

Log de pagos

En la pestaña Log Pagos se registra automáticamente cada cambio de estado: quién lo hizo, cuándo, sobre qué jugador y la nota si la había. No se puede editar ni borrar.

💡 El estado de pago no se puede modificar desde la ficha de edición del jugador, solo desde el slider. Esto garantiza que siempre quede registro.

⏳ Lista de espera

Cuando la partida alcanza el número máximo de jugadores configurado, se activa automáticamente la lista de espera (si está habilitada en Conf. Misión).

Cómo funciona para el jugador
  1. El formulario de inscripción muestra el aviso de «Partida completa» con el botón «Apuntarme a la lista de espera».
  2. El jugador rellena el formulario normalmente y recibe un email con su posición en la lista.
  3. Cuando se libera una plaza (por cancelación), el primer jugador de la lista recibe un email automático confirmando que tiene plaza.
Cómo verlo en el panel

En la pestaña Jugadores, usa el filtro «Lista de espera» para ver los jugadores en cola. Si hay alguno, aparece el stat card Lista espera N en la cabecera.

💡 Para activar o desactivar la lista de espera ve a Conf. Misión → Control de inscripciones.

✕ Cancelaciones por el jugador

Los jugadores pueden cancelar su propia inscripción sin contactar con el GM.

Cómo cancela el jugador
  1. El email de confirmación de inscripción incluye un enlace de cancelación único.
  2. También pueden acceder al Portal del jugador (botón «🎖 Consultar mi inscripción» en el footer de la web pública) y usar el botón «✕ Cancelar mi inscripción».
  3. Al cancelar se envía email de confirmación al jugador y, si había lista de espera, se promueve automáticamente al siguiente.
Cancelar desde el panel (como admin)

Abre la ficha del jugador → ✕ Eliminar. Esto elimina completamente al jugador de la BD (no queda como «cancelado»).

💡 Los jugadores cancelados no aparecen en la lista ni cuentan para las estadísticas. Su posición se libera automáticamente.

🏷️ Equipos y bandos

Los bandos son los grandes grupos de la partida (OTAN, OPFOR, Civiles…). Se crean desde la pestaña Equipos.

Crear o editar un bando
  • Nombre y Facción — nombre interno y etiqueta de facción (aparecen en la web pública).
  • Máx. jugadores totales — límite de plazas en este bando. 0 = sin límite.
  • Color — identifica visualmente el bando en el panel.
  • Sinopsis — texto que aparece en la tarjeta del bando en la web pública.
  • Foto / Escudo — imagen opcional. Aparece en la tarjeta del bando. Solo disponible al editar (guarda primero para activar esta opción).
Equipo (grupo de inscripción)

Cuando varios jugadores se inscriben juntos desde la pestaña «👥 Equipo» del formulario público, se agrupan bajo un nombre de equipo. Este nombre aparece en la columna Equipo de la lista de jugadores.

⚔️ Roles por bando

Cada bando puede tener sus propios roles disponibles con límite de plazas por rol.

Configurar roles en un bando
  1. Ve a Equipos → Editar el bando.
  2. En la tabla de roles, activa el checkbox del rol que quieres habilitar.
  3. Pon el máximo de plazas para ese rol (0 = sin límite).
  4. Guarda.
Efecto en la web pública

Cuando un jugador elige un bando en el formulario, el selector de rol muestra solo los roles activos de ese bando con el conteo inscritos/máximo. Los roles completos aparecen desactivados y no se pueden seleccionar.

💡 Si un bando no tiene roles configurados, el selector muestra todos los roles globales sin filtro.

🎯 Misiones

Sistema de gestión de objetivos durante la partida. Cada misión tiene un estado que el GM puede cambiar en tiempo real.

Estados de una misión
EstadoDescripciónAcción disponible
PendienteMisión creada, aún no iniciada▶ Iniciar
En cursoMisión activa, temporizador corriendo✓ Completada / ✕ Fallida
CompletadaMisión superada, puntos otorgados↺ Reiniciar
FallidaMisión no superada, sin puntos↺ Reiniciar
Temporizador

Si la misión tiene un tiempo límite configurado (en minutos), al iniciarla arranca una cuenta atrás visible en la tarjeta. Cuando llega a 0 se marca en rojo.

💡 Solo las misiones Completadas suman puntos al marcador del bando.

🏆 Marcador

Clasificación en tiempo real de todos los bandos por puntuación total.

Cómo se calcula la puntuación

Puntuación total = puntos de misiones completadas + ajuste manual

Ajuste manual

Usa los botones −50, −10, +10, +50 para ajustar la puntuación manual de un bando (bonificaciones, penalizaciones, decisiones del director de juego). Requiere permiso de marcador.

💡 El ajuste manual se puede reiniciar con el botón «Reiniciar manual» sin afectar a los puntos de misiones.

⚙️ Conf. Misión (solo Admin)
Control de inscripciones

Abre o cierra las inscripciones con un solo clic. El estado se muestra en verde (abiertas) o rojo (cerradas). Puedes personalizar el mensaje que ven los participantes cuando están cerradas.

Datos del evento

Nombre del evento, fecha, hora, campo, precio y número máximo de jugadores. Todos aparecen en la web pública automáticamente.

🎯 Misión / Sinopsis

Título opcional y texto de la sinopsis de la partida. Cada salto de línea genera un párrafo nuevo. Si el campo de sinopsis está vacío, la sección «Misión» no aparece en la web pública.

📍 Datos del campo

Dos URLs de Google Maps distintas:

  • URL embed — para el mapa embebido en la web. En Google Maps: Compartir → Insertar un mapa → copia el atributo src del iframe.
  • URL de navegación — para el botón «📍 Cómo llegar». En Google Maps: Compartir → Copiar enlace.

El campo Notas del campo es solo visible en el panel — nunca aparece en la web pública.

🌐 Ajustes Web (solo Admin)

Organizado en cuatro grupos:

🎨 Identidad y apariencia
  • Identidad visual — URL del logotipo (cabecera web) y del favicon (icono de pestaña). Déjalos vacíos para usar el texto por defecto.
  • 📐 Secciones web — reordena y muestra/oculta las secciones de la web pública. Ver 📐 Secciones de la web.
⚖️ Textos legales y footer
  • Términos y condiciones — texto que los participantes aceptan al inscribirse (modal).
  • Aviso legal — enlace en el footer que abre un modal.
  • Política de privacidad — ídem.
  • Disclaimer footer — texto visible directamente en el footer, sin modal.
  • Créditos — texto visible en el footer (organización, fotografía, etc.).

💡 Todos estos textos admiten saltos de línea — cada línea se convierte en un párrafo.

📧 Comunicaciones por email
  • Cuenta Gmail y App Password — necesarios para el envío automático de emails.
  • Nombre del remitente — el que verán los participantes en su bandeja de entrada.
  • Emails de notificación — separados por coma, reciben un aviso en cada nueva inscripción.
  • Plantillas de email — personaliza el contenido de los emails automáticos.

💡 App Password de Google: Mi cuenta → Seguridad → Verificación en dos pasos → Contraseñas de aplicaciones.

🔗 Contenido y recursos
  • 👥 ¿Quiénes somos? — título, texto (cada línea = párrafo) y foto opcional del equipo organizador. Si el texto está vacío, la sección no aparece en la web.
  • Enlaces de interés — lista de recursos con icono, etiqueta y URL. Aparecen en la sección «Recursos» de la web.
🖼️ Imágenes

Gestión de todas las imágenes que aparecen en la web pública. Máximo 5 MB por imagen. Formatos: JPG, PNG, WebP, GIF, ICO.

💡 SVG no está permitido por razones de seguridad.

Slots disponibles
SlotDónde aparece
Galería 1–8Sección «Galería» de la web pública en grid
Misión — Foto 1–3Bajo la sinopsis de la misión
Mapa del campoSección «Campo», lateral derecho

Los escudos/fotos de cada bando se suben desde Equipos → Editar → Subir imagen.

📋 Normas

Lista de reglas de la partida que aparecen en la sección «Normas» de la web pública.

  • Cada norma tiene título, descripción, número de orden y estado (activa/oculta).
  • Las normas ocultas no aparecen en la web pública pero se conservan en el panel.
  • El orden de aparición se controla con el campo «Orden».
📧 Email masivo (solo Admin)

Envía un mensaje personalizado a todos los inscritos o a un subgrupo con editor de texto enriquecido.

Filtros de destinatarios
  • Filtro de estado — Todos / Solo confirmados (pago realizado) / Solo pendientes de pago
  • Filtro de bando — Todos los bandos o un bando específico

Los dos filtros se combinan — por ejemplo "Pendientes de pago del Frente del Awtäd". El contador se actualiza en tiempo real al cambiar cualquier filtro.

Editor de texto

Editor enriquecido con barra de herramientas: negrita, cursiva, subrayado, listas ordenadas y sin ordenar, enlaces y limpiar formato. El mensaje se envía con el diseño oscuro del sistema.

Botones de acción
  • 👁 Vista previa — muestra un modal con el email exactamente como lo recibirá el jugador, incluyendo diseño y colores
  • 🧪 Email de prueba — envía el email solo a tu cuenta de administrador para verificarlo antes de enviarlo a todos. Tu usuario debe tener email configurado en la pestaña Usuarios
  • 📧 Enviar — envía a todos los destinatarios del filtro. Pide confirmación antes de enviar

El email se personaliza automáticamente con el nombre de cada participante. Se añade un pequeño retraso entre envíos para respetar los límites de Gmail.

⚠️ Esta acción no se puede deshacer. Usa siempre la vista previa y el email de prueba antes de enviar masivamente.

⬇️ Exportar lista de jugadores

Tres formatos de exportación disponibles en la cabecera de la pestaña Jugadores:

BotónFormatoIdeal para
⬇ CSVTexto separado por comasImportar en otras herramientas
⬇ Excel.xlsx con formatoEdición y análisis en Excel / LibreOffice
🖨 PDFA4 horizontal imprimibleLlevar al campo para control de asistencia

Los tres exportan con el mismo orden que la tabla (Bando → Equipo → Nombre) e incluyen el nombre del evento y la fecha.

🎖️ Portal del jugador

Herramienta para que los participantes consulten su inscripción sin necesidad de contactar con el GM.

Cómo accede el jugador
  • Botón «🎖 Consultar mi inscripción» en el footer de la web pública.
  • Enlace directo incluido en el email de confirmación de inscripción.
  • La URL con el token personal (?player=TOKEN) se puede guardar en favoritos.
Qué puede ver y hacer el jugador
  • Sus datos: nombre, alias, bando asignado, rol, estado de pago, fecha y campo.
  • Si está en lista de espera, su posición en la cola.
  • Botón para cancelar su propia inscripción.
  • Enlace a Google Maps si está configurado.
📂 Historial de partidas (solo Admin)

Cada vez que se realiza un Reset de BD, el sistema guarda automáticamente una instantánea completa de la partida antes de borrar.

Qué se guarda en cada snapshot
  • Lista completa de jugadores y sus datos.
  • Equipos / bandos con su configuración.
  • Misiones y su estado final.
  • Configuración del evento.
Descargar un historial

Desde la pestaña 📋 Historial, cada registro tiene dos botones: ⬇ JSON (datos completos en formato técnico) y ⬇ Excel (lista de jugadores formateada).

💡 Al hacer Reset puedes poner un nombre descriptivo al snapshot (ej: «Op. Litio — Marzo 2027») para identificarlo fácilmente en el futuro.

🗑️ Resetear base de datos (solo Admin)

⚠️ Esta acción es irreversible. Úsala solo entre partidas.

Qué se elimina
  • Todos los jugadores inscritos y sus datos personales.
  • Log de pagos.
  • Puntuación manual de equipos.
  • Estado de misiones (vuelven a «Pendiente»).
Qué se conserva
  • Equipos y bandos.
  • Misiones (solo se reinicia su estado).
  • Toda la configuración del evento.
  • Normas, imágenes, enlaces y plantillas de email.
  • Usuarios del panel.

💡 Antes de hacer Reset, el sistema guarda automáticamente un snapshot en el Historial. Ponle un nombre descriptivo para encontrarlo fácilmente.

👥 Usuarios del panel (solo Admin)

Gestión de quién puede acceder al GM Panel y con qué permisos.

Crear un GM / Árbitro
  1. Ve a Usuarios → + Nuevo usuario.
  2. Elige rol GM / Árbitro.
  3. Activa los permisos que necesita (jugadores, pagos, misiones, marcador, normas, imágenes).
  4. Añade su email para que pueda usar la recuperación de contraseña.
Recuperación de contraseña

Desde la pantalla de login, el usuario puede solicitar un enlace de recuperación introduciendo su usuario o email. El enlace expira en 1 hora.

💡 Para seguridad, usa contraseñas de al menos 12 caracteres. El App Password de Gmail es distinto a tu contraseña de Google.

✅ Check-in y QR de acceso rápido

Hay dos formas de registrar la llegada de un jugador al campo: manualmente desde el panel, o escaneando su QR personal con el móvil.

① Generar el QR de un jugador

Abre la ficha de cualquier jugador (clic en su nombre) y pulsa el botón 🔲 QR. Se abre un modal con el código QR listo para mostrar o imprimir.

👤 Ficha del jugador
Bkily2 "Billy"
Frente del Awtäd · Apoyo
✏ Editar 📍 Check-in 🔲 QR ◀ pulsa aquí ✕ Eliminar
② El jugador lleva su QR

El QR también aparece en el modal 🎖 Mi inscripción de la web pública, así como en el email de confirmación si está activado en Ajustes Web. El jugador puede mostrarlo desde su móvil.

🎖 Mi inscripción — web pública
Bkily2 — Frente del Awtäd
🔲 Tu QR de check-in
El organizador lo escaneará el día del evento
③ El GM se loguea en el móvil

El día del evento, cada GM abre el panel en su móvil (billyonenas.synology.me/milsim/) e inicia sesión una sola vez. A partir de ahí la sesión queda activa en ese navegador.

💡 Usa siempre el mismo navegador para loguearte y para escanear. Si usas Chrome para el login, escanea también con Chrome.

④ Escanear el QR

El GM apunta la cámara al QR del jugador. Se abre automáticamente la pantalla de check-in en el panel con la ficha completa del jugador.

📱 Pantalla de check-in (móvil GM)
Frente del Awtäd
Bkily2 "Billy"
👥 Equipo: Los Indomables
Frente del Awtäd · Apoyo
✅ Registrar llegada
💰 Marcar como pagado
⏱ ¿Pasó por el crono?
Sin acciones registradas
⑤ Acciones disponibles
BotónQué haceSe deshabilita si...
✅ Registrar llegadaMarca el check-in con la hora exacta y lo registra en el logYa tiene check-in
💰 Marcar como pagadoConfirma el pago del jugadorYa está marcado como pagado
⏱ ¿Pasó por el crono?Anota en las notas del jugador que ha pasado por el cronógrafoYa tiene crono registrado
📱 Después de registrar
✅ Ya registrado (14:32)
💰 Pago confirmado
⏱ ¿Pasó por el crono?
✅ Presente · 💰 Pagado · ⏱ Crono
Si el GM no está logueado

Al escanear el QR aparece la pantalla de login. Una vez logueado, redirige automáticamente a la ficha del jugador — no hace falta volver a escanear.

Seguridad

El QR apunta al panel de administración, que requiere credenciales. Si alguien ajeno al evento escanea el código, solo verá la pantalla de login. Sin usuario y contraseña no accede a nada.

Check-in manual (sin QR)

También puedes marcar la llegada directamente desde la tabla de jugadores — columna Check-in — o desde la ficha del jugador con el botón 📍 Check-in. Una vez marcado se vuelve verde mostrando la hora exacta.

💡 Los check-ins y pagos quedan registrados en el 📊 Log de actividad con la hora y el usuario que los marcó. El paso por el cronógrafo queda anotado en las notas del jugador. Las tres acciones se registran en tiempo real al hacer el check-in con el QR.

📊 Log de actividad

Registro auditado e inmutable de todas las acciones relevantes sobre los jugadores. Visible para Administradores y GMs.

Filtros disponibles
FiltroQué muestra
TodosToda la actividad mezclada, ordenada por fecha descendente
💰 PagosConfirmaciones de pago y reversiones (con motivo si lo hay)
✅ Check-inRegistros de llegada al campo y deshechos, con hora exacta
👤 Altas / BajasInscripciones (web y manual), lista de espera, bajas
Qué se registra automáticamente
  • 📝 Inscripción desde la web pública (individual y en equipo)
  • ⏳ Apunte en lista de espera
  • ✏ Jugador añadido manualmente desde el panel
  • ✓ Pago marcado como confirmado
  • ✗ Pago desmarcado (incluye el motivo introducido)
  • ✅ Check-in registrado (incluye la hora exacta)
  • ↩ Check-in deshecho
  • 🗑 Jugador eliminado (incluye el motivo si se introdujo)

💡 El log no se puede editar ni borrar. Sí se borra al hacer Resetear BD.

📐 Secciones de la web pública

Desde Ajustes Web → Secciones de la web pública puedes controlar qué partes de la web ven los participantes y en qué orden aparecen.

Secciones configurables

Misión / Sinopsis · Bandos / Facciones · Formulario de inscripción · Normas · Campo y mapa · Galería de fotos · Recursos / Enlaces.

Cómo cambiar el orden

Usa los botones ▲ ▼ de cada sección para subirla o bajarla en la lista. El orden se refleja en la web pública al guardar.

Mostrar u ocultar una sección

Desmarca el checkbox Visible de la sección que quieras ocultar. La sección dejará de aparecer en la web pero sus datos se conservan.

💡 La sección Misión / Sinopsis solo aparece si tiene contenido configurado, independientemente de si está marcada como visible.

💡 Pulsa Guardar para que los cambios se apliquen en la web pública.

👥 ¿Quiénes somos?

Sección opcional de la web pública para presentar al equipo organizador. Se configura desde Ajustes Web → 🔗 Contenido y recursos → 👥 ¿Quiénes somos?

Campos disponibles
  • Título — por defecto «¿Quiénes somos?». Puedes cambiarlo por el nombre de tu organización.
  • Texto — descripción del equipo. Cada línea del textarea se convierte en un párrafo independiente en la web.
  • URL de la foto — opcional. Si se rellena, aparece a la derecha del texto en desktop y debajo en móvil.
Visibilidad

La sección solo aparece en la web si el campo Texto tiene contenido. Si está vacío, la sección se oculta automáticamente aunque esté marcada como visible en el reordenador de secciones.

💡 Para activarla, ve también a Ajustes Web → 📐 Secciones web y marca «¿Quiénes somos?» como visible.

📦 Programas

Pestaña para subir y gestionar archivos descargables accesibles por Admin y GMs. Los archivos se almacenan en la carpeta programs/ del servidor con nombre aleatorio y no son accesibles directamente desde el navegador — solo a través del panel autenticado.

Subir un archivo

Pulsa ⬆ Subir archivo y selecciona el fichero. Mientras se sube aparece una barra de progreso. Formatos permitidos: RAR, ZIP, 7Z, EXE, PDF, DOCX, XLSX, TXT, APK, DMG, MSI. El límite máximo depende de la configuración de PHP de tu servidor.

Descargar

Botón ⬇ Descargar en cada archivo. La descarga pasa por la API — no hay URL directa pública.

Eliminar

Botón con confirmación. Borra el archivo del disco y de la base de datos.

💡 La tabla programs se crea automáticamente en la primera visita a la pestaña.

🎨 Identidad visual

Disponible en Ajustes Web → 🎨 Identidad y apariencia → Identidad visual.

Logo

Aparece en la cabecera de la web pública. Puedes pegar una URL externa o pulsar el botón 📂 para subir el archivo directamente al servidor. Se guarda en uploads/.

Favicon

Icono que aparece en la pestaña del navegador (PNG 32×32 o ICO recomendado). Misma lógica — URL o subida directa con 📂.

💡 Tras subir la imagen se rellena la URL automáticamente — pulsa Guardar para que se aplique en la web.

🔗 Enlaces de interés

Disponible en Ajustes Web → 🔗 Contenido y recursos → Enlaces de interés.

Icono del enlace

Tres opciones para el icono de cada enlace:

  • Emoji — escribe directamente: 🎮, 📺, 🔗...
  • URL externa — pega la URL completa de una imagen: https://...
  • Subida directa 📂 — sube la imagen al servidor. Se guarda en uploads/ y el campo se rellena con la ruta relativa automáticamente. Así no se rompe al cambiar de dominio.

El preview del icono se actualiza en tiempo real mientras escribes.

💡 Si usas la subida directa, la ruta queda como uploads/link_icon_xxx.jpg — independiente del dominio.

🖼️ Galería y lightbox

Las fotos de la Galería y las imágenes del Briefing (Misión) en la web pública se pueden ampliar a pantalla completa con un lightbox.

Cómo funciona
  • Haz clic en cualquier foto — se abre a pantalla completa con fondo oscuro.
  • Navega con los botones ‹ › o las teclas ← → del teclado.
  • Cierra con el botón , haciendo clic fuera de la imagen o pulsando ESC.
Subir fotos

Las imágenes se gestionan desde la pestaña Imágenes. La galería admite hasta 8 fotos (slots gallery_1 a gallery_8). Las fotos del briefing son 3 slots (mission_1 a mission_3).

⏱ Contador regresivo

Aparece automáticamente en el hero de la web pública cuando hay una fecha de evento configurada. Muestra días, horas, minutos y segundos en tiempo real hasta la fecha y hora del evento.

Configuración

Solo necesitas tener la Fecha y la Hora del evento configuradas en Conf. Misión → Datos del evento. El contador aparece solo y desaparece cuando no hay fecha.

Cuando llega el momento

Al alcanzar la fecha y hora configuradas, el contador se sustituye por el mensaje "¡La partida ha comenzado!".

💡 El título grande del hero muestra el Título de la misión si está configurado, o el nombre del evento si no lo está.

📈 Estadísticas

Pestaña visible para Admin y GMs con un resumen completo del estado de la partida. Se actualiza pulsando ↺ Actualizar.

KPIs

Fila superior con tarjetas de: Inscritos, Pagados, Pago pendiente, Presentes (si hay check-ins), Lista de espera, Cancelados, Últimas 24h, Últimos 7 días y % de Ocupación (si tienes máximos configurados en los bandos).

📅 Inscripciones por día

Gráfica con barras azules (inscritos por día) y línea verde (acumulado). Si hay un máximo configurado aparece una línea roja punteada indicando el tope.

🔮 Previsión

Calcula automáticamente basándose en el ritmo de los últimos 7 días:

  • Ritmo actual — media de inscripciones por día
  • Previsión el día del evento — jugadores esperados según ese ritmo (verde = llena, naranja = casi, rojo = lejos)
  • Cierre estimado — fecha prevista en que se alcanza el máximo, indicando si es antes o después del evento

💡 Con menos de 4 días de datos aparece un aviso de que la previsión puede no ser representativa. Necesita el máximo de jugadores configurado en los bandos para calcular el cierre estimado.

🏷️ Desglose por bando

Tabla con inscritos, pagados, pendiente de pago, presentes y barra de % de ocupación por cada bando.

🌐 Estadísticas de visitas

Dashboard de Umami Analytics embebido directamente — visitas, páginas vistas, dispositivos y países sin cookies ni RGPD. Botón ↗ Abrir Umami para verlo a pantalla completa.

🔔 Notificaciones en tiempo real

El panel comprueba automáticamente cada 30 segundos si hay nuevas inscripciones, sin necesidad de recargar la página.

Badge en el nav

Cuando llega una inscripción nueva aparece un badge rojo +1 en la pestaña 👤 Jugadores. Al entrar en la pestaña el badge desaparece y la lista se recarga automáticamente.

Notificaciones del navegador

Si el panel está en segundo plano (otra pestaña o ventana minimizada), el navegador lanza una notificación del sistema con el nombre de la partida y el número de inscripciones nuevas. La primera vez pedirá permiso — acepta para recibirlas.

💡 Las notificaciones del navegador solo funcionan si has dado permiso. Si las rechazaste, puedes activarlas desde la configuración del navegador → Notificaciones → tu dominio.

🚧 Modo mantenimiento (solo Admin)

Disponible en Ajustes Web, en la card amarilla de la parte superior.

Qué hace

Al activarlo, la web pública muestra únicamente un mensaje de mantenimiento en lugar del contenido normal — inscripciones, bandos, galería, etc. quedan ocultos. El panel de administración sigue funcionando con normalidad.

Cómo usarlo
  • Activa el switch 🚧 Modo mantenimiento
  • Escribe un mensaje personalizado (opcional) — por defecto: "Estamos realizando tareas de mantenimiento. Volvemos pronto."
  • Pulsa Guardar

💡 Útil para hacer cambios en la configuración sin que los jugadores vean la web a medias.

📋 Vista de acreditación móvil

Página independiente optimizada para móvil, pensada para el día del evento. Accesible desde el botón 📋 Acreditación en la cabecera del panel (se abre en nueva pestaña).

Características
  • Login propio — el GM se loguea una vez y la sesión persiste
  • Barra de estadísticas en tiempo real: inscritos, presentes, pagados, pendientes
  • Lista de jugadores agrupada por bando con contador de presentes por bando
  • Buscador rápido — al escribir filtra por nombre, alias o equipo
  • Tarjeta por jugador con tres botones grandes: ✅ Registrar llegada, 💰 Marcar pago, ⏱ ¿Pasó por el crono?
  • Teléfono con enlace directo a WhatsApp
  • Tema oscuro/claro con persistencia
  • Compatible con QR — si el GM escanea un QR con el móvil y ya está logueado, abre directamente la ficha del jugador

💡 Recomendado tenerla abierta en el móvil del GM durante el evento en lugar del panel completo.

🔒 Protección contra duplicados

El sistema impide que el mismo email o teléfono aparezca dos veces en la lista de inscritos.

Dónde se aplica
  • Inscripción individual desde la web pública
  • Inscripción en equipo desde la web pública — se comprueba cada miembro por separado
  • Añadir jugador manualmente desde el panel
Comportamiento

Si alguien intenta inscribirse con un email o teléfono ya registrado, recibe un mensaje de error claro antes de completar el formulario. Los jugadores cancelados no cuentan — si alguien cancela y quiere reinscribirse puede hacerlo con los mismos datos.

📤 Compartir en redes sociales

La web pública incluye un botón [WhatsApp] COMPARTIR [Instagram] en el hero para facilitar la difusión del evento.

Comportamiento
  • En móvil — abre el menú nativo de compartir del sistema (WhatsApp, Telegram, etc.)
  • En escritorio — copia la URL al portapapeles
Open Graph

La web incluye metadatos Open Graph que controlan cómo se ve el enlace cuando se comparte. Se rellenan automáticamente con el nombre de la misión, fecha, campo e imagen del logo configurado en Ajustes Web. Así cuando alguien comparte el enlace en WhatsApp o Discord aparece una preview con la información del evento.

🏠 Dashboard de inicio

Es la primera pantalla que aparece al entrar al panel. Ofrece un resumen completo del estado del evento de un vistazo.

Contenido
  • Nombre y datos del evento — título, fecha, hora y campo en la cabecera
  • ⏳ Cuenta atrás — días, horas y minutos hasta la partida. Desaparece si no hay fecha configurada
  • KPIs — inscritos vs máximo (% ocupación), pagados y pendientes, lista de espera, inscripciones en las últimas 24h y 7 días
  • Inscritos por bando — barra de ocupación de cada facción con pagados y presentes
  • Acciones rápidas — botones directos a las secciones más usadas. Los botones de admin (Email masivo, Ajustes Web, Conf. Misión) solo son visibles para administradores
  • Últimas 8 inscripciones — nombre, bando, estado de pago y hora. Clicables para abrir la ficha del jugador

El botón ↺ Actualizar recarga todos los datos sin recargar la página.

💡 Accesible también desde el botón 🏠 Inicio del menú de navegación.

❓ FAQ — Preguntas frecuentes

Sección de preguntas frecuentes visible en la web pública en formato acordeón. Se gestiona desde 📋 Normas / FAQ en el panel.

Gestión
  • Añade, edita y elimina preguntas desde la parte inferior de la pestaña Normas / FAQ
  • Cada pregunta tiene un campo Orden para controlar en qué posición aparece
  • Puedes marcar preguntas como Oculta para ocultarlas temporalmente sin eliminarlas
Visibilidad en la web

La sección FAQ se activa y reordena desde Ajustes Web → 📐 Secciones de la web pública, igual que el resto de secciones. Está oculta por defecto — actívala cuando tengas preguntas.

Si está activada pero no hay preguntas activas, la sección y el enlace del menú de navegación se ocultan automáticamente.

📧 Email masivo
Envía un mensaje a todos los inscritos o a un subgrupo
Redactar mensaje
Usa el editor para dar formato. Se añadirá el nombre del operador al principio del email.
ℹ️ Información

El email se enviará de forma personalizada a cada participante, incluyendo su nombre.

Puedes usar negrita, cursiva, listas y enlaces desde la barra del editor.

El email de prueba se envía solo a tu cuenta de administrador.

👁 Vista previa del email
Resetear base de datos
💾 Backup / Restauración
⬇️ Descargar backup
Volcado completo en .sql. Recomendado antes de resetear.
⬆️ Restaurar backup
Sube un archivo .sql generado por esta app. ⚠️ Sobreescribe todos los datos actuales.

⚠️ Zona de peligro

Elimina permanentemente todos los jugadores inscritos y sus datos personales. Reinicia misiones y puntuación. No se puede deshacer.

¿Qué se borra / conserva?
Se elimina:
  • ✗ Jugadores inscritos y sus datos
  • ✗ Log de pagos
  • ✗ Puntuación manual de equipos
  • ✗ Estado de misiones (→ pendiente)
Se conserva:
  • ✓ Equipos y bandos
  • ✓ Misiones (solo se reinicia estado)
  • ✓ Configuración de la partida
  • ✓ Normas, imágenes y enlaces
  • ✓ Usuarios del panel
Añadir aplicación web
Añadir jugador
⚠ El estado de pago se gestiona desde el slider en la lista de jugadores.
Nuevo equipo
Activa los roles que pueden elegir los jugadores de este bando. Límite 0 = sin límite.
Cargando roles...
Nueva misión
⚠️ Verificación requerida

Para desmarcar un pago introduce tu contraseña.

🗑 Confirmar eliminación

Vas a eliminar a . Esta acción no se puede deshacer.

Introduce tu contraseña para confirmar.

🗑 Confirmar reset

El estado actual se guardará automáticamente en el historial antes de borrar. Irreversible.

Nuevo usuario
Permisos del GM (qué puede hacer)
Nueva norma
Nueva pregunta
Editar plantilla