|
Configuring the Unreal Warfare EngineLast updated by Richard 'vajuras' Osborne (UdnStaff), to add more detail about DefaultGame property in Engine.Engine. Original author was Richard 'vajuras' Osborne (UdnStaff). Quick Note: If anyone finds any major details missing, feel free to add detail.About the Ini filesThe Unreal Engine primarily relies on three ini files (UW.ini, User.ini, and UnrealEd.ini) to dictate how it will function and initialize. Some variables are accessed directly by native code while others can easily be traced to UnrealScript code. Whenever a SaveConfig() or StaticSaveConfig() function is called on an object, the engine saves the variables to the indicated config file. Variables used by native code in the ini file will normally have a simple title. For instance, the first tag that appears in the UW.ini file is simply named [URL]. However, any variable used by unrealscript code usually has a fully qualified class name which follows the format (package).(classname). For instance, the [Engine.Engine] section in UW.ini indicates the Engine class stored within the Engine package loads the variable. There are some exceptions to this rule, such as WinDrv.WindowsClient, which is a tag loaded by native C++ code. Also keep in mind UCC (UnrealScript Compiler) uses the UW.ini to determine which packages exist. Unlike the game engine, UCC only uses a small subset of the settings (mainly the Editor.EditorEngine section) to load packages. The first time the engine is run, certain ini files will most likely be missing (UW.ini and UnrealEd.ini). The default.ini file is loaded and translated into UW.ini while the DefaultUnrealEd.ini is translated into UnrealEd.ini. The default files are no longer used after the actual ini files are generated. However, you'll find that the default files are very useful for reference.UW.ini fileUsed by the engine to load the protocol, default/intro map, entry level, and global information that will apply to all players on the server (such as game rules). This file also stores the settings for the preferred render device, etc. Okay, let's breakdown the ini by sections: Section: URLClass: Engine/Src/UnURL.cpp - Loaded by StaticInit() Notes: Some of these defaults can be overrided via the command line (such as default map). Other defaults are overrided at other places. Such as the default Name and Class are overrided by the DefaultPlayer tag in DefUser.ini. [URL] Protocol=unreal (Defines the protocol) ProtocolDescription=Unreal Protocol (Describes the protocol) Name=Player Map=Index.unr (Default Map the engine should load) LocalMap=Entry.unr (Default Entry Level) Host= Portal= MapExt=unr (Default Map Extension) EXEName=uw.exe (Name of the exe of the game) SaveExt=usa Port=7777 (Default port) Class=WarClassLight.WarCOGSoldier (Not Used)Section: FirstRun Class: Engine/Inc/UnEngineWin.h, - Loaded by InitEngine() Notes: This variable is used to determine if this is the first time the user is running the game. This can be useful if you wish to display a window to request the user to set his/her video settings and other options. [FirstRun] FirstRun=927 (If this variable equals zero, then it is the first time this game has been started) Section: Engine.Engine Class: UnrealScript code Notes: This section configures the render device, audio device, and many defaults. The Console class is a variable you will most likely want to change and instead use a custom Console subclass.
[Engine.Engine] RenderDevice=D3DDrv.D3DRenderDevice (preferred render device) AudioDevice=ALAudio.ALAudioSubsystem (audio system) NetworkDevice=IpDrv.TcpNetDriver (network protocol) DemoRecordingDevice=Engine.DemoRecDriver Console=Engine.Console (default console class) DefaultPlayerMenu=UDebugMenu.UDebugRootWindow (default menu system) Language=int GameEngine=Engine.GameEngine EditorEngine=Editor.EditorEngine DefaultGame=WarfareGame.WarfareTeamGame DefaultServerGame=WarfareGame.WarfareTeamGame ViewportManager=WinDrv.WindowsClient Render=Render.Render (not used) Input=Engine.Input (not really used - referenced by UnCamera.cpp) Canvas=Engine.Canvas (not really used - referenced by UnCamera.cpp)Section: Core.System Class: UnrealScript code Notes: This section defines all the paths the engine will use to load maps, packages, etc.
[Core.System] PurgeCacheDays=30 SavePath=..\Save CachePath=..\Cache CacheExt=.uxx Paths=..\System\*.u Paths=..\Maps\*.unr Paths=..\TestMaps\*.unr Paths=..\Textures\*.utx Paths=..\Sounds\*.uax Paths=..\Music\*.umx Paths=..\StaticMeshes\*.usx Paths=..\Animations\*.ukx Suppress=DevLoad Suppress=DevSave Suppress=DevNetTraffic Suppress=DevGarbage Suppress=DevKill Suppress=DevReplace Suppress=DevCompile Suppress=DevBind Suppress=DevBspSection: Engine.GameEngine Class: UnrealScript code Definitions:
[Engine.GameEngine] CacheSizeMegs=32 UseSound=True ServerActors=IpDrv.UdpBeacon MasterServerAddress=unreal.epicgames.com MasterServerPort=27900 (not used) ServerActors=UWeb.WebServer ServerPackages=AmbientCreatures ServerPackages=WarEffects ServerPackages=Decorations ServerPackages=GamePlay ServerPackages=UnrealGame ServerPackages=WarfareGame ServerPackages=WarClassLight ServerPackages=WarClassHeavy ServerPackages=WarClassMisc ServerPackages=PickupsSection: WinDrv.WindowsClient Class: UnEngineWin.h Notes: This class defines the settings for a windows computer system. These details are normally initialized by an external application (such as UnEngineWin.h code). [WinDrv.WindowsClient] WindowedViewportX=640 WindowedViewportY=480 FullscreenViewportX=640 FullscreenViewportY=480 TextureDetail=High SkinDetail=High LightmapDetail=High TextureMinLOD=0 TextureMaxLOD=12 Brightness=0.800000 Contrast=0.700000 Gamma=0.800000 UseJoystick=False (Joystick Active) CaptureMouse=True StartupFullscreen=True (Full screen) ScreenFlashes=True NoLighting=False DeadZoneXYZ=True DeadZoneRUV=False InvertVertical=False ScaleXYZ=1000.000000 ScaleRUV=2000.000000 MinDesiredFrameRate=10.000000 Decals=True (Display Decals) NoDynamicLights=False NoFractalAnim=FalseSection: Engine.Player Class: UnrealScript code Notes: This section stores the system's internet connection (LAN, Cable, DSL, Modem, etc). [Engine.Player] ConfiguredInternetSpeed=10000 ConfiguredLanSpeed=20000Section: ALAudio.ALAudioSubsystem Class: ALAudio -> ALAudioSubsystem.cpp Notes: This section configures the sound system. The music and sound volume are stored here as well as other options. [ALAudio.ALAudioSubsystem] UseEAX=False CompatibilityMode=False ReverseStereo=False OutputRate=44100Hz Channels=32 MusicVolume=0.8 SoundVolume=1.0 DopplerFactor=1.0 Rolloff=0.5Section: IpDrv.TcpNetDriver Class: IpDrv -> UnNetDrv.cpp Notes: This section configures the unreal network driver for servers (dedicated, listen).
[IpDrv.TcpNetDriver] AllowDownloads=True ConnectionTimeout=15.0 InitialConnectTimeout=500.0 AckTimeout=1.0 (not used) KeepAliveTime=0.2 MaxClientRate=20000 SimLatency=0 (not used) RelevantTimeout=5.0 SpawnPrioritySeconds=1.0 ServerTravelPause=4.0 NetServerMaxTickRate=20 LanServerMaxTickRate=35 DownloadManagers=IpDrv.HTTPDownload DownloadManagers=Engine.ChannelDownloadSection: Engine.GameReplicationInfo Class: UnrealScript code Notes: This section sets the server information. [Engine.GameReplicationInfo] ServerName=Another Unreal Server ShortName=Unreal ServerSection: IpServer.UdpServerQuery [IpServer.UdpServerQuery] GameName=ut (Not Used)Section: IpDrv.UdpBeacon Class: UnrealScript code Notes: This section stores data used to configure the beacon sender and receiver base class. [IpDrv.UdpBeacon] DoBeacon=True BeaconTime=0.50 BeaconTimeout=5.0 BeaconProduct=utSection: Editor.EditorEngine Class: UnrealScript code / Editor -> UnEditor.cpp Notes: This section is used mostly by UnrealEd and UCC to determine which packages should be loaded. However in the case of UnrealEd, if the UNREALED.UnrealEdEngine section is present (in which it is not by default), it's settings will override this section because UnrealEdEngine unrealscript class overrides the settings.
[Editor.EditorEngine] UseSound=True CacheSizeMegs=32 GridEnabled=True SnapVertices=False SnapDistance=10.000000 GridSize=(X=16.000000,Y=16.000000,Z=16.000000) RotGridEnabled=True RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024) GameCommandLine=-log FovAngleDegrees=90.000000 GodMode=True AutoSave=True AutoSaveTimeMinutes=5 AutoSaveIndex=6 UseAxisIndicator=True MatineeCurveDetail=0.1 LoadEntirePackageWhenSaving=0 EditPackages=Core EditPackages=Engine EditPackages=Fire EditPackages=Editor EditPackages=UWindow EditPackages=UnrealEd EditPackages=IpDrv EditPackages=UWeb EditPackages=GamePlay EditPackages=UnrealGame EditPackages=WarEffects EditPackages=Decorations EditPackages=WarfareGame EditPackages=IHVDemoContent EditPackages=Pickups EditPackages=WarClassLight EditPackages=WarClassHeavy EditPackages=WarClassMisc EditPackages=AmbientCreatures EditPackages=Vehicles EditPackages=UDebugMenu EditPackages=UPreviewSection: Engine.StatLog Class: UnrealScript code Notes: This section is used to determine the location of ngStats logging utility (ngStats logs game events such as frags, accuracy, favorite weapon, etc). [Engine.StatLog] LocalBatcherURL=../NetGamesUSA.com/ngStats/ngStatsUT.exe LocalBatcherParams= LocalStatsURL=../NetGamesUSA.com/ngStats/html/ngStats_Main.html WorldBatcherURL=../NetGamesUSA.com/ngWorldStats/bin/ngWorldStats.exe WorldBatcherParams=-d ../NetGamesUSA.com/ngWorldStats/logs -g UT WorldStatsURL=http://www.netgamesusa.com LocalLogDir=../Logs WorldLogDir=../NetGamesUSA.com/ngWorldStats/logs bWorldBatcherError=False bBatchLocal=FalseSection: Editor.EditorEngine Class: UnrealScript code / Editor -> UnEditor.cpp Notes: UnrealEdEngine subclasses the unrealscript Editor.EditorEngine class. Thus, it's properties can automatically override it's parent class when the ini settings are loaded into unrealed.
[UNREALED.UnrealEdEngine] AutoSaveIndex=7 GridEnabled=True SnapVertices=False SnapDistance=10.000000 GridSize=(X=16.000000,Y=16.000000,Z=16.000000) RotGridEnabled=True RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024) UseSizingBox=False UseAxisIndicator=True FovAngleDegrees=90.000000 GodMode=True AutoSave=True AutosaveTimeMinutes=5 GameCommandLine=-log AlwaysShowTerrain=False UseActorRotationGizmo=False LoadEntirePackageWhenSaving=False AudioDevice=None Console=Class'Engine.Console' DefaultMenu=None DefaultPlayerMenu=None NetworkDevice=None Language=None CacheSizeMegs=32 UseSound=True C_WorldBox=(B=107,G=0,R=0,A=255) C_GroundPlane=(B=63,G=0,R=0,A=255) C_GroundHighlight=(B=127,G=0,R=0,A=255) C_BrushWire=(B=63,G=63,R=255,A=255) C_Pivot=(B=0,G=255,R=0,A=255) C_Select=(B=127,G=0,R=0,A=255) C_Current=(B=0,G=0,R=0,A=255) C_AddWire=(B=255,G=127,R=127,A=255) C_SubtractWire=(B=63,G=192,R=255,A=255) C_GreyWire=(B=163,G=163,R=163,A=255) C_BrushVertex=(B=0,G=0,R=0,A=255) C_BrushSnap=(B=0,G=0,R=0,A=255) C_Invalid=(B=163,G=163,R=163,A=255) C_ActorWire=(B=0,G=63,R=127,A=255) C_ActorHiWire=(B=0,G=127,R=255,A=255) C_Black=(B=0,G=0,R=0,A=255) C_White=(B=255,G=255,R=255,A=255) C_Mask=(B=0,G=0,R=0,A=255) C_SemiSolidWire=(B=0,G=255,R=127,A=255) C_NonSolidWire=(B=32,G=192,R=63,A=255) C_WireBackground=(B=0,G=0,R=0,A=255) C_WireGridAxis=(B=119,G=119,R=119,A=255) C_ActorArrow=(B=0,G=0,R=163,A=255) C_ScaleBox=(B=11,G=67,R=151,A=255) C_ScaleBoxHi=(B=157,G=149,R=223,A=255) C_ZoneWire=(B=0,G=0,R=0,A=255) C_Mover=(B=255,G=0,R=255,A=255) C_OrthoBackground=(B=163,G=163,R=163,A=255) C_StaticMesh=(B=255,G=255,R=0,A=255) C_VolumeBrush=(B=225,G=196,R=255,A=255) C_ConstraintLine=(B=0,G=255,R=0,A=255) C_AnimMesh=(B=28,G=221,R=221,A=255) C_TerrainWire=(B=255,G=255,R=255,A=255) EditPackages=Core EditPackages=Engine EditPackages=Fire EditPackages=Editor EditPackages=UWindow EditPackages=UnrealEd EditPackages=IpDrv EditPackages=UWeb EditPackages=GamePlay EditPackages=UnrealGame EditPackages=WarEffects EditPackages=Decorations EditPackages=WarfareGame EditPackages=IHVDemoContent EditPackages=Pickups EditPackages=WarClassLight EditPackages=WarClassHeavy EditPackages=WarClassMisc EditPackages=AmbientCreatures EditPackages=Vehicles EditPackages=UDebugMenu EditPackages=UPreview DefUser.ini fileStores permenant user settings such as joystick buttons, key assignments, and options specific to the user (PlayerController). Section: DefaultPlayerClass: Engine -> UnController.cpp, UnGame.cpp Notes: Configures the default player (the player the user starts with).
[DefaultPlayer] Name=Player (Name of the player) Class=WarClassLight.WarCOGSoldier (Default Player Class) team=255 (Default Team Assignment)Section: Engine.Input Class: Engine -> UnCamera.cpp Notes: Used to bind keys to specific actions. UnCamera.cpp instantiates the input system when the viewport (UViewport) is created.
[Engine.Input] Aliases[0]=(Command="Button bFire | Fire",Alias=Fire) Aliases[12]=(Command="ActivateItem",Alias=InventoryActivate) LeftMouse=Fire |