Configuración del Sistema - Raul125/PanelWiki GitHub Wiki
La configuración del sistema permite a los administradores de nivel superior ajustar todos los parámetros globales del panel, incluyendo integraciones con servicios externos, autenticación, límites de usuario y configuración de servidores. Estos ajustes son fundamentales para el funcionamiento correcto de toda la plataforma.
-
Ruta:
/admin/panelsettings
- Menú lateral: Administración → Configuración del Sistema
- Icono: ⚙️ Settings
- Autenticación obligatoria → Usuario debe estar logueado
-
Permisos específicos →
Permissions.Admin.PanelSettings
- Nivel máximo de administrador → Solo administradores superiores
- Solo administradores principales → Acceso muy restrictivo
- Cambios críticos del sistema → Requieren confirmación
- Algunos cambios requieren reinicio → A las 5:00 AM automático
- Monitoreo automático → Estado de servidores en tiempo real
- Pares ID-Puerto → Cada servidor con su puerto específico
- Gestión dinámica → Añadir/eliminar servidores
- Validación → ID de servidor mínimo 1
- ➕ Añadir Puerto → Botón para nuevos servidores
- 🗑️ Eliminar Puerto → Icono de papelera por entrada
-
📋 Campos específicos:
- ID del Servidor → Identificador numérico único
- Puerto → Puerto de conexión del servidor
- 🔄 Auto-numeración → IDs secuenciales automáticos
- Client ID → Identificador único generado automáticamente
- Client Secret → Clave secreta para firmar tokens JWT
- Campos de solo lectura → No editables manualmente
- Generación automática → Al crear o regenerar
- Botón de regeneración → Color warning para indicar precaución
- Confirmación requerida → Diálogo de confirmación obligatorio
-
⚠️ Efectos de regenerar:- Invalidación de todos los tokens → Usuarios deben reloguearse
- Plugin del servidor → Requiere nueva API key
- Requiere reinicio → Para aplicar cambios
- 🔴 Requiere reinicio → Chip rojo indicando necesidad
- Invalidación masiva → Todos los tokens existentes
- Reconexión de plugin → API key debe actualizarse
- Token del Bot → Clave de acceso para API de Discord
- ID del Servidor → Identificador del servidor de Discord
- Formato numérico → ulong para IDs grandes de Discord
- Helper text → Guías para cada campo
- Client ID → Para autenticación OAuth2
- Client Secret → Secreto de cliente OAuth2
- Integración completa → Login automático de usuarios
- Flujo OAuth → Redirección automática obligatoria
- 🔴 Requiere reinicio → Para aplicar cambios
- Configuración sensible → Credenciales críticas
- Integración automática → Con sincronización de roles
- Clave API de Steam → Para acceso a servicios web
- Campo único → Solo la API key necesaria
- Helper text → Descripción del uso
- Integración OpenID → Para autenticación automática
- 🔴 Requiere reinicio → Para tomar efecto
- Verificación automática → Al guardar configuración
- Integración con OAuth → Flujo automático tras Discord
- Máximo por usuario → Número configurable (default: 5)
- Validación mínima → Mínimo 1 reporte
- Control de spam → Previene abuso del sistema
- Aplicación inmediata → No requiere reinicio
- 🟢 No requiere reinicio → Aplicación inmediata
- Control de calidad → Evita reportes masivos
- Recursos del sistema → Previene sobrecarga
- Experiencia mejorada → Para staff y usuarios
- Validación de formulario → Campos obligatorios verificados
- Detección de cambios → Identifica qué requiere reinicio
- Guardado por secciones → PanelConfig y UserRestrictionsConfig
- Confirmación visual → Snackbar de éxito
- Recarga de valores → Desde configuración actual
- Sin persistencia → Cambios se pierden
- Estado limpio → Formulario resetea
- Notificación → "Cambios cancelados"
// Verificación automática de cambios críticos
HasChangesRequiringRestart() → bool
- Bearer Auth (ClientId, ClientSecret)
- Discord (Token, GuildId, Client, Secret)
- Steam (ApiKey)
- Hora específica → 5:00 AM (hora de Madrid)
- Reinicio automático → Diario programado
- Aplicación de cambios → Durante el reinicio
- Notificación al usuario → Información clara
- Una sección por panel → Información organizada
- Expansión independiente → MultiExpansion="false"
- Sección por defecto → Servidores expandido
- Navegación fácil → Click para expandir/contraer
- Títulos descriptivos → Para cada sección
- Subtítulos explicativos → Propósito de cada campo
- Helper text → Guías específicas
- Iconos consistentes → Add, Delete, Settings
- 🔴 Warning → Para regenerar claves de autenticación
- 🔵 Info → Para cambios que requieren reinicio
- 🟢 Success → Para cambios inmediatos (restricciones)
- 📋 Chips informativos → Estado de reinicio requerido
🔴 "Requiere reinicio" → Cambios críticos
🟢 "No requiere reinicio" → Cambios inmediatos
⚠️ "Invalidará todos los tokens" → Regenerar auth
ℹ️ "Se aplicarán a las 5:00 AM" → Reinicio programado
- Campos obligatorios → Verificación automática
- Valores mínimos → Para campos numéricos
- Formato correcto → Para IDs y puertos
- Estado del formulario → success binding
- Regenerar claves → Diálogo de confirmación
- Cambios críticos → Información sobre reinicio
- Efectos adversos → Advertencias claras
- Opciones de cancelación → Siempre disponibles
- PanelConfig → Configuración principal del panel
- UserRestrictionsConfig → Límites específicos de usuarios
- Guardado independiente → Cada config por separado
- Método Save() → Persistencia automática
- LoadConfiguration() → Al inicializar página
- ResetChanges() → Recarga desde fuente
- Estado sincronizado → UI refleja configuración actual
- Binding bidireccional → Cambios automáticos
- Acceder a configuración → Como administrador principal
- Configurar Discord → Token, Guild ID, OAuth credentials
- Configurar Steam → API key para integración
- Añadir servidores → IDs y puertos de monitoreo
- Guardar y reiniciar → Para aplicar cambios
- Revisar restricciones → Ajustar límites de reportes
- Actualizar tokens → Si Discord/Steam cambian
- Gestionar servidores → Añadir/remover según necesidad
- Verificar configuración → Después de actualizaciones
- Acceder rápidamente → En caso de compromiso
- Regenerar Bearer Auth → Invalidar todos los tokens
- Actualizar plugin → Nueva API key en servidor
- Informar a usuarios → Necesidad de re-login
- Verificar Discord → Token y permisos del bot
- Verificar Steam → API key válida
- Revisar logs → Para errores específicos
- Aplicar cambios → Con reinicio si necesario
- Verificar Bearer Auth → ClientId y ClientSecret válidos
- Revisar tokens → Pueden estar expirados
- Plugin desconectado → API key puede estar incorrecta
- Regenerar si necesario → Con confirmación
- Token del bot → Verificar permisos y validez
- Guild ID correcto → Servidor específico
- OAuth2 configurado → Client ID y Secret válidos
- Requiere reinicio → Para tomar efecto
- API Key válida → Verificar en Steam Dev
- Permisos correctos → Para el dominio
- Rate limiting → Verificar límites de API
- Reinicio necesario → Para aplicar cambios
- Cambios por lotes → Agrupar modificaciones
- Verificar antes de guardar → Validar configuración
- Documentar cambios → Para futuras referencias
- Backup de configuración → Antes de cambios críticos
- Horario de reinicio → 5:00 AM automático
- Notificar a usuarios → Cambios importantes
- Testing previo → En entorno de desarrollo
- Rollback plan → Por si algo falla
- Sistema de Roles - Configuración de permisos
- Sincronización con Discord y Steam - Uso de credenciales Discord
- Sincronización con SCP-SL - API keys del servidor
- Gestión de Usuarios - Aplicación de restricciones
- Logs de Auditoría - Registro de cambios de configuración
- Canal Admin Discord → [discord.neoncommunity.eu](https://discord.neoncommunity.eu/)
- Documentación técnica → Configuración específica
- Issues GitHub → Problemas de configuración
- PanelConfig class → Estructura de configuración
- UserRestrictionsConfig → Límites del sistema
- Validation patterns → Reglas de validación
- Restart requirements → Qué requiere reinicio
- Backup de configuración → Antes de cambios críticos
- Testing en desarrollo → Para verificar cambios
- Comunicación de cambios → A usuarios afectados
- Monitoreo post-cambios → Verificar funcionamiento
⚙️ Configura con Sabiduría, Administra con Poder
¿Necesitas ayuda con la configuración del sistema? Consulta en el canal admin de [Discord](https://discord.neoncommunity.eu/)