Solución de problemas
Cómo informar correctamente de un problema:
Si quieres hacer una propuesta, informar de un error o de un fallo, o necesitas ayuda «en directo», siempre puedes acudir aquí. Basta con pulsar el botón verde New issue y rellenar el formulario.
Los desarrolladores agradecerán que la descripción del problema sea lo más detallada posible:
- La versión de tu sistema operativo; La versión (número de build) del servidor HLDS, o de ReHLDS;
- La versión de tu juego (o mod);
- La versión de Metamod-r (número de build o fecha de compilación);
- Si quieres, añade la lista de módulos (escribiendo
meta listen la consola del servidor).
- Si quieres, añade la lista de módulos (escribiendo
- Adjunta los registros;
- Adjunta los volcados de fallos;
Esto permitirá un análisis más a fondo y, con suerte, corregir tus problemas en el futuro.
Cómo obtener volcados de fallos de HLDS\reHLDS
Fuente principal (ruso).
Espejo (ruso).
No publiques los volcados sin más en internet: suelen contener información completa del servidor, incluido el rcon. Para enviarlos puedes comprimirlos con contraseña, lo que además resulta práctico porque se comprimen muy bien.
Windows
Mediante WER (Informe de errores de Windows):
- Activa WER (los informes de errores):
- Antes de Vista:
- Ejecuta drwtsn32.exe y selecciona "Full" junto a Crash Dump File. Ahí también puedes ver (o configurar) dónde se guardarán los volcados.
- En Vista y posteriores:
- Editando el registro; este método cómodo es de s1lent:
Una forma detallada y rápida de configurar el registro para obtener volcados, pensada para principiantes.
- Ajustes:
- NAME_APP -
hlds.exe- nombre de la aplicación de la que hay que generar volcados si se cierra de forma inesperada.
- REG_LINK -
HKLM\Software\Microsoft\Windows\Windows Error Reporting- ruta de la sección Informe de errores de Windows (lo más probable es que no haga falta cambiarla; creo que las rutas son iguales en todas las versiones de Windows)
- DumpType -
20— volcado normal1— volcado mínimo2— volcado completo- DumpCount -
15- número de volcados que se conservan; si en la carpeta hay más de los indicados, se borra el más antiguo para dejar sitio al nuevo.
- DumpFolder -
C:\CrashDumps- ruta de la carpeta donde se guardarán los volcados.
- (para evitar problemas, no uses espacios ni caracteres cirílicos en las rutas)
- Instalación:
Descarga el archivo y descomprímelo.
Ejecuta add_RegistryDumps.bat
Tras escribir en el registro, asegúrate de que el servicio Informe de errores de Windows está activado.
Después pulsa Windows + R (la tecla Windows está entre ctrl y alt), o abre cmd.exe o «Inicio - Ejecutar»; escribe a continuación gpedit.msc y sigue la captura de pantalla.
Configuración del equipo -> Plantillas administrativas -> Componentes de Windows -> Informe de errores de Windows
add_RegistryDumps.zip \
espejo de "add_RegistryDumps.zip"
remove_RegistryDumps.zip \
espejo de "remove_RegistryDumps.zip"
Mediante la utilidad userdumps
- Instrucciones de unKn0wn:
Método para obtener volcados con la utilidad de Microsoft:
UserModeProcessDumper \
espejo de "UserModeProcessDumper8_1_2929_5.zip".
Gracias a Lev por los ajustes.
1. Instalación
Descomprime el archivo descargado (de forma predeterminada, C:\kktools\userdump8.1).
- Ejecuta setup.exe desde el directorio:
- Si usas Windows XP/2003 de 32 bits, C:\kktools\userdump8.1\x86.
- Si usas Windows XP/2003 de 64 bits, C:\kktools\userdump8.1\x64.
- En la ventana del asistente de instalación, pulsa Next.
- (Solo en sistemas de 32 bits) En la ventana Terminate Mode, selecciona Disable "Dump on Process Termination" feature y pulsa Next.
- Pulsa Finish y espera a que termine la instalación. En la ventana User Mode Process Dump Setup, pulsa el botón YES (si no sabes cómo llegar al menú de ajustes de userdump, siempre lo tienes en Panel de control - Process Dumper).
2. Añadir una aplicación
En la ventana Properties: User Mode Process Dumper Setup que se abre, pulsa New y añade el nombre del programa que nos interesa, por ejemplo hlds.exe (¡la extensión es obligatoria!), y pulsa OK
3. Ajustes
En la ventana Properties: User Mode Process Dumper Setup, localiza la regla que acabas de crear, selecciónala y pulsa el botón Rules En la ventana Process Monitoring Ruless for hlds.exe que se abre
- Selecciona Use custom rules.
- Si hace falta, cambia la carpeta donde se guardan los volcados.
- En Exception Codes, marca (con el botón izquierdo) estos códigos: "Access Violation, Overflow, Illegal Instruction, Stack overflow".
- Pon el parámetro Save Mode en Cyclic saving (5 veces). El resultado debería ser más o menos así:
P. D.: recomiendo usarlo junto con Dr Watson con el tipo de volcado "Brief", ya que este guarda los registros en texto y así puedes elegir los volcados que te interesan. Userdump, por su parte, generará los volcados completos.
Linux
El servidor debe arrancarse con el parámetro -debug.
Si gdb está instalado en el sistema, la información precisa del error se escribirá automáticamente en debug.log. Por eso conviene instalarlo (el comando depende del sistema; en Debian\Ubuntu es apt install gdb). Aunque no hace falta para generar volcados, es recomendable hacerlo siempre que sea posible: en debug.log queda registrado el punto del fallo, lo que permite decir algo sobre el error de inmediato. Obtener esa misma información en otra máquina a partir del archivo de volcado exigiría disponer de todos los binarios del servidor.
De forma predeterminada el archivo de volcado se llama core, se escribe en el directorio de trabajo y, por tanto, se sobrescribe. Para evitarlo, puedes añadir el identificador del proceso al nombre:
echo 1 > /proc/sys/kernel/core_uses_pid
o bien enviar los volcados a /tmp:
echo /tmp/%e-%t-%p-%c.dmp > /proc/sys/kernel/core_pattern Más información
here.
Arranque sin sudo (como root; en caso contrario, el ajuste general del sistema debe estar en unlimited):
ulimit -c unlimited && ./hlds_run -debug ...
Arranque con sudo (como usuario hlds):
ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && ./hlds_run -debug ..."
Comprobación del arranque con sudo:
ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && whoami && ulimit -Sc && ./hlds_run -debug ..."
muestra el nombre del usuario con el que se arrancará y el límite de creación de volcados, y a continuación inicia el servidor.
Para comprobar la configuración de volcados puedes usar un módulo creado a tal efecto:
FixItAll \
FixItAll mirror or
Crash.sma*.
Tabla resumen:
Folder: el directorio de tu mod o juego. En las columnas
and
se indican los nombres de los ejecutables de la carpeta dlls, situada dentro del directorio de tu mod o juego.
❌ — no existe versión para esa plataforma
| Juego \ Mod | Carpeta | ![]() | ![]() |
|---|---|---|---|
| Action Half-Life | action | ahl.dll | ahl.so |
| Adrenaline Gamer | ag | ag.dll | ag.so |
| openAG | ag | ag.dll | ag.so |
| Azure Sheep | asheep | hl.dll | ❌ |
| Base Defense | bdef | server.dll | server.so |
| The Battle Grounds | bg | bg.dll | bg.so |
| Brutal Half-Life | bhl | bhl.dll | ❌ |
| Brain Bread | brainbread | bb.dll | ❌ |
| Half-Life: Blue Shift | bshift | hl.dll | bshift.so |
| Bumper Cars | bumpercars | hl.dll | ❌ |
| BuzzyBots | buzzybots | bb.dll | ❌ |
| Chicken Fortress 3 | ckf3 | mp.dll | ❌ |
| Counter-Strike 1.0 | cs10 | mp.dll | ❌ |
| Counter-Strike 1.5 | csv15 | mp.dll | ❌ |
| Counter-Strike 1.6 | cstrike | mp.dll | cs.so |
| Counter-Strike:Condition Zero | czero | mp.dll | cs.so |
| Counter-Strike:Condition Zero Deleted Scenes | czeror | cz.dll | cz.so |
| Desert Crisis | dcrisis | dc.dll | dc.so |
| Half-Life: Decay | decay | decay.dll | ❌ |
| Deathmatch Classic | dmc | dmc.dll | dmc.so |
| Day of Defeat | dod | dod.dll | dod.so |
| Digital Paintball | dpb | pb.dll | pb.i386.so |
| Earth's Special Forces (Old) | esf | hl.dll | hl.so (está en linuxdll, no en el directorio dlls) |
| Earth's Special Forces | esf | hl.dll | hl.so |
| Existence | existence | existence.dll | ❌ |
| Firearms | firearms | firearms.dll | ❌ |
| Frontline Force | frontline | frontline.dll | front.so |
| Gangsta Wars | gangstawars | gwars27.dll | ❌ |
| Gangwars | gangwars | mp.dll | ❌ |
| Opposing Force | gearbox | opfor.dll | opfor.so |
| Global Warfare | globalwarfare | mp.dll | gw.so |
| Goldeneye | goldeneye | mp.dll | ❌ |
| Headcrab Frenzy | hcfrenzy | hcfrenzy.dll | hcfrenzy.so |
| Half-Life 1.5: Weapon Edition | hl15we | hl.dll | hl.so |
| HL-Rally | hlrally | hlrally.dll | hlr.so |
| Holy Wars | holywars | holywars.dll | hl.so |
| Hostile Intent | hostileintent | hl.dll | hl.so |
| International Online Soccer | ios | ios.dll | ios.so |
| Judgement | judgedm | mp.dll | judge.so |
| Kanonball | kanonball | kanonball.dll | hl.so |
| Monkeystrike | monkeystrike | monkey.dll | ms.so |
| Morbid Inclination | MorbidPR | morbid.dll | morbid.so |
| Move In! | movein | hl.dll | hl.so |
| Master Sword Continued | msc | ms.dll | ❌ |
| Natural Selection | ns | ns.dll | ns.so |
| Natural Selection Beta | nsp | ns.dll | ns.so |
| Over Ground | og | og.dll | og.so |
| Outlawsmod | ol | hl.dll | ol.so |
| Operations 1942 | ops1942 | spirit.dll | spirit.so |
| Open-Source Jailbreak | osjb | jail.dll | osjb.so |
| Out Break | outbreak | hl.dll | ❌ |
| Oz Deathmatch | oz | mp.dll | mp.so |
| Paintball | paintball | mp.dll | pb.so |
| Public Enemy | penemy | pe.dll | pe.so |
| Point of No Return | ponreturn | mp.dll | ponr.so |
| Pirates, Vikings and Knights | pvk | hl.dll | hl.so |
| Rocket Crowbar 2 | rc2 | rc2.dll | rc2.so |
| Resident Evil : Cold Blood | recbb2 | recb.dll | recb.so |
| Gunman Chronicles | rewolf | gunman.dll | ❌ |
| Ricochet | ricochet | mp.dll | ricochet.so |
| Rocket Crowbar | rockcrowbar | rc.dll | rc.so |
| Rival Species | rspecies | hl.dll | hl.so |
| Scientist Hunt | scihunt | shunt.dll | shunt.so |
| The Ship | ship | ship.dll | ship.so |
| Science & Industry | si | si.dll | si.so |
| Snow-War | snow | snow.dll | snow.so |
| StargateTC (Old, 1.x) | stargatetc | hl.dll | hl.so |
| StargateTC (Updated, 2.x) | stargatetc | hl.dll | stc.so |
| StargateTC (Updated, 2.x) | stargatetc | hl.dll | stc_i386_opt.so |
| Sven Coop (Old) | svencoop | hl.dll | hl.so |
| Sven Coop (Steam) | svencoop | server.dll | server.so |
| Swarm | swarm | swarm.dll | swarm.so |
| Team Fortress Classic | tfc | tfc.dll | tfc.so |
| The Wastes | thewastes | thewastes.dll | thewastes.so |
| Project Timeless | timeless | timeless.dll | pt.so |
| Tour of Duty | tod | hl.dll | hl.so |
| Train Hunters | trainhunters | th.dll | th.so |
| The Specialists | ts | mp.dll | ts.so |
| The Trenches | tt | tt.dll | tt.so |
| Underworld Bloodline | underworld | uw.dll | uw.so |
| Half-Life | valve | hl.dll | hl.so |
| VampireSlayer | vs | mp.dll | vs.so |
| Wanted! | wantedhl | wanted.dll | hl.so |
| Wizard Wars (Steam) | wizardwars | wizardwars.dll | wizardwars.so |
| Wizard Wars Beta (Steam) | wizardwars_beta | wizardwars.dll | wizardwars.so |
| Wizard Wars (Old) | wizwars | mp.so | hl.dll |
| WormsHL | wormshl | wormshl.dll | wormshl.so |
| Zombie Panic | zp | mp.dll | hl.so |
Toda ayuda y contribución al proyecto es bienvenida. Cuantas más pruebas y más comentarios haya, mejor avanzarán Metamod-r y los productos relacionados. ¡Suerte!



