Es/Gameinfo.txt: Difference between revisions

From Valve Developer Community
< Es
Jump to navigation Jump to search
mNo edit summary
(updating)
Line 1: Line 1:
{{Updatetranslation}}
El archivo <code>GameInfo.txt</code> 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.


{{Note|Para Half-Life 1 (GoldSrc), ver [[The liblist.gam File Structure]].}}
{{For|su equivalente en {{Gldsrc|4}}|[[liblist.gam/es|liblist.gam]]}}
{{For|su equivalente en {{source2|4}}|[[gameinfo.gi/es|gameinfo.gi]]}}
{{Code|preset=2|GameInfo.txt}} es un archivo de configuración de [[KeyValues/es|valores clave]] que describe un mod Source. Además de contener metadatos como el nombre del mod o un enlace a la web del desarrollador. También define de qué juegos depende y '''SearchPaths''' que el motor lo usa para buscar recursos. Se almacena en la raíz de la carpeta del mod, las herramientas SDK y Steam trabajan con ello.


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 <code>gameinfo.txt</code> debe ubicarse en el directorio de juego de todos los desarrolladores que trabajan en el mod.
{{Note|[[Boolean/es|Boolean]] se representa como 0 o 1.}}
{{Note|Si una cadena contiene espacios o tabulados hay que entrecomillar con " ".}}


== Configuraciones UI ==
==Ajustes básicos==
Muchas configuraciones UI, incluyendo el título de tu juego, estan identificadas por <code>gameinfo.txt</code>. Claves incluidas:
===Nombre===
Las claves que afectan al título de la ventana y menú.
{{KV|Game|cadena|El nombre del mod en [[w:es:ASCII|ASCII]]. Se muestra en Steam y se usa como ventana del título. Solo se muestra en el menú principal si el título ({{Code|preset=1|Title}}) no se especifica.}}
{{KV|Title|cadena|Una cadena en [[w:es:Unicode|Unicode]] mostrada en el menú principal del mod. Se puede añadir una nueva línea al texto del menú añadiendo otra clave con el mismo nombre «{{Code|preset=1|Title}}», pero con un 2 o un número mayor en ella. {{Note|Cuanto mayor sea el número, el texto estará más abajo.}} }}
; {{KV|GameLogo|boolean|En vez de mostrar el texto de «{{Code|preset=1|Title}}», se muestra el contenido en {{Path|…\resource\GameLogo|res}}. Véase [[Adding Your Logo to the Menu/es|Añadir tu logotipo al menú]].|since=EP2}}


===Opciones===
Claves que afectan a lo que mostrarán las opciones en el panel correspondiente. Véase también [[Customizing Options: Keyboard/es|Opciones personalizadas: Teclado]].
{{KV|Type|string|Afecta a lo que aparece en el panel de opciones, el valor será {{Code|preset=1|Singleplayer_Only}} o {{Code|preset=1|Multiplayer_Only}}. Omite esta clave si tu mod tiene ambos modos, individual y multi.}}
{{KV|NoDifficulty|boolean|Oculta la pestaña de dificultad (esto ocurre automáticamente si tu mod es {{Code|preset=1|Multiplayer_Only}}.)}}
{{KV|HasPortals|boolean|Muestra la pestaña de opciones de Portal.|since=EP2}}
{{KV|NoCrosshair|boolean|Oculta el menú de selección de mira en modo multijugador.}}
{{KV|AdvCrosshair|boolean|Activa las opciones avanzadas de mira especial. {{Todo|Cómo implementarlo.}} }}
{{KV|NoModels|boolean|Oculta el menú de selección de modelo multijugador.}}
{{KV|NoHIModel|boolean|Oculta la caja de <code>cl_himodels</code>, utilizada para los modelos multijugador en {{Gldsrc|4}}. Solo se muestra correctamente si <code>cl_himodels</code> existe en primer lugar. {{mmodernConfirm|¿Funciona en {{hldms}}?}} }}
{{KV|Hidden_Maps|subkey|Los mapas en la subclave no aparecen en «Crear un servidor». No impide que los usuarios creen su partida cargando el mapa desde la consola. Su sintaxis es <code>mapname 1</code>, con una entrada por línea. No incluye <code>.bsp</code>. Recuerda abrir y cerrar la subclave con las llaves «{» y «}». }}
{{KV|CommandLine|subkey|Lista de opciones de lanzamiento con las que empieza el mod. La sintaxis es <code>-launchoption "value"</code>, con una entrada por línea. Recuerda abrir y cerrar la subclave con las llaves «{» y «}».|only=Mapbase}}


{{Note|Valores [[Boolean|Booleanos]] están representados como enteros.}}
===Lista de juegos de Steam===
Las claves que afectan a cómo se mostrará la página de la biblioteca de Steam de tu juego o mod.
{{KV|Developer|string|El desarrollador del mod. Suele poner el nombre del equipo o de la persona si es una única persona. No funciona en la versión actual de Steam.|deprecated=1}}
{{KV|Developer_URL|string|Tu URL o la URL del mod. Debe iniciar con <code><nowiki>http://</nowiki></code>. No funciona en la versión actual de Steam.|deprecated=1}}
{{KV|Manual|string|URL manual al mod. También puede ser un archivo local. No funciona en la versión actual de Steam.|deprecated=1}}
{{KV|Icon|string|Ruta local a GameInfo.txt, a un archivo TGA 16x16 sin comprimir que será el icono del mod en Steam. ''NO'' incluye la extensión del archivo. El icono más grande de 32 píxeles aparecerá en la vista detallada de Steam, junto al de 16 píxeles y llamado <code>&lt;icon&gt;_big.tga</code>. {{Note|Para que funcionen las transparencias, el TGA debe guardarse en 32 bits con un canal alfa activo.}} }}


//Informacion General
===Motor y herramientas===
game "Game Title" // Esto es lo que se presenta en el menú de Steam.
Las claves que afectan a cómo el motor y las herramientas se ejecutan y realizan algunas opciones.
gamelogo boolean // En lugar de mostrar el texto title/title2,
{{KV|Nodegraph|boolean|Permite activar o no [[nodegraph/es|nodegraph]] (archivos .ain) en mapas.|since=EP2}}
// el cambio esta en que mostrar el contenido en
{{KV|GameData|string|Ruta a un archivo [[FGD/es|FGD]], relativo a la ubicación de [[Valve Hammer Editor/es|Hammer]]. [[instances/es|Es necesario]] compilarlo en el mapa. No lo usa el propio Hammer.}}
// <code>resource/GameLogo.res</code> donde está el texto.
{{KV|InstancePath|string|La ubicación por defecto para buscar [[Instance/es|instancias]] VMF.|since=2013}}
// Los controles están cargados en el VGUI del motor, asi que
{{KV|SupportsDX8|boolean|Al desactivarse evita que el juego se ejecute en [[DirectX_Versions/es|versiones de DirectX]] antiguas, como DX8 o inferior. No permite graficos a máximo nivel y evita también que [[Studiomdl/es|Studiomdl]] produzca code>.sw.vtx</code> y <code>.dx80.vtx</code> para modelos, ya que no se necesitan.|since=L4D}}
// solo puede ser soft-modded usando el archivo <code>gamelogo</code>.
{{KV|SupportsVR|boolean|Hace que el juego se pueda ejecutar o no en modo RV.|since=2013}}
{{KV|SupportsXBox360|boolean|Hace que el juego se puede ejecutar o no en Xbox 360 (y posiblemente otras consolas o su mando). {{Confirm|Does this enable being able to use a Xbox 360 controller with the game?, this was disabled in {{cs2|3.1}}, according to csgo_core\gameinfo.gi.}}|since=L4D}}
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 a<code>multiplayer_only</code>, la
// pestaña multiplayer se añadirá primero, de lop contrario
// será añadida al final sino <code>singleplayer_only</code>.
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 para <code>cl_himodels</code>
// Solo es presentada correctamente si <code>cl_himodels</code> 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 <nowiki>http://</nowiki>.
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 de <code>gameinfo.txt</code>)
// 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 lista <code>autocomplete</code>
"mapname" 1 // y los comandos <code>changelevel</code>.
}
nodegraph boolean // Permite al motor sabes si generar i no nodegraphs para mapas.


Cuando hagas por primera vez un nuevo mod, en el <code>gameinfo.txt</code> falta el título ("title") y los tipos de clave ("type keys"), asi que asegurate de añadirlos.
===FileSystem===
Las claves que se encuentran en la subclave <code>FileSystem</code>.
{{KV|SteamAppID|int|La [[Steam Application IDs/es|id. de aplicación]] del juego en el que se basa el mod. El mod tendrá acceso a todo el contenido de dicho juego y  no será jugable si no está instalado. El mod se ejucatará a la par que el juego base. Si estás subiendo tu juego Source a Steam, esta será tu id. de aplicación. De otro modo será 243750 para {{src13mp|4}}, 243730 para {{src13|4}}, 630 para {{as|4}} o el id. de aplicación del juego correspondiente si no pretenece a Source.
{{Note|Los mods Source mas antiguos usarán el id. 215 para Source 2006 y 218 para Source 2007. Si estás creando un mod nuevo, no deberías usar estos id., ya que están desactualizados y fueron sustituidos por Source 2013 y Alien Swarm. Solo se usan para dar apoyo a versiones.}}
{{Note|Tu mod no estará protegido por {{vac|2}} si está desarrollado para un jugador.}} }}
{{KV|AdditionalContentId|int|Otro id. de aplicación al que tiene acceso el mod. Esta característica se añadió al código fuente de SDK pero nunca se usó en otros juegos de Valve; tendrás que compilar tus propios elementos para usarlo. Si tienes que usarlo en varias aplicaciones, [[Mounting multiple games/es|realiza estos cambios]].
{{bug|El motor entiende este comando, pero las herramientas de SDK desafortunadamente no. La mejor solución, actualmente, es copiar el contenido del juego a una ubicación de tu disco duro y añadir un <code>SearchPath</code> a él. Recuerda eliminar SearchPath antes del lanzamiento.}} |deprecated=1}}
{{KV|ToolsAppId|int|Esta es la id. de aplicación que usa el SDK actualmente.|deprecated=1}}


{{Note|Es probable que su título no se presente correctamente hasta que no edite el archivo <code>resource/clientscheme.res</code> 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.}}
==SearchPaths==
<code>SearchPaths</code> es una subclave con <code>FileSystem</code>. Contiene una clave para cada ruta de búsqueda. Cuando el motor necesita un archivo atraviesa las rutas de búsqueda, deteniéndose al encontrar el archivo deseado.


== SteamAppId ==
{{Note|Una cosa a tener ene mente, se realiza en el orden que el usuario ponga como más ''importante'', si hay 2 archivos con el mismo nombre en 2 rutas distintas y el usuario las pone al final, se elegirá la que esté primero.}}
La principal cosa relevante en el archivo <code>GameInfo.txt</code> es la variable  <code>SteamAppId</code>. 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).
===Directorios===
El directorio, que es el valor de clave, será relativo al <code>SteamAppID</code> del directorio (por ejemplo, donde está el ejecutable del juego), relativo a GameInfo.txt o absoluto. Un ejemplo de cada uno, respectivament,  sería:


El valor <code>SteamAppId</code> especifica que contenido de juego (i.e. archivos [[GCF]]) es accesible al juego.
{{CodeBlock|<nowiki>Game |All_Source_Engine_Paths|HL2 // Go to the executable directory, and mount a folder called HL2 in it.
Game HL2 // Also go to the executable directory, and mount a folder called HL2 in it.
Game |GameInfo_Path|. // Go to the directory of where GameInfo.txt is located, and mount the folder it’s in.
Game "C:\MyFolderOfContent\content" // Mount this absolute directory, useful for mounting content temporarily.</nowiki>}}


{{Note|Todos los mods deberían usarl la AppId dedicada a mods <code>215</code> a no ser que haya una necesidad específica de otro, como 218 para cargar el motor Source Orange Box.}}
{{Note|In order to mount a [[VPK]] file, you need to add the VPK’s name at the end of the directory with the <code>.vpk</code> extension.  If the VPK is a multi-chunk VPK, then put the name of the VPK in without the "_dir" or "_###" at the end.}}
{{Warning|Se cuidadoso cuando elijas que juegos serán la base de tu mod. '''No podrás contar con contenido no compartido de otros juegos.'''}}
{{Warning|'''Para activar la protección VAC en el mod, asegurate de basarlo en un juego multiplayer'''. [[HL2DM]] suele ser una buena elección.}}


El valor <code>SteamAppId</code> 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.
The 2 variables above will start the search in a certain directory, <code>|All_Source_Engine_Paths|</code> will start the directory within the root folder, and <code>|GameInfo_Path|</code> will start it in the folder where GameInfo.txt is located. Both of these variables can be appended with any number of folders. There are also some special commands you can append in addition to the folders and variables, the known ones are:


== FileSystem ==
* <code>../</code> <br> Goes back one folder, this will useful for mounting other games’ content like {{portal|4}}, since AdditionalContentID is deprecated.  If you wanted to mount Portal, and your game is in, say for example <code>"<SteamFolder>\SteamApps\Common\MyGame\FolderWhereGameInfoIs"</code>, you would create a search path like this to mount it’s content:
Esta sección describe varios componentes de FileSystem en detalle.


=== ToolsAppId ===
{{CodeBlock|<nowiki>// Start in the executable directory, then go back one folder so we're in Common, and then go into Portal/portal and mount portal_pak.vpk
Todos los archivos <code>GameInfo.txt</code> deben contener una línea como esta:
Game |All_Source_Engine_Paths|../Portal/portal/portal_pak.vpk</nowiki>}}


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.
Here is also an example of how to mount a [[Modification|SourceMod]]:


=== SearchPaths ===
{{CodeBlock|<nowiki>// Start in the executable directory, then go back two folders so we're in SteamApps, and then go into SourceMods and mount the MySourceMod folder.
La sección <code>SearchPaths</code> del archivo <code>GameInfo.txt</code> 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 <i>path ID</i>. Un ''path ID'' describe una o más localizaciones en tu disco duro o dentro del sistema de archivos virtual de Steam.
Game |All_Source_Engine_Paths|../../SourceMods/MySourceMod</nowiki>}}


Como ejemplo, la mayoría de recursos de tu juego, como scripts, sonidos, archivos de modelos, y materiales son accedidos bajo el path ID <code>"Game"</code>. Un programador podría decir, "abre un archivo llamado <code>scripts\weapon_m4a1.txt</code> dentro del path ID <code>'Game'</code>". Si tu estás ejecutando un mod en <code>C:\MyMod\Blasters</code>, y usas <code>SteamAppId 240</code> que carga el contenido del Counter-Strike: Source, entonces busca el archivo en las siguientes localizaciones:


* <code>C:\MyMod\Blasters\scripts\weapon_m4a1.txt</code>
* <code>.</code> <br> This stops the search in the current directory, this should only be used if you want to directly mount where <code>|All_Source_Engine_Paths|</code> or <code>|GameInfo_Path|</code> are. An example of both:
* <code><Directorio de instalación Steam>\Steam\SteamApps\<Nombre de usuario>\Counter-Strike Source\cstrike\scripts\weapon_m4a1.txt</code>
* <code><Dentro del sistema virtual de archivos de Steam>\cstrike\scripts\weapon_m4a1.txt</code>


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 <code>scripts\weapon_m4a1.txt</code> o <code>materials\brick\brickwall001a.vmt</code>) y el motor y las herramientas encontrarán la ruta completa al archivo dondquiera que exista, siempre y cuando <code>GameInfo.txt</code> describa que significa path ID <code>"Game"</code>.
{{CodeBlock|<nowiki>// Mount both |All_Source_Engine_Paths| and |GameInfo_Path| variables' path.
Game |All_Source_Engine_Paths|.
Game |GameInfo_Path|.</nowiki>}}


Dentro del archivo <code>GameInfo.txt</code>, hay una sección llamada <code>"SearchPaths"</code>, 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:
* <code>/*</code> <br> Mount every sub-folder and [[VPK]] in the current directory, this command is what makes the custom folder work in most update to date Source games. An example of it's use:


SearchPaths
{{CodeBlock|<nowiki>// Mount the custom folder's sub-folders and VPKs.
{
Game |GameInfo_Path|custom/*</nowiki>}}
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:
===Claves===
En la mayoría de juegos Source, las únicas claves de búsqueda de rutas son <code>Game</code> y <code>Platform</code>, las cuales sirven para la mayoría de rutas de búsqueda, en Source 2013 se introdujeron algunas nuevas para añadir más control.


* <code>C:\TestMod1\scripts\weapon_m4a1.txt</code>
{{Tip|{{Insurgency|4}} y {{Doi|4}} usan el mismo sistema de ruta de búsqueda de Source 2013, ¡por lo que los comandos y claves que funcionan en Source 2013 también lo harán en ellos!}}
* <code>C:\TestMod2\scripts\weapon_m4a1.txt</code>
* <code>C:\TestMod3\scripts\weapon_m4a1.txt</code>


Desde que los juegos Source acceden a la mayoría de su contenido en el path ID <code>"Game"</code>, hacen algunas cosas por ti automáticamente si tu tienes un path ID llamado <code>"Game"</code>. Por cada entrada con un path ID de <code>"Game"</code>:
Las claves conocidas actualmente son:


# Añade un <code>"GameBin"</code> path ID, en <code><dir>\bin</code>
* <code>Game</code> <br> Añade la ruta como ruta de búsqueda simple.  Añadirá cualquier contenido que encuentre. También crea sound.cache en cada directorio de juego.
# Añade otra ruta <code>"Game"</code> frente a el con <code>_<language></code> al final. Por ejemplo: <code>c:\hl2\cstrike</code> conseguiría un directorio <code>c:\hl2\cstrike_french</code> añadido a el si estubieras ejecutandolo en una maquina de localización francesa.
* <code>Game_Write</code> {{src13|since}} <br> Marca la ruta de búsqueda en una ruta de juego escrita. Marca el directorio como predeterminado para escribir en dicho juego.
* <code>GameBin</code> {{src13|since}} <br> Una clave especial que requiere que la ruta lleve a archivos binarios del juego (donde <code>Server.dll</code> y <code>Client.dll</code> están) y usará cualquier otro DLL que encuentre. Esto te llevará a tu propia carpeta <code>Bin</code> del mod o del juego en el que se basa la carpeta <code>Bin</code>, si no compilas tus propios DLL.
* <code>Platform</code> <br> Añade una ruta de búsqueda especial a la carpeta que contiene los archivos del motor, esto llevará a la carpeta <code>Platform</code> del juego.
* <code>Mod</code> {{src13|since}} <br> Marca la ruta de búsqueda como una ruta de mod. Suele ser donde se encuentra el ejecutable. Esencial para mostrar la lista de capítulos en el menú de Nueva partida y alguna cosa más.
* <code>Mod_Write</code> {{src13|since}} <br> Marca la ruta de búsqueda como una ruta de mod. Suele ser donde se encuentra GameInfo.txt. Marca el directorio como predeterminado para escribir los archivos guardados y listas de descarga de este mod.
* <code>Default_Write_Path</code> <br> Marca la ruta de búsqueda como una ruta de escritura por defecto. Suele ser donde se encuentra GameInfo.txt. Marca el directorio como predeterminado para archivos config.cfg, node_graphs, capturas de pantalla y otros archivos del mod. Además es un recurso para cuando Mod_Write o Game_Write no se ha especificado.
* <code>VPK</code> {{con|since}} <br> Usado para montar un [[VPK/es|VPK]] por nombre. No hay que poner <code>.vpk</code> al final.


Para la primera ruta de busqueda <code>"Game"</code>:


# Añade una ruta de busqueda llamada <code>"MOD"</code> bajo la misma carpeta.
En Source 2013, también se pueden combinar claves con otras, separando cada nombre por un símbolo <code>+</code>, de este modo, si necesitas usar un directorio para varias claves, en vez de escribir esto:
# Añade una ruta de busqueda llamada <code>"DEFAULT_WRITE_PATH"</code>.


El <code>SearchPaths</code> por defecto que sería usado en la mayoría de mod es así:
{{CodeBlock|<nowiki>Game |GameInfo_Path|MyFolder
Mod |GameInfo_Path|MyFolder</nowiki>}}


SearchPaths
Se puede abreviar así:
{
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 <code>hl2.exe</code>. Si <code>|gameinfo_path|</code> precede a la ruta, entonces es relativo al directorio donde el archivo <code>GameInfo.txt</code> esta colocado. Por ejemplo, si el archivo <code>GameInfo.txt</code> estuviera en <code>C:\MyMod\Blasters</code>,  y tubiera una ruta como <code><i>|gameinfo_path|SomeTestDirectory</i></code>, entonces el path ID que tu estabas creando se referiría a:
{{CodeBlock|<nowiki>Game+Mod |GameInfo_Path|MyFolder</nowiki>}}


<code>C:\MyMod\Blasters\SomeTestDirectory</code>
Esto ahorra tiempo a la hora de reescribir el directorio de nuevo.


Para Counter-Strike: Source, el archivo <code>GameInfo.txt</code> tiene un sección <code>SearchPaths</code> que es semejante a la sección descrita arriba. Si tu directorio de Counter-Strike fuera:
===Localización automática===
 
Source crea automáticamente rutas de búsqueda localizadas. Si se monta la carpeta <code>HL2</code>, al ejecutar el mod en frances <code>HL2_French</code> se monta automáticamente sobre él, sobrescribiendo <code>HL2</code>.
<code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source</code>
 
entonces nos estaría diciendo de mirar en estos dos directorios:
 
* <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\cstrike</code>
porque GameInfo.txt está aquí.
* <code>C:\Program Files\Valve\Steam\SteamApps\username\Counter-Strike Source\hl2</code>
que solo existe dentro de un archivos del sistema Steam virtual.

Revision as of 06:53, 30 October 2023

For su equivalente en GoldSrc GoldSrc, see liblist.gam.
For su equivalente en Source 2 Source 2, see gameinfo.gi.

GameInfo.txt es un archivo de configuración de valores clave que describe un mod Source. Además de contener metadatos como el nombre del mod o un enlace a la web del desarrollador. También define de qué juegos depende y SearchPaths que el motor lo usa para buscar recursos. Se almacena en la raíz de la carpeta del mod, las herramientas SDK y Steam trabajan con ello.

Note.pngNota:Boolean se representa como 0 o 1.
Note.pngNota:Si una cadena contiene espacios o tabulados hay que entrecomillar con " ".

Ajustes básicos

Nombre

Las claves que afectan al título de la ventana y menú.

Game ([todo internal name (i)]) <cadena(en)>
El nombre del mod en ASCII. Se muestra en Steam y se usa como ventana del título. Solo se muestra en el menú principal si el título (Title) no se especifica.
Title ([todo internal name (i)]) <cadena(en)>
Una cadena en Unicode mostrada en el menú principal del mod. Se puede añadir una nueva línea al texto del menú añadiendo otra clave con el mismo nombre «Title», pero con un 2 o un número mayor en ella.
Note.pngNota:Cuanto mayor sea el número, el texto estará más abajo.
GameLogo ([todo internal name (i)]) <boolean(en)> (en todos juegos desde Half-Life 2: Episode Two)
En vez de mostrar el texto de «Title», se muestra el contenido en 🖿…\resource\GameLogo.res. Véase Añadir tu logotipo al menú.

Opciones

Claves que afectan a lo que mostrarán las opciones en el panel correspondiente. Véase también Opciones personalizadas: Teclado.

Type ([todo internal name (i)]) <string(en)>
Afecta a lo que aparece en el panel de opciones, el valor será Singleplayer_Only o Multiplayer_Only. Omite esta clave si tu mod tiene ambos modos, individual y multi.
NoDifficulty ([todo internal name (i)]) <boolean(en)>
Oculta la pestaña de dificultad (esto ocurre automáticamente si tu mod es Multiplayer_Only.)
HasPortals ([todo internal name (i)]) <boolean(en)> (en todos juegos desde Half-Life 2: Episode Two)
Muestra la pestaña de opciones de Portal.
NoCrosshair ([todo internal name (i)]) <boolean(en)>
Oculta el menú de selección de mira en modo multijugador.
AdvCrosshair ([todo internal name (i)]) <boolean(en)>
Activa las opciones avanzadas de mira especial.
Pendiente: Cómo implementarlo.
NoModels ([todo internal name (i)]) <boolean(en)>
Oculta el menú de selección de modelo multijugador.
NoHIModel ([todo internal name (i)]) <boolean(en)>
Oculta la caja de cl_himodels, utilizada para los modelos multijugador en GoldSrc GoldSrc. Solo se muestra correctamente si cl_himodels existe en primer lugar. Template:MmodernConfirm
Hidden_Maps ([todo internal name (i)]) <subkey(en)>
Los mapas en la subclave no aparecen en «Crear un servidor». No impide que los usuarios creen su partida cargando el mapa desde la consola. Su sintaxis es mapname 1, con una entrada por línea. No incluye .bsp. Recuerda abrir y cerrar la subclave con las llaves «{» y «}».
CommandLine ([todo internal name (i)]) <subkey(en)> (only in Mapbase)
Lista de opciones de lanzamiento con las que empieza el mod. La sintaxis es -launchoption "value", con una entrada por línea. Recuerda abrir y cerrar la subclave con las llaves «{» y «}».

Lista de juegos de Steam

Las claves que afectan a cómo se mostrará la página de la biblioteca de Steam de tu juego o mod.

Developer ([todo internal name (i)]) <string(en)> Obsolete
Obsoleto.
El desarrollador del mod. Suele poner el nombre del equipo o de la persona si es una única persona. No funciona en la versión actual de Steam.
Developer_URL ([todo internal name (i)]) <string(en)> Obsolete
Obsoleto.
Tu URL o la URL del mod. Debe iniciar con http://. No funciona en la versión actual de Steam.
Manual ([todo internal name (i)]) <string(en)> Obsolete
Obsoleto.
URL manual al mod. También puede ser un archivo local. No funciona en la versión actual de Steam.
Icon ([todo internal name (i)]) <string(en)>
Ruta local a GameInfo.txt, a un archivo TGA 16x16 sin comprimir que será el icono del mod en Steam. NO incluye la extensión del archivo. El icono más grande de 32 píxeles aparecerá en la vista detallada de Steam, junto al de 16 píxeles y llamado <icon>_big.tga.
Note.pngNota:Para que funcionen las transparencias, el TGA debe guardarse en 32 bits con un canal alfa activo.

Motor y herramientas

Las claves que afectan a cómo el motor y las herramientas se ejecutan y realizan algunas opciones.

Nodegraph ([todo internal name (i)]) <boolean(en)> (en todos juegos desde Half-Life 2: Episode Two)
Permite activar o no nodegraph (archivos .ain) en mapas.
GameData ([todo internal name (i)]) <string(en)>
Ruta a un archivo FGD, relativo a la ubicación de Hammer. Es necesario compilarlo en el mapa. No lo usa el propio Hammer.
InstancePath ([todo internal name (i)]) <string(en)> (en todos juegos desde Source 2013)
La ubicación por defecto para buscar instancias VMF.
SupportsDX8 ([todo internal name (i)]) <boolean(en)> (en todos juegos desde Left 4 Dead)
Al desactivarse evita que el juego se ejecute en versiones de DirectX antiguas, como DX8 o inferior. No permite graficos a máximo nivel y evita también que Studiomdl produzca code>.sw.vtx y .dx80.vtx para modelos, ya que no se necesitan.
SupportsVR ([todo internal name (i)]) <boolean(en)> (en todos juegos desde Source 2013)
Hace que el juego se pueda ejecutar o no en modo RV.
SupportsXBox360 ([todo internal name (i)]) <boolean(en)> (en todos juegos desde Left 4 Dead)
Hace que el juego se puede ejecutar o no en Xbox 360 (y posiblemente otras consolas o su mando).
Confirmar:Does this enable being able to use a Xbox 360 controller with the game?, this was disabled in Counter-Strike 2, according to csgo_core\gameinfo.gi.

FileSystem

Las claves que se encuentran en la subclave FileSystem.

SteamAppID ([todo internal name (i)]) <integer(en)>
La id. de aplicación del juego en el que se basa el mod. El mod tendrá acceso a todo el contenido de dicho juego y no será jugable si no está instalado. El mod se ejucatará a la par que el juego base. Si estás subiendo tu juego Source a Steam, esta será tu id. de aplicación. De otro modo será 243750 para Source 2013 Multiplayer Source 2013 Multiplayer, 243730 para Source 2013 Source 2013, 630 para Alien Swarm Alien Swarm o el id. de aplicación del juego correspondiente si no pretenece a Source.
Note.pngNota:Los mods Source mas antiguos usarán el id. 215 para Source 2006 y 218 para Source 2007. Si estás creando un mod nuevo, no deberías usar estos id., ya que están desactualizados y fueron sustituidos por Source 2013 y Alien Swarm. Solo se usan para dar apoyo a versiones.
Note.pngNota:Tu mod no estará protegido por VAC VAC si está desarrollado para un jugador.
AdditionalContentId ([todo internal name (i)]) <integer(en)> Obsolete
Obsoleto.
Otro id. de aplicación al que tiene acceso el mod. Esta característica se añadió al código fuente de SDK pero nunca se usó en otros juegos de Valve; tendrás que compilar tus propios elementos para usarlo. Si tienes que usarlo en varias aplicaciones, realiza estos cambios.
Icon-Bug.pngError:El motor entiende este comando, pero las herramientas de SDK desafortunadamente no. La mejor solución, actualmente, es copiar el contenido del juego a una ubicación de tu disco duro y añadir un SearchPath a él. Recuerda eliminar SearchPath antes del lanzamiento.  [todo tested in ?]
ToolsAppId ([todo internal name (i)]) <integer(en)> Obsolete
Obsoleto.
Esta es la id. de aplicación que usa el SDK actualmente.

SearchPaths

SearchPaths es una subclave con FileSystem. Contiene una clave para cada ruta de búsqueda. Cuando el motor necesita un archivo atraviesa las rutas de búsqueda, deteniéndose al encontrar el archivo deseado.

Note.pngNota:Una cosa a tener ene mente, se realiza en el orden que el usuario ponga como más importante, si hay 2 archivos con el mismo nombre en 2 rutas distintas y el usuario las pone al final, se elegirá la que esté primero.

Directorios

El directorio, que es el valor de clave, será relativo al SteamAppID del directorio (por ejemplo, donde está el ejecutable del juego), relativo a GameInfo.txt o absoluto. Un ejemplo de cada uno, respectivament, sería:

Game |All_Source_Engine_Paths|HL2 // Go to the executable directory, and mount a folder called HL2 in it. Game HL2 // Also go to the executable directory, and mount a folder called HL2 in it. Game |GameInfo_Path|. // Go to the directory of where GameInfo.txt is located, and mount the folder it’s in. Game "C:\MyFolderOfContent\content" // Mount this absolute directory, useful for mounting content temporarily.
Note.pngNota:In order to mount a VPK file, you need to add the VPK’s name at the end of the directory with the .vpk extension. If the VPK is a multi-chunk VPK, then put the name of the VPK in without the "_dir" or "_###" at the end.

The 2 variables above will start the search in a certain directory, |All_Source_Engine_Paths| will start the directory within the root folder, and |GameInfo_Path| will start it in the folder where GameInfo.txt is located. Both of these variables can be appended with any number of folders. There are also some special commands you can append in addition to the folders and variables, the known ones are:

  • ../
    Goes back one folder, this will useful for mounting other games’ content like Portal Portal, since AdditionalContentID is deprecated. If you wanted to mount Portal, and your game is in, say for example "<SteamFolder>\SteamApps\Common\MyGame\FolderWhereGameInfoIs", you would create a search path like this to mount it’s content:
// Start in the executable directory, then go back one folder so we're in Common, and then go into Portal/portal and mount portal_pak.vpk Game |All_Source_Engine_Paths|../Portal/portal/portal_pak.vpk


Here is also an example of how to mount a SourceMod:

// Start in the executable directory, then go back two folders so we're in SteamApps, and then go into SourceMods and mount the MySourceMod folder. Game |All_Source_Engine_Paths|../../SourceMods/MySourceMod


  • .
    This stops the search in the current directory, this should only be used if you want to directly mount where |All_Source_Engine_Paths| or |GameInfo_Path| are. An example of both:
// Mount both |All_Source_Engine_Paths| and |GameInfo_Path| variables' path. Game |All_Source_Engine_Paths|. Game |GameInfo_Path|.


  • /*
    Mount every sub-folder and VPK in the current directory, this command is what makes the custom folder work in most update to date Source games. An example of it's use:
// Mount the custom folder's sub-folders and VPKs. Game |GameInfo_Path|custom/*

Claves

En la mayoría de juegos Source, las únicas claves de búsqueda de rutas son Game y Platform, las cuales sirven para la mayoría de rutas de búsqueda, en Source 2013 se introdujeron algunas nuevas para añadir más control.

Tip.pngConsejo:Insurgency Insurgency y Day of Infamy Day of Infamy usan el mismo sistema de ruta de búsqueda de Source 2013, ¡por lo que los comandos y claves que funcionan en Source 2013 también lo harán en ellos!

Las claves conocidas actualmente son:

  • Game
    Añade la ruta como ruta de búsqueda simple. Añadirá cualquier contenido que encuentre. También crea sound.cache en cada directorio de juego.
  • Game_Write (en todos juegos desde Source 2013)
    Marca la ruta de búsqueda en una ruta de juego escrita. Marca el directorio como predeterminado para escribir en dicho juego.
  • GameBin (en todos juegos desde Source 2013)
    Una clave especial que requiere que la ruta lleve a archivos binarios del juego (donde Server.dll y Client.dll están) y usará cualquier otro DLL que encuentre. Esto te llevará a tu propia carpeta Bin del mod o del juego en el que se basa la carpeta Bin, si no compilas tus propios DLL.
  • Platform
    Añade una ruta de búsqueda especial a la carpeta que contiene los archivos del motor, esto llevará a la carpeta Platform del juego.
  • Mod (en todos juegos desde Source 2013)
    Marca la ruta de búsqueda como una ruta de mod. Suele ser donde se encuentra el ejecutable. Esencial para mostrar la lista de capítulos en el menú de Nueva partida y alguna cosa más.
  • Mod_Write (en todos juegos desde Source 2013)
    Marca la ruta de búsqueda como una ruta de mod. Suele ser donde se encuentra GameInfo.txt. Marca el directorio como predeterminado para escribir los archivos guardados y listas de descarga de este mod.
  • Default_Write_Path
    Marca la ruta de búsqueda como una ruta de escritura por defecto. Suele ser donde se encuentra GameInfo.txt. Marca el directorio como predeterminado para archivos config.cfg, node_graphs, capturas de pantalla y otros archivos del mod. Además es un recurso para cuando Mod_Write o Game_Write no se ha especificado.
  • VPK (en todos juegos desde Contagion)
    Usado para montar un VPK por nombre. No hay que poner .vpk al final.


En Source 2013, también se pueden combinar claves con otras, separando cada nombre por un símbolo +, de este modo, si necesitas usar un directorio para varias claves, en vez de escribir esto:

Game |GameInfo_Path|MyFolder Mod |GameInfo_Path|MyFolder

Se puede abreviar así:

Game+Mod |GameInfo_Path|MyFolder

Esto ahorra tiempo a la hora de reescribir el directorio de nuevo.

Localización automática

Source crea automáticamente rutas de búsqueda localizadas. Si se monta la carpeta HL2, al ejecutar el mod en frances HL2_French se monta automáticamente sobre él, sobrescribiendo HL2.