| # | Nombre | Bando | Equipo | Rol | Teléfono | Pago | Check-in |
|---|
| Pos. | Equipo | Jugadores | Misiones | Puntos | Ajuste |
|---|
| Usuario | Nombre | Rol | Permisos GM | Estado | Último acceso |
|---|
src del iframe.uploads/ y usar la ruta relativa.| Icono | Etiqueta | URL | Orden | Estado |
|---|
| Archivo | Tamaño | Subido por | Fecha | |
|---|---|---|---|---|
Cargando... | ||||
| Bando | Inscritos | Pagados | Pendiente pago | Check-in | % ocupación |
|---|
| Fecha y hora | Usuario | Jugador | Acción | Nota |
|---|
El panel tiene dos tipos de usuarios: Administrador y GM / Árbitro.
| Función | Administrador | GM / Árbitro |
|---|---|---|
| Ver jugadores y equipos | ✓ | ✓ |
| Añadir / editar jugadores | ✓ | Según permiso |
| Modificar pagos (slider) | ✓ | Según permiso |
| Gestionar misiones | ✓ | Según permiso |
| Ajustar marcador | ✓ | Según permiso |
| Ver / editar normas | ✓ | Según permiso |
| Subir imágenes | ✓ | Segú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.
La pestaña principal del panel. Muestra todos los inscritos con sus datos y estado de pago.
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.
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.
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 «—».
Los pagos son en efectivo el día del evento. El panel permite registrar manualmente quién ha pagado.
Desliza el toggle verde en la columna Pago de la lista. No requiere contraseña.
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.
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.
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).
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.
Los jugadores pueden cancelar su propia inscripción sin contactar con el GM.
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.
Los bandos son los grandes grupos de la partida (OTAN, OPFOR, Civiles…). Se crean desde la pestaña Equipos.
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.
Cada bando puede tener sus propios roles disponibles con límite de plazas por rol.
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.
Sistema de gestión de objetivos durante la partida. Cada misión tiene un estado que el GM puede cambiar en tiempo real.
| Estado | Descripción | Acción disponible |
|---|---|---|
| Pendiente | Misión creada, aún no iniciada | ▶ Iniciar |
| En curso | Misión activa, temporizador corriendo | ✓ Completada / ✕ Fallida |
| Completada | Misión superada, puntos otorgados | ↺ Reiniciar |
| Fallida | Misión no superada, sin puntos | ↺ Reiniciar |
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.
Clasificación en tiempo real de todos los bandos por puntuación total.
Puntuación total = puntos de misiones completadas + 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.
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.
Nombre del evento, fecha, hora, campo, precio y número máximo de jugadores. Todos aparecen en la web pública automáticamente.
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.
Dos URLs de Google Maps distintas:
src del iframe.El campo Notas del campo es solo visible en el panel — nunca aparece en la web pública.
Organizado en cuatro grupos:
💡 Todos estos textos admiten saltos de línea — cada línea se convierte en un párrafo.
💡 App Password de Google: Mi cuenta → Seguridad → Verificación en dos pasos → Contraseñas de aplicaciones.
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.
| Slot | Dónde aparece |
|---|---|
| Galería 1–8 | Sección «Galería» de la web pública en grid |
| Misión — Foto 1–3 | Bajo la sinopsis de la misión |
| Mapa del campo | Sección «Campo», lateral derecho |
Los escudos/fotos de cada bando se suben desde Equipos → Editar → Subir imagen.
Lista de reglas de la partida que aparecen en la sección «Normas» de la web pública.
Envía un mensaje personalizado a todos los inscritos o a un subgrupo con editor de texto enriquecido.
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 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.
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.
Tres formatos de exportación disponibles en la cabecera de la pestaña Jugadores:
| Botón | Formato | Ideal para |
|---|---|---|
| ⬇ CSV | Texto separado por comas | Importar en otras herramientas |
| ⬇ Excel | .xlsx con formato | Edición y análisis en Excel / LibreOffice |
| A4 horizontal imprimible | Llevar 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.
Herramienta para que los participantes consulten su inscripción sin necesidad de contactar con el GM.
?player=TOKEN) se puede guardar en favoritos.Cada vez que se realiza un Reset de BD, el sistema guarda automáticamente una instantánea completa de la partida antes de borrar.
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.
⚠️ Esta acción es irreversible. Úsala solo entre partidas.
💡 Antes de hacer Reset, el sistema guarda automáticamente un snapshot en el Historial. Ponle un nombre descriptivo para encontrarlo fácilmente.
Gestión de quién puede acceder al GM Panel y con qué permisos.
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.
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.
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.
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.
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.
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.
| Botón | Qué hace | Se deshabilita si... |
|---|---|---|
| ✅ Registrar llegada | Marca el check-in con la hora exacta y lo registra en el log | Ya tiene check-in |
| 💰 Marcar como pagado | Confirma el pago del jugador | Ya está marcado como pagado |
| ⏱ ¿Pasó por el crono? | Anota en las notas del jugador que ha pasado por el cronógrafo | Ya tiene crono registrado |
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.
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.
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.
Registro auditado e inmutable de todas las acciones relevantes sobre los jugadores. Visible para Administradores y GMs.
| Filtro | Qué muestra |
|---|---|
| Todos | Toda la actividad mezclada, ordenada por fecha descendente |
| 💰 Pagos | Confirmaciones de pago y reversiones (con motivo si lo hay) |
| ✅ Check-in | Registros de llegada al campo y deshechos, con hora exacta |
| 👤 Altas / Bajas | Inscripciones (web y manual), lista de espera, bajas |
💡 El log no se puede editar ni borrar. Sí se borra al hacer Resetear BD.
Desde Ajustes Web → Secciones de la web pública puedes controlar qué partes de la web ven los participantes y en qué orden aparecen.
Misión / Sinopsis · Bandos / Facciones · Formulario de inscripción · Normas · Campo y mapa · Galería de fotos · Recursos / Enlaces.
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.
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.
Sección opcional de la web pública para presentar al equipo organizador. Se configura desde Ajustes Web → 🔗 Contenido y recursos → 👥 ¿Quiénes somos?
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.
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.
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.
Botón ⬇ Descargar en cada archivo. La descarga pasa por la API — no hay URL directa pública.
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.
Disponible en Ajustes Web → 🎨 Identidad y apariencia → Identidad visual.
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/.
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.
Disponible en Ajustes Web → 🔗 Contenido y recursos → Enlaces de interés.
Tres opciones para el icono de cada enlace:
🎮, 📺, 🔗...https://...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.
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.
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).
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.
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.
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á.
Pestaña visible para Admin y GMs con un resumen completo del estado de la partida. Se actualiza pulsando ↺ Actualizar.
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).
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.
Calcula automáticamente basándose en el ritmo de los últimos 7 días:
💡 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.
Tabla con inscritos, pagados, pendiente de pago, presentes y barra de % de ocupación por cada bando.
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.
El panel comprueba automáticamente cada 30 segundos si hay nuevas inscripciones, sin necesidad de recargar la página.
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.
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.
Disponible en Ajustes Web, en la card amarilla de la parte superior.
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.
💡 Útil para hacer cambios en la configuración sin que los jugadores vean la web a medias.
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).
💡 Recomendado tenerla abierta en el móvil del GM durante el evento en lugar del panel completo.
El sistema impide que el mismo email o teléfono aparezca dos veces en la lista de inscritos.
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.
Es la primera pantalla que aparece al entrar al panel. Ofrece un resumen completo del estado del evento de un vistazo.
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.
Sección de preguntas frecuentes visible en la web pública en formato acordeón. Se gestiona desde 📋 Normas / FAQ en el panel.
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.
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.
.sql. Recomendado antes de resetear..sql generado por esta app. ⚠️ Sobreescribe todos los datos actuales.Elimina permanentemente todos los jugadores inscritos y sus datos personales. Reinicia misiones y puntuación. No se puede deshacer.
Para desmarcar un pago introduce tu contraseña.
Vas a eliminar a . Esta acción no se puede deshacer.
Introduce tu contraseña para confirmar.
El estado actual se guardará automáticamente en el historial antes de borrar. Irreversible.
uploads/icono.png)