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.
- Cola de conexion ordenada por prioridad cuando hay mas jugadores intentando entrar que cupos. El staff pasa delante segun su permiso (
owner100,admin50 por defecto). - Prioridad por lista manual (
Config.Priority, por identificador) y prioridad VIP opcional: lee la tablaov_vipdel recursoov_vipy da mas o menos poder segun el nivel. - Cierre de entrada: el servidor puede estar cerrado al publico, dejando entrar solo al staff y a quienes tengan un pase.
- Pases de entrada para invitados, por identificador (license, discord, fivem o steam), con nota y duracion.
- Timeout y bloqueo de jugadores sobre todos sus identificadores, con motivo y duracion; por IP y por hardware solo si se marca.
- Bloqueo por hardware (HWID), por IP, por rango de IP (con
*, con prefijo/16a/32o con dos IPs unidas por un guion; tambien IPv6) y por nombre de host o sitio web (con el recurso adicionalov_cola_dns, que no esta incluido en este paquete). - Registro de cada intento de conexion (licencia, Discord, Steam, FiveM, IP, fichas de hardware) y un registro de acciones del staff.
- Panel
/entradacon pestañas de conectados, en cola, bloqueos, historial y bloqueo por ID. - Protecciones: nadie puede aplicar timeout o bloqueo al staff ni a si mismo, y se rechazan IPs imposibles (multicast, locales, reservadas).
Requisitos
- Servidor FiveM con qb-core (la deteccion de framework es
auto; tambien reconoce ESX), Lua 5.4 y base de datos MySQL o MariaDB conoxmysql. dependenciesdelfxmanifest.lua:oxmysqlyox_lib.- El recurso reemplaza a
connectqueuey a cualquier otra cola de conexion: todas manejan el eventoplayerConnectingy no pueden convivir. Retira las que tengas antes de usarov_cola. - Opcionales:
ov_vip: para la prioridad VIP. El recurso lee la tablaov_vipy las tablas de qb-core (players); si la tabla no existe, la prioridad VIP se queda desactivada y se vuelve a comprobar en cada refresco.- Un recurso de administracion con roles (nombre configurable en
Config.Permisos.recurso): si esta iniciado y exponeisStaffyhasPermission, sus roles mandan sobre los permisos delserver.cfg. Si no existe, se usan los ACE delserver.cfgy los permisos de qb-core. ov_cola_dns: recurso adicional (no incluido) para bloqueos por nombre de host y por sitio web. Sin el, esas dos funciones no estan disponibles y la cola funciona igual.
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.
- Descarga el recurso desde el Portal de Cfx.re y copia la carpeta
ov_colaenresources/. Retiraconnectqueueu otras colas. - Base de datos: no hay archivo
.sql. Las tablasov_cola_conexiones,ov_cola_bloqueos,ov_cola_logyov_cola_pasesse crean solas al arrancar. En la consola debe aparecer[ov_cola] Tablas verificadas y bloqueos cargados. - En
server.cfg, despues deoxmysql,ox_libyqb-core: ``ensure oxmysql ensure ox_lib ensure qb-core ensure ov_cola`` - 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.panelda acceso al panel (y entrada con el servidor cerrado);ov_cola.ipes el acceso total y es el unico que muestra las IP. SustituyeTU_ID` por el identificador real del propietario. - Fija
sv_maxclientsa la capacidad real de tu servidor: la cola solo se forma cuando hay mas gente que cupos. El recurso leesv_maxclientsysv_hostnameconGetConvar. - Importante: por defecto
Config.CierreAlIniciar = true, es decir, el servidor arranca con la entrada cerrada y solo entra el staff con el ACEov_cola.panel. Abre la entrada con/ov_cierre offo desde/entrada, o cambia ese valor afalseenconfig.lua. - Reinicia el servidor.
Configuracion
Todo en config.lua (solo servidor).
| Clave | Valor por defecto | Para 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.PrioridadStaff | owner = 100, admin = 50 | Prioridad que suma cada permiso del staff. |
Config.CierreAlIniciar | true | Arrancar 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.Permisos | recurso, usar = true, permisos por accion | Integracion 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.HwidMinimo | 2 | Fichas de hardware que deben coincidir para considerar la misma PC. |
Config.VipPrioridad | Activo = true, Refresco = 900 | Prioridad por nivel VIP (Poder: pvp 15, elitepvp 20, lanzamiento 25, bronce 30, silver 50, gold 75, diamond 100; PoderPorDefecto = 10). |
Config.MaxTimeoutMin | 43200 | Duracion maxima de un timeout (minutos, 30 dias). |
Config.MaxBloqueoDias | 3650 | Duracion maxima de un bloqueo (dias). |
Config.PriorityOnly | false | true = solo entra quien tenga prioridad (tipo whitelist). |
Config.RequireSteam | false | Exige Steam abierto. |
Config.DisableHardCap | true | Necesario para que la cola funcione. |
Config.ConnectTimeOut | 900 | Segundos maximos en "conectando/descargando". |
Config.NoEndpointTimeOut | 600 | Segundos que aguanta alguien sin direccion visible (VPN). |
Config.QueueTimeOut | 120 | Segundos sin senal de vida antes de sacar a alguien de la cola. |
Config.EnableGrace / GracePower / GraceTime | true / 5 / 480 | Prioridad temporal para quien se acaba de desconectar. |
Config.JoinDelay | 30000 | Milisegundos de espera tras arrancar el recurso antes de dejar entrar. |
Config.MostrarColaEnNombre | false | Pone [n] delante del nombre del servidor. |
Config.Debug | false | Imprime cada movimiento de la cola. |
Config.Language | textos en espanol | Mensajes que ve el jugador al conectar, en cola, bloqueado o con timeout. |
Comandos y permisos
| Comando | Efecto | |
|---|---|---|
/entrada | Abre 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_bloqueados | Lista los bloqueos activos. | |
| `/ov_cierre on | off` | Cierra o abre la entrada. |
/ov_bloquear_id [dias] [identificadores] ; [motivo] | Bloquea por identificadores sin que el jugador este conectado. | |
/ov_vip_refrescar | Relee 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
- Los jugadores no hacen nada: al conectarse entran directamente o ven su posicion en la cola (
Estas en la posicion X/Y). - Si la entrada esta cerrada o el jugador esta bloqueado, ve el mensaje configurado con el motivo y la fecha.
- El staff abre
/entradapara ver conectados, cola, bloqueos e historial, buscar jugadores y aplicar acciones.
Para administradores
- Sancionar: desde el panel, elige la accion (timeout o bloqueo), la duracion y el motivo. Un bloqueo se aplica sobre todos los identificadores del jugador; marca "incluir IP" o "incluir hardware" para ampliarlo.
- Bloquear a alguien desconectado: busca por nombre, licencia o Discord en el historial, o usa el bloqueo por ID (
/ov_bloquear_id). Tambien admite una IP, un rango o un sitio web (este ultimo conov_cola_dns). - Quitar bloqueos:
/ov_desbloquearcon un ID o un rango (5-48), o desde la pestana de bloqueos. - Cerrar o abrir la entrada:
/ov_cierre on|offo el panel. Con la entrada cerrada solo entra el staff y quienes tengan un pase. - Dar un pase a un invitado: desde el panel, a partir del historial o de forma manual con sus identificadores y una duracion en dias. Los pases no se dan por IP ni por hardware.
- Prioridad VIP: se actualiza sola cada
Config.VipPrioridad.Refrescosegundos y al instante con/ov_vip_refrescaro cuandoov_vipotorga o retira un VIP. - Si algo sale mal: una cola mal configurada puede dejar a todos fuera. Quita
ensure ov_coladelserver.cfgo ejecutastop ov_colaen la consola. - Limitacion conocida: un timeout no recupera lo que el cliente ya descargo; corta el acceso, no deshace una copia.
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.
