The GameInfo.txt File Structure:es
![]() |
La traducción de este artículo necesita ser actualizada. Puede contribuir actualizando la traducción. Asegúrese además de que este artículo cumple con la guía de idiomas alternativos. |
El archivo GameInfo.txt
describe las herramientas SDK y el Source Engine cuyo contenido es necesario para un mod particular o un juego. Es a través de el como las herramientas y el motor saben cargar contenido Half-Life 2, Counter-Strike, o Half-Life 2: Deathmatch cuando están funcionando en el directorio de juego del mod. También es un marcador que las herramientas usan para encontrar tu directorio de juego.

Solo un programador configurando un proyecto de mod correctamente muy al comienzo necesitará alguna vez editar este archivo. En la mayoría de casos, no necesitarás hacerlo, pero si quieres que tu juego esté basado en otro contenido que Half-Life 2, entonces necesitarás modificarlo. Una vez este archivo esté configurado para tu mod, debería ser usado con el resto del contenido del mod. El mismo archivo gameinfo.txt
debe ubicarse en el directorio de juego de todos los desarrolladores que trabajan en el mod.
Configuraciones UI
Muchas configuraciones UI, incluyendo el título de tu juego, estan identificadas por gameinfo.txt
. Claves incluidas:

//Informacion General game "Game Title" // Esto es lo que se presenta en el menú de Steam. gamelogo boolean // En lugar de mostrar el texto title/title2, // el cambio esta en que mostrar el contenido en //resource/GameLogo.res
donde está el texto. // Los controles están cargados en el VGUI del motor, asi que // solo puede ser soft-modded usando el archivogamelogo
. title "Game Title" // Esto es lo que normalmente se presenta en el menu del juego. title2 "..." // Omitible. type singleplayer_only // También puede ser multiplayer_only. Ayuda a GameUI a saber // que elementos UI crear en el panel de Opciones. Omitir // para mods con ambos modos de juego MP y SP. // Si lo estableces amultiplayer_only
, la // pestaña multiplayer se añadirá primero, de lop contrario // será añadida al final sinosingleplayer_only
. nodifficulty boolean // Oculta la pestaña de dificultad en el Panel de Opciones. hasportals boolean // Muestra la pestaña Portal en el Panel de Opciones. //Pestaña Multiplayer en el Panel de Opciones. nocrosshair boolean // Oculta el panel de selección de crosshair. nohimodel boolean // Oculta el checkbox toggles cvar paracl_himodels
// Solo es presentada correctamente sicl_himodels
esta registrada nomodels boolean // Oculta el menú de selección de modelo en la // Pestaña Multiplayes del Panel de Opciones. //Lista de Juegos Steam developer "Team name" // El nombre de tu equipo(o el tuyo!) developer_url "Web address" // La web de tu equipo. Debe empezar con http://. manual "URL" // La URL al manual del juego; pede ser local. // Un instalador puede ser diseñado para establecer este // valor al directorio correcto tras la instalación. icon "path/to/icon" // El icono debe ser un TGA de 16x16px no comprimido. // Por razones de transparencia al trabajo, el TGA se deben guardar en modo 32-bit // con un canal activo de alpha. La ruta es relativa al // directorio de instalación del mod. (i.e. La ubicación degameinfo.txt
) // y no debe incluir la extensión del archivo TGA. //Cuadro de dialogo de "Crear Server" hidden_maps // Los mapas entre los parentesis no aparecerán en { // la intefaz, pero todavía son accesibles accessible "mapname" 1 // via la listaautocomplete
"mapname" 1 // y los comandoschangelevel
. } nodegraph boolean // Permite al motor sabes si generar i no nodegraphs para mapas.
Cuando hagas por primera vez un nuevo mod, en el gameinfo.txt
falta el título ("title") y los tipos de clave ("type keys"), asi que asegurate de añadirlos.

resource/clientscheme.res
para cambiar la fuente del título. Half-Life 2 usa una fuente especialmente realizada ("HalfLife2") que solo tiene un conjunto específico de caracteres; Esta fuente no mostrará la mayoría de textos correctamente. Cambia la fuente listada bajo ClientTitleFont en clientscheme.res para arreglar este problema.SteamAppId
La principal cosa relevante en el archivo GameInfo.txt
es la variable SteamAppId
. Si miras dentro de GameInfo.txt, verás una sección que parece algo así:
SteamAppId 215 //ESto montará todos los CFG's que necesites (240=CS:S, 220=HL2).
El valor SteamAppId
especifica que contenido de juego (i.e. archivos GCF) es accesible al juego.

215
a no ser que haya una necesidad específica de otro, como 218 para cargar el motor Source Orange Box.

El valor SteamAppId
para el núcleo de los juegos Source puede hayarse en Steam Application IDs. Los GCFs compartidos tendrán 'shared' en sus nombres de archivo y siempre pueden ser accedidos; Todo lo demás es privado para el juego en cuestión.
FileSystem
Esta sección describe varios componentes de FileSystem en detalle.
ToolsAppId
Todos los archivos GameInfo.txt
deben contener una línea como esta:
ToolsAppId 211 //Las herramientas cargaran esto (ie: source SDK caches) para conseguir //cosas como materiales\debug, materials\editor, etc...
Este es un caso especial en el que las herramientas usan asó que pueden cargar contenido especial que es usado por las herramientas, pero no por el juego.
SearchPaths
La sección SearchPaths
del archivo GameInfo.txt
describe donde se puede encontrar el contenido, cualquiera en tu disco duro o dentro de los archivos de cache de Steam. Para entender esta parte, debemos dar ver como los programadores acceden a los archivos de juego usando el motor Source. Todos los archivos que un programador accede en codigo deben existir bajo un path ID. Un path ID describe una o más localizaciones en tu disco duro o dentro del sistema de archivos virtual de Steam.
Como ejemplo, la mayoría de recursos de tu juego, como scripts, sonidos, archivos de modelos, y materiales son accedidos bajo el path ID "Game"
. Un programador podría decir, "abre un archivo llamado scripts\weapon_m4a1.txt
dentro del path ID 'Game'
". Si tu estás ejecutando un mod en C:\MyMod\Blasters
, y usas SteamAppId 240
que carga el contenido del Counter-Strike: Source, entonces busca el archivo en las siguientes localizaciones:
C:\MyMod\Blasters\scripts\weapon_m4a1.txt
<Directorio de instalación Steam>\Steam\SteamApps\<Nombre de usuario>\Counter-Strike Source\cstrike\scripts\weapon_m4a1.txt
<Dentro del sistema virtual de archivos de Steam>\cstrike\scripts\weapon_m4a1.txt
Usando los path IDs para describir donde estan los archivos libra al programador y al artista de tener que preocuparse por todos esos directorios diferentes. Pueden usar nombres relativos al directorio del juego (como scripts\weapon_m4a1.txt
o materials\brick\brickwall001a.vmt
) y el motor y las herramientas encontrarán la ruta completa al archivo dondquiera que exista, siempre y cuando GameInfo.txt
describa que significa path ID "Game"
.
Dentro del archivo GameInfo.txt
, hay una sección llamada "SearchPaths"
, que describe los path IDs. La mayoría de mods nunca necesitarán modificar la forma en que están configurados de la forma que ellos son creados cuando iniciaste Create a Mod desde el lanzador SDK.
La primera parte de cada línea es el nombre del path ID, y la segunda parte es donde busca los archivos cuando este path ID es usado. Un simple ejemplo muy ilustrativo, pero que nunca usarás (porque usa rutas absolutas incluyendo las letras de las unidades, que nunca puedes asumir que existan en la máquina del usuario) es este:
SearchPaths { TestPathID C:\TestMod1 TestPathID C:\TestMod2 TestPathID C:\TestMod3 }
Si un programador fuera a escribir codigo que preguntara por scripts\weapon_m4a1.txt y especificara "TestPathID" como el path ID en codigo, entonces el motor buscaría el archivo en las siguiente ubicaciones:
C:\TestMod1\scripts\weapon_m4a1.txt
C:\TestMod2\scripts\weapon_m4a1.txt
C:\TestMod3\scripts\weapon_m4a1.txt
Desde que los juegos Source acceden a la mayoría de su contenido en el path ID "Game"
, hacen algunas cosas por ti automáticamente si tu tienes un path ID llamado "Game"
. Por cada entrada con un path ID de "Game"
:
- Añade un
"GameBin"
path ID, en<dir>\bin
- Añade otra ruta
"Game"
frente a el con_<language>
al final. Por ejemplo:c:\hl2\cstrike
conseguiría un directorioc:\hl2\cstrike_french
añadido a el si estubieras ejecutandolo en una maquina de localización francesa.
Para la primera ruta de busqueda "Game"
:
- Añade una ruta de busqueda llamada
"MOD"
bajo la misma carpeta. - Añade una ruta de busqueda llamada
"DEFAULT_WRITE_PATH"
.
El SearchPaths
por defecto que sería usado en la mayoría de mod es así:
SearchPaths { Game |gameinfo_path|. Game hl2 }
Normalmente, un especificador de ruta (la parte en el lado derecho) es relativo al directorio base -- El directorio donde se encuentra hl2.exe
. Si |gameinfo_path|
precede a la ruta, entonces es relativo al directorio donde el archivo GameInfo.txt
esta colocado. Por ejemplo, si el archivo GameInfo.txt
estuviera en C:\MyMod\Blasters
, y tubiera una ruta como |gameinfo_path|SomeTestDirectory
, entonces el path ID que tu estabas creando se referiría a:
C:\MyMod\Blasters\SomeTestDirectory
Para Counter-Strike: Source, el archivo GameInfo.txt
tiene un sección SearchPaths
que es semejante a la sección descrita arriba. Si tu directorio de Counter-Strike fuera:
C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source
entonces nos estaría diciendo de mirar en estos dos directorios:
C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\cstrike
porque GameInfo.txt está aquí.
C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\hl2
que solo existe dentro de un archivos del sistema Steam virtual.