The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
The UnrealTournament.ini file stores all sorts of default values. From rendering settings all the way through to default map lists, mutator selections, and favourite servers.
If you really want to know open the thing in your favourite text editor and have a browse.
Two of the most tweaked sections are ServerPackages in the [Engine.GameEngine] section and EditPackages in the [Editor.EditorEngine] section.
The ServerPackages section specifies all of the packages that UT must load when it starts. It also determines the packages that clients connecting to that machine must have before they can play a game on that server. If you have ever wondered why your friends have to spend ten minutes downloading some mod before joining your server even when your are playing a default UT game – then the ServerPackages section in your UnrealTournament.ini file is the culprit.
The EditPackages section sepcifies all of the packages that will be automatically loaded by UnrealEd and that will be checked for compilation when the ucc make command is run. See Compiling_With_UCC for a little more information. All packages within the EditPackages section are also loaded when UnrealEd starts.
- Tip: If UnrealEd fails to start, claiming that some or another package is missing, check the EditPackages lines in UnrealTournament.ini and remove the line pointing to the package in question. Stuff like that happens when you just delete a mod's .u files rather than properly uninstalling it, or when you moved your UnrealTournament.ini from an old installation to a new one.
Here's the whole list of headings, freshly stripped with TextPad. I have no idea if other sections are worth writing about, but it's here should anyone wish to.
- Carries information such as default player class, as well as default map and save extensions.
- When empty, this will force the engine to test your video configuration (remember the first time you ever started UT, and it said it was testing for optimal video configuration?). Also shows whatever the current build of the engine is.
- This is responsible for the fact that you can summon e.g. "UnrealI.ASMD" (Unreal's ASMD) although it's saved in the UnrealShare package.
- This .ini entry shows what your default video, audio, and network devices are. Also shows what the default game type is.
- Entries under Core.System tell the engine what your default directories are (System, Textures, etc.) See Releasing A Mod
- Tells the engine the location of the Master Servers, as well as default ServerPackages.
- Contains the information sent to clients when using this computer as a game server, such as the server name, administrator contact information, and message of the day.
- [SoftDrv.SoftwareRenderDevice], [GlideDrv.GlideRenderDevice], [MetalDrv.MetalRenderDevice], [OpenGLDrv.OpenGLRenderDevice], [D3DDrv.D3DRenderDevice], [SglDrv.SglRenderDevice]
- These six sections contain graphical settings used with the various renderers available to UT: the software renderer, Glide, (What's Metal?), OpenGL, Direct3D, and SGL. Many of these settings are those which are not available in the game's standard preferences screen. (You can edit them using the Advanced Preferences screen, accessible by typing preferences into the console.) These include the ability to toggle coronas, trilinear filtering, gamma correction, and so on. Some people like disabling coronas in here, either to improve performance or to improve visibility.
- Options for UnrealEd, as covered in UnrealEd Advanced Options.
- Shows the game's default settings for Deathmatch.
- Shows the game's default settings for Capture the Flag.
- Shows the game's default settings for Domination.
- Shows the game's default settings for Assault.
- Shows the game's default settings for Team Deathmatch.
- Default game settings, such as gore settings, game speed, game password, etc.
- The only setting under this is a boolean bCanModifyGore, which is by default, set to true.
- Shows all the default tabs in the Network Game Browser (Ubrowser).
- [UBrowserUT], [UBrowserLAN], [UBrowserPopulated], [UBrowserDeathmatch], [UBrowserTeamGames], [UBrowserCTF], [UBrowserDOM], [UBrowserAS], [UBrowserLMS], [UBrowserAll]
- These ten sections specify the search criteria that UT uses when you select the corresponding tab on the Find Internet Games tab.
- Has settings for a pair of old online matching services - Heat.net and MPlayer.
- Port, path and bEnabled settings for the UT Server Admin web server.
- Server admin username and password.
- Lists default sizes and positions for various UnrealEd windows.
- Not sure what everything here is, but one function of this section is to store passwords you've used to access game servers, so that the next time you visit those servers, if the passwords are the same, you won't need to input them again.
- Stores the key used to access the game console. The value is stored as a key code that corresponds to the EInputKey enum found in the Actor (UT) class for Unreal Tournament, or the Interactions class for UT 2003.
- A couple of boolean settings, including bNoMonsters and bHumansOnly
- Default settings, adressess and paths for Local and NGStats.
- The current scale setting of the GUI, as well as which LookAndFeelClass the engine is currently using.
- Stores your current Deathmatch map list.
- Holds the servers you've stored under the Favorites tab of the Find Internet Games screen.
- Stores a list of recent addresses you've typed into the Open Location dialog box. These are the addresses displayed when you click the drop-down menu to the right of that box while in the game.
- Contains a list of recently used passwords, but unlike the [UTMenu.UTConsole] section, the passwords stored here seem to be in chronological order starting with the most recently used, and they are not paired with the server for which they were used.
Tarquin: Is this file always called this, even in UT2003? we have several tutes that link here. maybe we should use a generic name
El Muerte TDS: What about "system configuration", system config(system) will save it into the main config file (game.exe -> game.ini)
Tarquin: I'm thinking of pages that rtell people to edit the file by hand. is it always this filename in any game?
Foxpaw: It isn't the same in any game, it's actually the name of the executable, with a different extension. So, for instance, if you renamed UT2003.exe to SuperGame.exe, it would load SuperGame.ini when you ran it.
Tarquin: does Epic have a general name for this particular type of file? Otherwise we can call it Game Ini file
Corran: I don't think Epic has a specific name for it. But they're usually refered to as Game Ini Files.
Tarquin: Ok. Should I move this to the new title (and all the links will update automatically) or make a new page and we'll have to rename each link? I guess either way some will be suitable and some won't. How much of this page is general and can be put on the new page Game Ini file?
Foxpaw: Pretty much everything [UMenu.UnrealConsole]
and below is just config vars specfic to UT. The above stuff is probrably more or less universal across unreal engine games.
Ironblayde: I updated a bunch of the sections, and encountered a couple of questions. First, I noted that the [UWindow.WindowConsole] stores a key binding in the form of an ASCII code. I haven't done any UnrealScript so I don't know if it's ever used there... but is it worth creating a page explaining this with an ASCII table on it? I could work one up fairly quickly if it's needed.
- Wormbo: Actually it's a key code corresponding to the EInputKey enum declared in UT2003's Interactions class. I think there's a similar enum in UT as well, but I can't remember where.
- Ironblayde: Aha, thanks for catching that. It seems that the values in that enum do correspond to the ASCII code for those keys which have one, but I should have tested it with a key that doesn't have a one-byte ASCII code, like the arrow keys! I found the exact same enum you referred to in the Actor (UT) class. I didn't see that fact spelled out on the Actor (UT) page, but I found it lurking in my actor.uc file nonetheless. Thanks again.
Secondly, ten of these sections, beginning with [UBrowserUT], only require one sentence to explain the lot of them. I left the first nine definitions blank and placed the definition along with the tenth one; is that the preferred formatting? I've seen two terms listed together on a definition line, but ten might look a bit cluttered.
Wormbo: I've removed the trailing colons, that puts them closer together and tells the reader about their relationship.
Tarquin: I've put them on one line :)
Ironblayde: I did the same for six more sections that all serve a similar purpose. :)
Category:Legacy To Do – finish the descriptions of the .ini sections