SCRIPT

Documentación de Cola de conexion y panel de entrada

ov_cola

Cola de conexion con prioridad, cierre de entrada, timeouts, bloqueos avanzados (por identificador, IP, rango, hardware) y panel de staff /entrada para servidores qb-core.

Que hace

ov_cola gestiona quien entra a tu servidor y en que orden. Esta basada en connectqueue y la amplia con un registro de conexiones, un sistema de sanciones de acceso y un panel visual para el staff.

Requisitos

Instalacion

El recurso viene protegido con Asset Escrow de Cfx.re: se descarga desde el Portal de Cfx.re con la cuenta Cfx.re del comprador y solo funciona en servidores de esa cuenta. Segun su fxmanifest.lua, quedan sin cifrar config.lua y la carpeta html/ (la interfaz). config.lua solo se carga en el servidor y nunca se envia a los clientes.

  1. Descarga el recurso desde el Portal de Cfx.re y copia la carpeta ov_cola en resources/. Retira connectqueue u otras colas.
  2. Base de datos: no hay archivo .sql. Las tablas ov_cola_conexiones, ov_cola_bloqueos, ov_cola_log y ov_cola_pases se crean solas al arrancar. En la consola debe aparecer [ov_cola] Tablas verificadas y bloqueos cargados.
  3. En server.cfg, despues de oxmysql, ox_lib y qb-core: `` ensure oxmysql ensure ox_lib ensure qb-core ensure ov_cola ``
  4. Concede los permisos ACE (los ACE no admiten punto y coma en los comentarios del cfg): `` add_ace group.admin ov_cola.panel allow add_ace identifier.fivem:TU_ID ov_cola.ip allow ` ov_cola.panel da acceso al panel (y entrada con el servidor cerrado); ov_cola.ip es el acceso total y es el unico que muestra las IP. Sustituye TU_ID` por el identificador real del propietario.
  5. Fija sv_maxclients a la capacidad real de tu servidor: la cola solo se forma cuando hay mas gente que cupos. El recurso lee sv_maxclients y sv_hostname con GetConvar.
  6. Importante: por defecto Config.CierreAlIniciar = true, es decir, el servidor arranca con la entrada cerrada y solo entra el staff con el ACE ov_cola.panel. Abre la entrada con /ov_cierre off o desde /entrada, o cambia ese valor a false en config.lua.
  7. Reinicia el servidor.

Configuracion

Todo en config.lua (solo servidor).

ClaveValor por defectoPara que sirve
Config.Framework'auto'Detecta QBCore o ESX; se puede forzar con 'qb' o 'esx'.
Config.Servidor'Otra Vida RP'Nombre que aparece en los mensajes; cambialo por el de tu servidor.
Config.Priority{}Prioridad manual: ["license:..."] = 100.
Config.PrioridadStaffowner = 100, admin = 50Prioridad que suma cada permiso del staff.
Config.CierreAlIniciartrueArrancar con la entrada cerrada.
Config.Panel.Comando'entrada'Comando del panel (sin tecla asignada).
Config.Panel.AcePanel / AceIp'ov_cola.panel' / 'ov_cola.ip'Permisos ACE del panel y de la IP.
Config.Permisosrecurso, usar = true, permisos por accionIntegracion con un recurso de roles externo; con usar = false se ignora.
Config.GruposEsxStaff{ 'admin', 'owner', 'superadmin' }Grupos de ESX que cuentan como staff (solo si usas ESX).
Config.QbPermisos{ 'admin', 'god' }Permisos de qb-core que cuentan como staff cuando no hay recurso de roles.
Config.HwidMinimo2Fichas de hardware que deben coincidir para considerar la misma PC.
Config.VipPrioridadActivo = true, Refresco = 900Prioridad por nivel VIP (Poder: pvp 15, elitepvp 20, lanzamiento 25, bronce 30, silver 50, gold 75, diamond 100; PoderPorDefecto = 10).
Config.MaxTimeoutMin43200Duracion maxima de un timeout (minutos, 30 dias).
Config.MaxBloqueoDias3650Duracion maxima de un bloqueo (dias).
Config.PriorityOnlyfalsetrue = solo entra quien tenga prioridad (tipo whitelist).
Config.RequireSteamfalseExige Steam abierto.
Config.DisableHardCaptrueNecesario para que la cola funcione.
Config.ConnectTimeOut900Segundos maximos en "conectando/descargando".
Config.NoEndpointTimeOut600Segundos que aguanta alguien sin direccion visible (VPN).
Config.QueueTimeOut120Segundos sin senal de vida antes de sacar a alguien de la cola.
Config.EnableGrace / GracePower / GraceTimetrue / 5 / 480Prioridad temporal para quien se acaba de desconectar.
Config.JoinDelay30000Milisegundos de espera tras arrancar el recurso antes de dejar entrar.
Config.MostrarColaEnNombrefalsePone [n] delante del nombre del servidor.
Config.DebugfalseImprime cada movimiento de la cola.
Config.Languagetextos en espanolMensajes que ve el jugador al conectar, en cola, bloqueado o con timeout.

Comandos y permisos

ComandoEfecto
/entradaAbre el panel (solo con permiso; sin tecla asignada).
/ov_timeout [id] [minutos] [motivo]Aplica un timeout.
/ov_bloquear [id] [dias, 0 = permanente] [motivo]Bloquea a un jugador conectado.
/ov_desbloquear [ids o rango como 5-48]Quita bloqueos.
/ov_bloqueadosLista los bloqueos activos.
`/ov_cierre onoff`Cierra o abre la entrada.
/ov_bloquear_id [dias] [identificadores] ; [motivo]Bloquea por identificadores sin que el jugador este conectado.
/ov_vip_refrescarRelee los VIP y recalcula la prioridad.

Los comandos funcionan desde la consola del servidor y, en el juego, segun el permiso del jugador.

Permisos: ACE ov_cola.panel (staff y acceso al panel), ov_cola.ip (acceso total y ver IP). Con un recurso de roles externo activo, mandan sus permisos (Config.Permisos). Sin el, el staff tambien se reconoce por Config.QbPermisos. Solo el ACE ov_cola.panel del server.cfg cuenta para pasar delante en la cola y para entrar con la entrada cerrada, porque los permisos de qb-core solo se conocen cuando el jugador ya esta dentro.

Export del servidor: exports['ov_cola']:Obtener() devuelve el objeto de la cola. Escucha tambien los eventos de servidor granted y revoked de ov_vip (con el nombre de compatibilidad que emite ov_vip) para actualizar la prioridad VIP al instante.

Como se usa

  1. Los jugadores no hacen nada: al conectarse entran directamente o ven su posicion en la cola (Estas en la posicion X/Y).
  2. Si la entrada esta cerrada o el jugador esta bloqueado, ve el mensaje configurado con el motivo y la fecha.
  3. El staff abre /entrada para ver conectados, cola, bloqueos e historial, buscar jugadores y aplicar acciones.

Para administradores

Preguntas frecuentes

Puedo usarlo junto a connectqueue? No. Ambos manejan playerConnecting. Usa solo uno.

Nadie puede entrar tras instalarlo. Por defecto el servidor arranca con la entrada cerrada (Config.CierreAlIniciar = true). Ejecuta /ov_cierre off en la consola o cambia el valor a false.

La cola no se forma. Comprueba que sv_maxclients coincide con la capacidad real y que Config.DisableHardCap sigue en true.

Necesito ov_vip para usarlo? No. Sin la tabla ov_vip, la prioridad VIP simplemente queda desactivada.

Por que no puedo bloquear por nombre de host o por sitio web? Esas dos funciones dependen del recurso adicional ov_cola_dns, que no se incluye en este paquete.

Como veo los errores? La consola del servidor muestra los mensajes con el prefijo [ov_cola]. Con Config.Debug = true se imprime cada movimiento de la cola.

Actualizaciones y soporte

Las versiones nuevas aparecen en el Portal de Cfx.re y en la tienda. Antes de actualizar, guarda una copia de tu config.lua. Para soporte, abre un ticket en el Discord de la tienda: [enlace de soporte]. Indica la version del recurso (1.0.0 en el manifest actual), tu version de qb-core y el mensaje de la consola.