BanSystem es un plugin para SourceMod que permite gestionar sanciones en servidores de juegos. Este sistema integra una base de datos para almacenar y consultar información sobre prohibiciones de acceso y comunicación.
- Prohibiciones de acceso: Bloquea el acceso de jugadores al servidor.
- Prohibiciones de comunicación: Restringe el uso del chat y/o micrófono.
- Soporte para bases de datos: Compatible con MySQL y SQLite.
- Caché local y SQL: Mejora el rendimiento almacenando temporalmente datos de prohibiciones.
- Razones personalizables: Configura razones de prohibición en un archivo de configuración.
- Soporte multilenguaje: Traducciones disponibles para mensajes y razones.
BanSystem utiliza dos sistemas de caché para optimizar el rendimiento y reducir la carga en la base de datos principal:
- Descripción: Es la base de datos principal donde se almacenan todas las sanciones.
- Uso:
- Guarda información detallada sobre las prohibiciones de acceso y comunicación.
- Es obligatoria para el funcionamiento del plugin.
- Ventajas:
- Permite consultas completas y persistencia de datos a largo plazo.
- Compatible con múltiples servidores que compartan la misma base de datos.
- Descripción: Es una base de datos ligera utilizada para el sistema de caché.
- Uso:
- Almacena temporalmente información sobre jugadores sancionados para reducir consultas frecuentes a la base de datos MySQL.
- Es opcional y se puede habilitar o deshabilitar mediante la variable de consola
sm_bansystem_sqlitecache.
- Ventajas:
- Mejora el rendimiento al manejar jugadores con sanciones permanentes o recientes.
- La información persiste incluso si el servidor se reinicia.
| Característica | MySQL | SQLite |
|---|---|---|
| Propósito | Almacenar todas las sanciones | Sistema de caché opcional |
| Persistencia | Permanente | Temporal (7 días por defecto) |
| Requerido | Sí | No |
| Velocidad | Más lento debido a consultas remotas | Más rápido para consultas locales |
Ambos sistemas trabajan en conjunto para garantizar un rendimiento óptimo y minimizar las consultas a la base de datos principal.
- SourceMod: Versión 1.10 o superior.
- Base de datos:
- MySQL: Obligatoria para almacenar sanciones.
- SQLite: Opcional para el sistema de caché.
-
Descargar el plugin:
- Clona este repositorio o descarga el archivo ZIP.
-
Compilar el plugin:
- Usa el compilador de SourceMod para compilar los archivos
.spen.smx.
- Usa el compilador de SourceMod para compilar los archivos
-
Subir los archivos:
- Copia los archivos
.smxa la carpetaaddons/sourcemod/plugins/. - Copia los archivos de traducción a
addons/sourcemod/translations/.
- Copia los archivos
-
Configurar la base de datos:
- Edita el archivo
addons/sourcemod/configs/databases.cfgpara añadir la configuración de la base de datos MySQL. - Si deseas habilitar el caché SQLite, asegúrate de que esté configurado correctamente.
- Edita el archivo
-
Reiniciar el servidor:
- Reinicia tu servidor para cargar el plugin.
sm_ban <usuario> <tiempo> [razón]: Prohibir el acceso de un jugador.sm_unban <steamid>: Levantar una prohibición de acceso.sm_comm <mic|chat|all> <usuario> <tiempo> [razón]: Prohibir la comunicación de un jugador.sm_uncomm <usuario>: Levantar una prohibición de comunicación.sm_abort: Cancelar una prohibición en proceso.
-
Razones de prohibición:
- Edita el archivo
configs/bansystem_reasons.txtpara añadir o modificar razones de prohibición.
- Edita el archivo
-
Variables de consola:
sm_bansystem_sqlitecache: Habilita o deshabilita el caché SQLite (1 = habilitado, 0 = deshabilitado).sm_bansystem_localcache: Habilita o deshabilita el caché local (1 = habilitado, 0 = deshabilitado).
¡Las contribuciones son bienvenidas! Si encuentras un error o tienes una idea para mejorar el plugin, abre un issue o envía un pull request.
Este proyecto está licenciado bajo la MIT License.