Repositorio de fixes y overrides para plugins provenientes de L4D2-Competitive-Rework.
Este repo existe para ofrecer una capa mantenida de correcciones, ajustes y documentación sobre plugins usados en servidores competitivos basados en L4D2-Competitive-Rework.
La idea es mantener aquí:
- overrides sobre plugins del proyecto competitivo
- fixes de estabilidad
- mejoras de tipado, API o mantenimiento
- traducciones y assets asociados cuando forman parte del override
Se replica la misma estructura esperada por SourceMod:
addons/sourcemod/scripting/addons/sourcemod/scripting/include/addons/sourcemod/translations/docs/
Para los binarios compilados, el CI empaqueta los plugins en:
addons/sourcemod/plugins/anticheat/addons/sourcemod/plugins/fixes/addons/sourcemod/plugins/optional/
disabled/ no se gestiona desde este repo porque corresponde a una convención de despliegue de SourceMod y no a una categoría funcional del proyecto.
El archivo plugin-package-map.json define qué plugins deben salir fuera de optional/.
anticheat: plugins que deben empaquetarse enplugins/anticheat/fixes: plugins que deben empaquetarse enplugins/fixes/root: plugins que deben empaquetarse directamente enplugins/- cualquier plugin no listado cae por defecto en
plugins/optional/
Actualmente:
match_votese empaqueta enplugins/l4d2_fix_team_shufflese empaqueta enplugins/fixes/
Targets disponibles:
make deps-smxmake build-smxmake package-smxmake releasemake cleanmake clean-all
Comportamiento:
make deps-smxdescarga el compilador de SourceMod para la plataforma actualmake build-smxgenera salida en.build/smx/make package-smxprepara.build/package-smx/make releasegeneradist/sourcemod/artifact/ydist/release/*.zip
build-smx no descarga dependencias automáticamente.
Primero hay que ejecutar make deps-smx.
En Windows los targets usan python.
En Linux/WSL los targets usan python3.
En Linux/WSL, build-smx compila desde un workspace temporal en /tmp/l4d2crf-build cuando el repo está bajo /mnt/, para evitar la lentitud de I/O sobre discos montados.
Los builds locales incluyen solo el contenido desplegable bajo:
addons/sourcemod/plugins/addons/sourcemod/scripting/addons/sourcemod/translations/
Documentación del sistema de build:
Los cambios que justifican que un plugin viva en esta capa se documentan en docs/ usando un archivo por plugin.
Documentos actuales:
docs/autopause.mddocs/caster_system.mddocs/l4d_tank_damage_announce.mddocs/l4d_votepoll_fix.mddocs/l4d2_character_fix.mddocs/l4d2_fix_team_shuffle.mddocs/l4d2_hybrid_scoremod.mddocs/l4d2_hybrid_scoremod_zone.mddocs/l4d2_scoremod.mddocs/l4d2_skill_detect.mddocs/match_vote.mddocs/readyup.mddocs/specrates.md
Plugins y assets actualmente incluidos en esta capa:
readyup.spreadyup/include/readyup.incautopause.spcaster_system.spl4d_tank_damage_announce.spl4d_votepoll_fix.spl4d2_character_fix.spl4d2_fix_team_shuffle.spmatch_vote.spspecrates.spl4d2_skill_detect.spl4d2_skill_detect/l4d2_hybrid_scoremod.spl4d2_hybrid_scoremod_zone.spl4d2_scoremod.spinclude/l4d2_hybrid_scoremod.incinclude/l4d2_hybrid_scoremod_zone.incinclude/l4d2_scoremod.inctranslations/l4d2_hybrid_scoremod.phrases.txttranslations/es/l4d2_hybrid_scoremod.phrases.txttranslations/l4d2_scoremod.phrases.txttranslations/es/l4d2_scoremod.phrases.txttranslations/l4d2_fix_team_shuffle.phrases.txttranslations/match_vote.phrases.txttranslations/es/autopause.phrases.txttranslations/es/caster_system.phrases.txttranslations/es/match_vote.phrases.txt
Este repo está orientado a plugins y recursos que funcionen como fixes u overrides del ecosistema competitivo base.
No busca ser:
- un paquete completo de servidor
- una colección de plugins específicos de un proyecto privado
- un reemplazo total del repo upstream