From d8a7e7ab6903e753880abf57471ff8106a4a059c Mon Sep 17 00:00:00 2001 From: Greelan <53196309+Greelan@users.noreply.github.com> Date: Thu, 10 Nov 2022 12:22:02 +1100 Subject: [PATCH] Add Unreal Tournament (UT99) (#217) --- ut99.kvp | 86 +++++ ut99UnrealTournament.ini | 754 ++++++++++++++++++++++++++++++++++++ ut99config.json | 811 +++++++++++++++++++++++++++++++++++++++ ut99metaconfig.json | 12 + 4 files changed, 1663 insertions(+) create mode 100644 ut99.kvp create mode 100644 ut99UnrealTournament.ini create mode 100644 ut99config.json create mode 100644 ut99metaconfig.json diff --git a/ut99.kvp b/ut99.kvp new file mode 100644 index 0000000..d10825b --- /dev/null +++ b/ut99.kvp @@ -0,0 +1,86 @@ +Meta.DisplayName=Unreal Tournament 99 +Meta.Description=Unreal Tournament (UT99) Dedicated Server. Based on v436 official server, with Bonus Packs 1 to 4 plus OldUnreal patch as selected by user +Meta.OS=Windows, Linux +Meta.Arch=x86_64 +Meta.Author=Greelan, TABLE +Meta.URL=https://unreal.fandom.com/wiki/Unreal_Tournament +Meta.DisplayImageSource=steam:13240 +Meta.EndpointURIFormat= +Meta.ConfigManifest=ut99config.json +Meta.MetaConfigManifest=ut99metaconfig.json +Meta.ConfigRoot=ut99.kvp +Meta.MinAMPVersion=2.4.0.8 +Meta.SpecificDockerImage= +Meta.DockerRequired=False +Meta.ContainerPolicy=Supported +Meta.Prerequsites=[] +Meta.ConfigReleaseState=NotSpecified +Meta.NoCommercialUsage=False +App.DisplayName=Unreal Tournament 99 +App.RootDir=./ut-server/ +App.BaseDirectory=./ut-server/ +App.ExecutableWin=System\UCC.exe +App.ExecutableLinux=System/ucc-bin +App.WorkingDir=System +App.LinuxCommandLineArgs=-nohomedir +App.WindowsCommandLineArgs= +App.CommandLineArgs=server {{MapName}}?{{$FormattedArgs}} ini=_AMP_UnrealTournament.ini log=server.log port={{$GamePort}} {{$PlatformArgs}} +App.UseLinuxIOREDIR=False +App.AppSettings={} +App.EnvironmentVariables={"SteamAppId":"13240"} +App.CommandLineParameterFormat={0}={1} +App.CommandLineParameterDelimiter=? +App.ExitMethod=OS_CLOSE +App.ExitTimeout=30 +App.ExitString=stop +App.ExitFile=lock +App.HasWriteableConsole=True +App.HasReadableConsole=True +App.SupportsLiveSettingsChanges=False +App.LiveSettingChangeCommandFormat=set {0} "{1}" +App.ApplicationIPBinding=0.0.0.0 +App.Ports=[{"Protocol":"UDP","Port":7777,"Ref":"GamePort","Name":"Game Port","Description":"Port for game traffic"},{"Protocol":"UDP","Port":7778,"Ref":"QueryPort","Name":"Query Port","Description":"Port for query traffic"},{"Protocol":"UDP","Port":7779,"Ref":"MasterServerPort1","Name":"Master Server Port 1","Description":"Port for first master server traffic"},{"Protocol":"UDP","Port":7780,"Ref":"MasterServerPort2","Name":"Master Server Port 2","Description":"Port for second master server traffic"},{"Protocol":"UDP","Port":7781,"Ref":"MasterServerPort3","Name":"Master Server Port 3","Description":"Port for third master server traffic"},{"Protocol":"TCP","Port":8888,"Ref":"WebserverPort","Name":"Webserver Port","Description":"Port for webserver traffic"}] +App.AdminPortRef=0 +App.PrimaryApplicationPortRef=GamePort +App.UniversalSleepApplicationUDPPortRef=GamePort +App.UniversalSleepSteamQueryPortRef=QueryPort +App.MaxUsers=16 +App.UseRandomAdminPassword=False +App.RemoteAdminPassword=Password123 +App.AdminMethod=STDIO +App.AdminLoginTransform=None +App.RCONConnectDelaySeconds=5 +App.RCONConnectRetrySeconds=5 +App.RCONHeartbeatMinutes=0 +App.RCONHeartbeatCommand=ping +App.TelnetLoginFormat={0} +App.UpdateSources=[{"UpdateStageName":"Base Server Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"http://www.ut-files.com/index.php?dir=Entire_Server_Download/&file=utserver436final.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Base Server Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"http://www.ut-files.com/index.php?dir=Entire_Server_Download/&file=ut-server-linux-436.tar.gz","UpdateSourceTarget":"{{$FullInstanceDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"Bonus Packs Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/IceOfWraith/UT99-BonusPacks/raw/main/ut99bonuspacks.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Windows","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Windows.zip","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Linux.tar.bz2","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true,"UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469b"},{"UpdateStageName":"OldUnreal Patch Download","UpdateSourcePlatform":"Linux","UpdateSource":"FetchURL","UpdateSourceData":"https://github.com/OldUnreal/UnrealTournamentPatches/releases/download/v{{PatchVersion}}/OldUnreal-UTPatch{{PatchVersion}}-Linux-amd64.tar.bz2","UpdateSourceTarget":"{{$FullRootDir}}","UnzipUpdateSource":true,"OverwriteExistingFiles":true,"DeleteAfterExtract":true,"UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469c"},{"UpdateStageName":"Copy OldUnreal Patch Files","UpdateSourcePlatform":"Linux","UpdateSource":"Executable","UpdateSourceData":"/bin/bash","UpdateSourceArgs":"-c '\\cp -R ./ut-server/System64/* ./ut-server/System'","UpdateSourceConditionSetting":"PatchVersion","UpdateSourceConditionValue":"469c"},{"UpdateStageName":"Pause Update Stages","UpdateSourcePlatform":"Linux","UpdateSource":"Pause","UpdateSourceArgs":"2"},{"UpdateStageName":"Set Executable Flag","UpdateSourcePlatform":"Linux","UpdateSource":"SetExecutableFlag","UpdateSourceArgs":"{{$FullBaseDir}}System/ucc-bin"},{"UpdateStageName":"Server Config Download","UpdateSourcePlatform":"All","UpdateSource":"FetchURL","UpdateSourceData":"https://raw.githubusercontent.com/CubeCoders/AMPTemplates/main/ut99UnrealTournament.ini","UpdateSourceArgs":"_AMP_UnrealTournament.ini","UpdateSourceTarget":"{{$FullRootDir}}System/","OverwriteExistingFiles":false}] +App.Compatibility=None +App.SteamUpdateAnonymousLogin=True +App.SteamForceLoginPrompt=False +App.RapidStartup=False +App.MonitorChildProcess=False +App.MonitorChildProcessWaitMs=100 +App.MonitorChildProcessName= +App.SupportsUniversalSleep=False +App.WakeupMode=Any +App.ApplicationReadyMode=RegexMatch +App.TemplateMatchRegex={{(\$?[\w]+)}} +Console.FilterMatchRegex= +Console.FilterMatchReplacement= +Console.ThrowawayMessageRegex=^(WARNING|ERROR): Shader.+$ +Console.AppReadyRegex=^Game engine initialized$ +Console.UserJoinRegex=^$ +Console.UserLeaveRegex=^$ +Console.UserChatRegex=^$ +Console.UpdateAvailableRegex=^\[\d\d:\d\d:\d\d\] \[INFO\] A new server update is available! v[\d\.]+.$ +Console.MetricsRegex= +Console.SuppressLogAtStart=False +Console.ActivateLogRegex= +Console.UserActions={} +Limits.SleepMode=True +Limits.SleepOnStart=False +Limits.SleepDelayMinutes=5 +Limits.DozeDelay=2 +Limits.AutoRetryCount=5 +Limits.SleepStartThresholdSeconds=25 diff --git a/ut99UnrealTournament.ini b/ut99UnrealTournament.ini new file mode 100644 index 0000000..4652fbf --- /dev/null +++ b/ut99UnrealTournament.ini @@ -0,0 +1,754 @@ +[Comments] +rem=This file is supplied by AMP and should be used instead of UnrealTournament.ini to configure settings for the server. +rem=Some of the settings in this file are controlled via the AMP UI or by AMP itself (such as ports). + +[URL] +Protocol=unreal +ProtocolDescription=Unreal Protocol +Name=Player +Map=Index.unr +LocalMap=CityIntro.unr +Host= +Portal= +MapExt=unr +SaveExt=usa +Port=7777 +Class=Botpack.TMale1 + +[FirstRun] +FirstRun=0 + +[PackageRemap] +UnrealShare=UnrealI + +[Engine.Engine] +GameRenderDevice=OpenGLDrv.OpenGLRenderDevice +AudioDevice=ALAudio.ALAudioSubsystem +NetworkDevice=IpDrv.TcpNetDriver +DemoRecordingDevice=Engine.DemoRecDriver +Console=UTMenu.UTConsole +Language=int +GameEngine=Engine.GameEngine +EditorEngine=Editor.EditorEngine +WindowedRenderDevice=OpenGLDrv.OpenGLRenderDevice +RenderDevice=OpenGLDrv.OpenGLRenderDevice +DefaultGame=Botpack.DeathMatchPlus +DefaultServerGame=Botpack.DeathMatchPlus +ViewportManager=WinDrv.WindowsClient +Render=Render.Render +Input=Engine.Input +Canvas=Engine.Canvas + +[Core.System] +PurgeCacheDays=30 +SavePath=../Save +CachePath=../Cache +CacheExt=.uxx +Paths=../System/*.u +Paths=../Maps/*.unr +Paths=../Textures/*.utx +Paths=../Sounds/*.uax +Paths=../Music/*.umx +Suppress=DevLoad +Suppress=DevSave +Suppress=DevNetTraffic +Suppress=DevGarbage +Suppress=DevKill +Suppress=DevReplace +Suppress=DevSound +Suppress=DevCompile +Suppress=DevBind +Suppress=DevBsp +Suppress=DevMD5 +Suppress=DevAudio +Suppress=DevMusic +Suppress=DevGraphics + +[Engine.GameEngine] +CacheSizeMegs=16 +UseSound=True +MinClientVersion=432 +ServerActors=IpDrv.UdpBeacon +ServerActors=IpServer.UdpServerQuery +ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900 +ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900 +ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.333networks.com MasterServerPort=27900 +ServerActors=UWeb.WebServer +ServerPackages=SoldierSkins +ServerPackages=CommandoSkins +ServerPackages=FCommandoSkins +ServerPackages=SGirlSkins +ServerPackages=BossSkins +ServerPackages=Botpack +ServerPackages=MultiMesh +ServerPackages=Relics +ServerPackages=EpicCustomModels +ServerPackages=TCowMeshSkins +ServerPackages=TNaliMeshSkins +ServerPackages=TSkMSkins +ServerPackages=SkeletalChars +ServerPackages=De + +[WinDrv.WindowsClient] +WindowedViewportX=1024 +WindowedViewportY=768 +WindowedColorBits=32 +FullscreenViewportX=1024 +FullscreenViewportY=768 +FullscreenColorBits=32 +Brightness=0.500000 +MipFactor=1.000000 +UseDirectDraw=True +UseJoystick=False +CaptureMouse=True +StartupFullscreen=True +CurvedSurfaces=False +LowDetailTextures=False +ScreenFlashes=True +NoLighting=False +SlowVideoBuffering=True +DeadZoneXYZ=True +DeadZoneRUV=False +InvertVertical=False +ScaleXYZ=1000.0 +ScaleRUV=2000.0 +MinDesiredFrameRate=30.0 +Decals=True +NoDynamicLights=False + +[SDLDrv.SDLClient] +WindowedViewportX=1024 +WindowedViewportY=768 +WindowedColorBits=32 +FullscreenViewportX=1024 +FullscreenViewportY=768 +FullscreenColorBits=32 +Brightness=0.500000 +MipFactor=1.000000 +UseJoystick=False +CaptureMouse=True +StartupFullscreen=True +CurvedSurfaces=False +LowDetailTextures=False +ScreenFlashes=True +NoLighting=False +SlowVideoBuffering=True +DeadZoneXYZ=True +DeadZoneRUV=False +InvertVertical=False +ScaleXYZ=1000.0 +ScaleRUV=2000.0 +MinDesiredFrameRate=30.0 +Decals=True +NoDynamicLights=False + +[Engine.Player] +ConfiguredInternetSpeed=10000 +ConfiguredLanSpeed=20000 + +[ALAudio.ALAudioSubsystem] +UseHRTF=Autodetect +ViewportVolumeIntensity=1.000000 +DetailStats=False +ReverbIntensity=1.000000 +UseReverb=True +OldReverbIntensity=1.000000 +EmulateOldReverb=True +MusicAmplify=0 +MusicStereoAngle=30 +MusicStereoMix=70 +MusicPanSeparation=50 +MusicDsp=DSP_ALL +MusicInterpolation=SPLINE +ProbeDevicesOnly=False +UseAutoSampleRate=False +OutputRate=44100Hz +DopplerFactor=0.100000 +bSoundAttenuate=True +AmbientFactor=0.700000 +UseDigitalMusic=True +EffectsChannels=64 +UseSpeechVolume=True +MusicVolume=64 +SpeechVolume=200 +SoundVolume=64 +SampleRate=44100Hz + +[Galaxy.GalaxyAudioSubsystem] +UseDirectSound=True +UseFilter=True +UseSurround=False +UseStereo=True +UseCDMusic=False +UseDigitalMusic=True +UseSpatial=False +UseReverb=True +Use3dHardware=False +LowSoundQuality=False +ReverseStereo=False +Latency=40 +OutputRate=44100Hz +EffectsChannels=16 +DopplerSpeed=9000.000000 +MusicVolume=64 +SoundVolume=64 +AmbientFactor=0.700000 + +[Cluster.ClusterAudioSubsystem] +UseCDMusic=True +UseDigitalMusic=True +CDMusicVolumeFactor=1.000000 +MusicVolume=64 +SoundVolume=64 +EffectsChannels=16 +AudioDeviceGuid= +EmulateGalaxyMusic=True + +[IpDrv.TcpNetDriver] +AllowDownloads=True +ConnectionTimeout=15.0 +InitialConnectTimeout=150.0 +AckTimeout=1.0 +KeepAliveTime=0.2 +MaxClientRate=20000 +SimLatency=0 +RelevantTimeout=5.0 +SpawnPrioritySeconds=1.0 +ServerTravelPause=4.0 +NetServerMaxTickRate=50 +LanServerMaxTickRate=50 +DownloadManagers=IpDrv.HTTPDownload +DownloadManagers=Engine.ChannelDownload +MaxConnPerIPPerMinute=5 +LogMaxConnPerIPPerMin=False +AllowPlayerPortUnreach=True +LogPortUnreach=False +MaxFileDownloadRate=-1 + +[IpDrv.HTTPDownload] +RedirectToURL=http://uz.ut-files.com/ +ProxyServerHost= +ProxyServerPort=3128 +UseCompression=True + +[Engine.DemoRecDriver] +DemoSpectatorClass=Botpack.CHSpectator +MaxClientRate=25000 +ConnectionTimeout=15.0 +InitialConnectTimeout=500.0 +AckTimeout=1.0 +KeepAliveTime=1.0 +SimLatency=0 +RelevantTimeout=5.0 +SpawnPrioritySeconds=1.0 +ServerTravelPause=4.0 +NetServerMaxTickRate=60 +LanServerMaxTickRate=60 + +[Engine.GameReplicationInfo] +ServerName=AMP Powered UT99 Server +ShortName= +AdminName= +AdminEmail= +Region=0 +MOTDLine1= +MOTDLine2= +MOTDLine3= +MOTDLine4= + +[IpDrv.TcpipConnection] +SimPacketLoss=0 +SimLatency=0 + +[IpServer.UdpServerQuery] +GameName=ut +bTeamInfo=False + +[IpDrv.UdpBeacon] +DoBeacon=True +BeaconTime=0.50 +BeaconTimeout=5.000000 +BeaconProduct=ut + +[SoftDrv.SoftwareRenderDevice] +Translucency=True +VolumetricLighting=True +ShinySurfaces=False +Coronas=False +HighDetailActors=False +HighResTextureSmooth=True +LowResTextureSmooth=False +FastTranslucency=True + +[GlideDrv.GlideRenderDevice] +Translucency=True +VolumetricLighting=True +ShinySurfaces=True +Coronas=True +HighDetailActors=True +DetailBias=-1.500000 +RefreshRate=60Hz +DetailTextures=True +FastUglyRefresh=False +ScreenSmoothing=True +Resolution=Default + +[MetalDrv.MetalRenderDevice] +Translucency=True +VolumetricLighting=True +ShinySurfaces=True +Coronas=True +HighDetailActors=True +DetailTextures=False + +[OpenGLDrv.OpenGLRenderDevice] +Translucency=True +ZRangeHack=True +NoAATiles=True +NumAASamples=4 +UseAA=True +SmoothMaskedTextures=False +SceneNodeHack=True +UseShaderGamma=True +ShaderGammaCorrectHUD=True +FrameRateLimit=0 +UseMultiDrawArrays=True +UseDrawGouraud469=True +ShaderAlphaHUD=True +UseSSE2=True +UseSSE=True +BufferTileQuads=True +SinglePassDetail=True +SinglePassFog=False +ColorizeDetailTextures=False +DetailMax=2 +RefreshRate=0 +MaxTMUnits=0 +NoFiltering=False +MaxAnisotropy=0 +Use16BitTextures=False +UseHDTextures=True +UseTrilinear=True +UsePrecache=True +UsePalette=True +UseZTrick=False +UseSamplerObjects=True +OneXBlending=False +GammaCorrectScreenshots=False +GammaOffsetBlue=0.000000 +GammaOffsetGreen=0.000000 +GammaOffsetRed=0.000000 +GammaOffset=0.100000 +LODBias=0.000000 +DescFlags=1 +Description= +DebugBits=-1 +VolumetricLighting=False +ShinySurfaces=True +Coronas=True +HighDetailActors=True +DetailTextures=True +AlwaysMipmap=True +SwapInterval=0 + +[D3D9Drv.D3D9RenderDevice] +ZRangeHack=True +NoAATiles=True +NumAASamples=4 +UseAA=True +UseSoftwareVertexProcessing=False +UsePureDevice=True +UseTripleBuffering=False +MaskedTextureHack=True +SmoothMaskedTextures=False +SceneNodeHack=True +FrameRateLimit=0 +SwapInterval=0 +UseFragmentProgram=True +TexDXT1ToDXT3=False +DynamicTexIdRecycleLevel=100 +CacheStaticMaps=True +UseTexPool=True +UseTexIdPool=True +UseSSE2=True +UseSSE=True +SinglePassDetail=False +SinglePassFog=True +ColorizeDetailTextures=False +DetailClipping=False +DetailMax=2 +RefreshRate=0 +MaxTMUnits=0 +NoFiltering=False +MaxAnisotropy=16 +Use565Textures=False +Use16BitTextures=False +UseS3TC=True +UseTrilinear=False +UsePrecache=True +UseMultiTexture=True +MaxLogTextureSize=8 +MinLogTextureSize=0 +OneXBlending=False +GammaCorrectScreenshots=False +GammaOffsetBlue=0.000000 +GammaOffsetGreen=0.000000 +GammaOffsetRed=0.000000 +GammaOffset=0.000000 +LODBias=0.000000 +DetailTextures=True +DescFlags=1 +HighDetailActors=True +Coronas=True +ShinySurfaces=True +VolumetricLighting=True + +[D3DDrv.D3DRenderDevice] +Translucency=True +VolumetricLighting=False +ShinySurfaces=True +Coronas=True +HighDetailActors=True +UseMipmapping=True +UseTrilinear=False +UseMultitexture=True +UsePageFlipping=True +UsePalettes=True +UseFullscreen=True +UseGammaCorrection=True +DetailTextures=False +Use3dfx=False +UseTripleBuffering=False +UsePrecache=False +Use32BitTextures=False +UseVSync=False +DescFlags=1 +UseVertexFog=False +UseAGPTextures=True +UseVideoMemoryVB=True + +[XOpenGLDrv.XOpenGLRenderDevice] +UseBindlessTextures=True +SyncToDraw=False +UseVSync=Off +NoDrawSimple=False +NoDrawTile=False +NoDrawGouraudList=False +NoDrawGouraud=False +NoDrawComplexSurface=False +NoBuffering=False +UseOpenGLDebug=False +UseHWClipping=False +UseHWLighting=False +UsePersistentBuffers=False +GenerateMipMaps=False +UseBufferInvalidation=False +NoAATiles=True +DetailTextures=True +MacroTextures=True +BumpMaps=True +GammaCorrectScreenshots=True +UseAA=False +UseTrilinear=True +UsePrecache=True +AlwaysMipmap=False +ShareLists=True +NoFiltering=False +HighDetailActors=True +Coronas=True +ShinySurfaces=True +VolumetricLighting=True +MaxAnisotropy=4.000000 +LODBias=0.000000 +GammaOffsetScreenshots=0.700000 +DebugLevel=2 +NumAASamples=4 +RefreshRate=0 +DescFlags=1 +OpenGLVersion=Core +DetailMax=2 + +[SglDrv.SglRenderDevice] +Translucency=True +VolumetricLighting=False +ShinySurfaces=False +Coronas=True +HighDetailActors=False +ColorDepth=16 +DetailTextures=False +FastUglyRefresh=False +TextureDetailBias=Near +VertexLighting=False + +[Editor.EditorEngine] +UseSound=True +CacheSizeMegs=6 +GridEnabled=True +SnapVertices=True +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=False +AutoSaveTimeMinutes=5 +AutoSaveIndex=6 +C_WorldBox=(R=0,G=0,B=107,A=255) +C_GroundPlane=(R=0,G=0,B=63,A=255) +C_GroundHighlight=(R=0,G=0,B=127,A=255) +C_BrushWire=(R=255,G=63,B=63,A=255) +C_Pivot=(R=0,G=255,B=0,A=255) +C_Select=(R=0,G=0,B=127,A=255) +C_AddWire=(R=127,G=127,B=255,A=255) +C_SubtractWire=(R=255,G=192,B=63,A=255) +C_GreyWire=(R=163,G=163,B=163,A=255) +C_Invalid=(R=163,G=163,B=163,A=255) +C_ActorWire=(R=127,G=63,B=0,A=255) +C_ActorHiWire=(R=255,G=127,B=0,A=255) +C_White=(R=255,G=255,B=255,A=255) +C_SemiSolidWire=(R=127,G=255,B=0,A=255) +C_NonSolidWire=(R=63,G=192,B=32,A=255) +C_WireGridAxis=(R=119,G=119,B=119,A=255) +C_ActorArrow=(R=163,G=0,B=0,A=255) +C_ScaleBox=(R=151,G=67,B=11,A=255) +C_ScaleBoxHi=(R=223,G=149,B=157,A=255) +C_Mover=(R=255,G=0,B=255,A=255) +C_OrthoBackground=(R=163,G=163,B=163,A=255) +C_Current=(R=0,G=0,B=0,A=255) +C_BrushVertex=(R=0,G=0,B=0,A=255) +C_BrushSnap=(R=0,G=0,B=0,A=255) +C_Black=(R=0,G=0,B=0,A=255) +C_Mask=(R=0,G=0,B=0,A=255) +C_WireBackground=(R=0,G=0,B=0,A=255) +C_ZoneWire=(R=0,G=0,B=0,A=255) +EditPackages=Core +EditPackages=Engine +EditPackages=Editor +EditPackages=UWindow +EditPackages=Fire +EditPackages=IpDrv +EditPackages=UWeb +EditPackages=UBrowser +EditPackages=UnrealShare +EditPackages=UnrealI +EditPackages=UMenu +EditPackages=IpServer +EditPackages=Botpack +EditPackages=UTServerAdmin +EditPackages=UTMenu +EditPackages=UTBrowser + +[UMenu.UnrealConsole] +RootWindow=UMenu.UMenuRootWindow +UWindowKey=IK_Esc +ShowDesktop=True + +[UMenu.UMenuMenuBar] +ShowHelp=True +GameUMenuDefault=UTMenu.UTGameMenu +MultiplayerUMenuDefault=UTMenu.UTMultiplayerMenu +OptionsUMenuDefault=UTMenu.UTOptionsMenu + +[Botpack.ChallengeBotInfo] +Difficulty=1.000000 + +[Botpack.DeathMatchPlus] +bNoviceMode=True +bHardCoreMode=True +bUseTranslocator=False +bCoopWeaponMode=False +MinPlayers=0 +AirControl=0.350000 +FragLimit=30 +TimeLimit=0 +bChangeLevels=True +bMegaSpeed=False +bAltScoring=False +bMultiWeaponStay=True +bForceRespawn=False +bTournament=False +NetWait=10 +RestartWait=15 +MaxCommanders=0 +InitialBots=4 +bNoMonsters=True +bHumansOnly=False +bClassicDeathMessages=False +MinFOV=80.000000 +MaxFOV=130.000000 +MaxNameChanges=0 + +[Botpack.CTFGame] +bUseTranslocator=True +bCoopWeaponMode=True +GoalTeamScore=3 +MinPlayers=0 +NetWait=10 +TimeLimit=0 + +[Botpack.Domination] +bDumbDown=True +bUseTranslocator=True +bCoopWeaponMode=True +GoalTeamScore=100 +MinPlayers=0 +NetWait=10 +TimeLimit=0 + +[Botpack.Assault] +bUseTranslocator=False +bCoopWeaponMode=True +MinPlayers=0 +NetWait=10 +TimeLimit=0 + +[Botpack.TeamGamePlus] +bBalanceTeams=True +GoalTeamScore=30 +bPlayersBalanceTeams=True +MinPlayers=0 +NetWait=10 +FragLimit=30 +TimeLimit=0 + +[Engine.GameInfo] +bLowGore=False +bVeryLowGore=False +bMuteSpectators=False +bNoCheating=True +bAllowFOV=False +bExternalBatcher=False +AutoAim=0.930000 +GameSpeed=1.000000 +MaxSpectators=2 +AdminPassword= +GamePassword= +MaxPlayers=16 +ServerLogName=server.log +bLocalLog=True +bWorldLog=True +bBatchLocal=False +DemoBuild=0 +DemoHasTuts=0 +PlayerViewDelay=1.000000 +PlayerSpeechDelay=0.300000 +PlayerTauntDelay=2.000000 +NoLockdown=1 +bLogAdminActions=True +LoginDelaySeconds=3.000000 +MaxLoginAttempts=3 +ActionToTake=DO_KickPlayer +bNoMonsters=False +bHumansOnly=False +bCoopWeaponMode=False +bClassicDeathMessages=False +MinFOV=80.000000 +MaxFOV=130.000000 +MaxNameChanges=0 + +[UnrealShare.UnrealGameOptionsMenu] +bCanModifyGore=True + +[UBrowser.UBrowserMainClientWindow] +LANTabName=UBrowserLAN +ServerListNames[0]=UBrowserUT +ServerListNames[1]=UBrowserLAN +ServerListNames[2]=UBrowserPopulated +ServerListNames[3]=UBrowserDeathmatch +ServerListNames[4]=UBrowserTeamGames +ServerListNames[5]=UBrowserCTF +ServerListNames[6]=UBrowserDOM +ServerListNames[7]=UBrowserAS +ServerListNames[8]=UBrowserLMS +ServerListNames[9]=UBrowserAll +ServerListNames[10]=None +ServerListNames[11]=None +ServerListNames[12]=None +ServerListNames[13]=None +ServerListNames[14]=None +ServerListNames[15]=None +ServerListNames[16]=None +ServerListNames[17]=None +ServerListNames[18]=None +ServerListNames[19]=None + +[UBrowserUT] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,bCompatibleServersOnly=True + +[UBrowserLAN] +ListFactories[0]=UBrowser.UBrowserLocalFact,BeaconProduct=ut +URLAppend=?LAN +AutoRefreshTime=10 +bNoAutoSort=True + +[UBrowserPopulated] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,MinPlayers=1,bCompatibleServersOnly=True + +[UBrowserDeathmatch] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=DeathMatchPlus,bCompatibleServersOnly=True + +[UBrowserTeamGames] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=TeamGamePlus,bCompatibleServersOnly=True + +[UBrowserCTF] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=CTFGame,bCompatibleServersOnly=True + +[UBrowserDOM] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=Domination,bCompatibleServersOnly=True + +[UBrowserAS] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=Assault,bCompatibleServersOnly=True + +[UBrowserLMS] +ListFactories[0]=UBrowser.UBrowserSubsetFact,SupersetTag=UBrowserAll,GameType=LastManStanding,bCompatibleServersOnly=True + +[UBrowserAll] +ListFactories[0]=UBrowser.UBrowserGSpyFact,MasterServerAddress=unreal.epicgames.com,MasterServerTCPPort=28900,Region=0,GameName=ut +ListFactories[1]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.mplayer.com,MasterServerTCPPort=28900,Region=0,GameName=ut +ListFactories[2]=UBrowser.UBrowserGSpyFact,MasterServerAddress=master.333networks.com,MasterServerTCPPort=28900,Region=0,GameName=ut +bHidden=True +bFallbackFactories=False + +[UTMenu.UTLadder] +bGOTY=true + +[UWeb.WebServer] +Applications[0]=UTServerAdmin.UTServerAdmin +ApplicationPaths[0]=/ServerAdmin +Applications[1]=UTServerAdmin.UTImageServer +ApplicationPaths[1]=/images +DefaultApplication=0 +bEnabled=True +ListenPort=8888 + +[UBrowser.UBrowserHTTPClient] +ProxyServerAddress= +ProxyServerPort= + +[UTServerAdmin.UTServerAdmin] +AdminUsername=admin +AdminPassword=admin + +[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 +bLogTypingEvents=False +bWorldBatcherError=False + +[IpServer.UdpServerUplink] +DoUplink=True +UpdateMinutes=1 +MasterServerAddress=unreal.epicgames.com +MasterServerPort=27900 +Region=0 + +[UTMenu.UTServerSetupPage] +bLanPlay=False diff --git a/ut99config.json b/ut99config.json new file mode 100644 index 0000000..8ba38bd --- /dev/null +++ b/ut99config.json @@ -0,0 +1,811 @@ +[ + { + "DisplayName":"Game Port", + "Category":"UT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$GamePort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"URL.Port", + "IncludeInCommandLine":false, + "DefaultValue":"7777", + "EnumValues":{} + }, + { + "DisplayName":"Webserver Port", + "Category":"UT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"$WebserverPort", + "InputType":"number", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"UWeb.WebServer.ListenPort", + "IncludeInCommandLine":false, + "DefaultValue":"8888", + "EnumValues":{} + }, + { + "DisplayName":"Server Log Name", + "Category":"UT Server Settings", + "Description":"", + "Keywords":"", + "FieldName":"ServerLogName", + "InputType":"text", + "Hidden":true, + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.ServerLogName", + "IncludeInCommandLine":false, + "DefaultValue":"server.log", + "EnumValues":{} + }, + { + "DisplayName":"Server Name", + "Category":"UT Server Settings", + "Description":"Sets the name of the server shown publicly", + "Keywords":"name", + "FieldName":"ServerName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.ServerName", + "IncludeInCommandLine":false, + "DefaultValue":"AMP Powered UT99 Server", + "EnumValues":{} + }, + { + "DisplayName":"Server Shortname", + "Category":"UT Server Settings", + "Description":"Sets the shortname of the server shown publicly", + "Keywords":"short,name", + "FieldName":"ShortName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.ShortName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Server Admin Name", + "Category":"UT Server Settings", + "Description":"Sets the name of the server admin shown publicly", + "Keywords":"admin,name", + "FieldName":"AdminName", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameReplicationInfo.AdminName", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Make Server Public", + "Category":"UT Server Settings", + "Description":"If enabled, the server will be registered to the master servers and be publicly visible in the in-game browser", + "Keywords":"public,master", + "FieldName":"DoUplink", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"IpServer.UdpServerUplink.DoUplink", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Server Password", + "Category":"UT Server Settings", + "Description":"Password for players and spectators to connect to the server", + "Keywords":"password", + "FieldName":"GamePassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.GamePassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Admin Password", + "Category":"UT Server Settings", + "Description":"In-game admin password", + "Keywords":"admin,password", + "FieldName":"AdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"", + "EnumValues":{} + }, + { + "DisplayName":"Player Limit", + "Category":"UT Server Settings", + "Description":"Maximum number of players that may connect to the server", + "Keywords":"players,limit", + "FieldName":"$MaxUsers", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Suffix":"players", + "EnumValues":{} + }, + { + "DisplayName":"Spectator Limit", + "Category":"UT Server Settings", + "Description":"Maximum number of spectators that may connect to the server", + "Keywords":"spectators,limit", + "FieldName":"MaxSpectators", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.MaxSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"2", + "Suffix":"spectators", + "EnumValues":{} + }, + { + "DisplayName":"Map Name", + "Category":"UT Server Settings", + "Description":"Sets the name of the map to load. The Game Type must match. If Custom is selected, the Custom Map Name must also be set", + "Keywords":"map,name", + "FieldName":"MapName", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"MapName", + "IncludeInCommandLine":false, + "DefaultValue":"DM-Turbine", + "EnumValues":{ + "AS-Frigate":"AS-Frigate", + "AS-Guardia":"AS-Guardia", + "AS-HiSpeed":"AS-HiSpeed", + "AS-Mazon":"AS-Mazon", + "AS-OceanFloor":"AS-OceanFloor", + "AS-Overlord":"AS-Overlord", + "AS-Rook":"AS-Rook", + "CTF-Beatitude":"CTF-Beatitude", + "CTF-Command":"CTF-Command", + "CTF-Coret":"CTF-Coret", + "CTF-Cybrosis][":"CTF-Cybrosis (Revised)", + "CTF-Darji16":"CTF-Darji16", + "CTF-Dreary":"CTF-Dreary", + "CTF-EpicBoy":"CTF-EpicBoy", + "CTF-EternalCave":"CTF-EternalCave", + "CTF-Face":"CTF-Face", + "CTF-Face][":"CTF-Face (Revised)", + "CTF-Face-SE":"CTF-Face-SE", + "CTF-Gauntlet":"CTF-Gauntlet", + "CTF-HallOfGiants":"CTF-HallOfGiants", + "CTF-High":"CTF-High", + "CTF-Hydro16":"CTF-Hydro16", + "CTF-Kosov":"CTF-Kosov", + "CTF-LavaGiant":"CTF-LavaGiant", + "CTF-Niven":"CTF-Niven", + "CTF-November":"CTF-November", + "CTF-Noxion16":"CTF-Noxion16", + "CTF-Nucleus":"CTF-Nucleus", + "CTF-Orbital":"CTF-Orbital", + "CTF-Ratchet":"CTF-Ratchet", + "DM-Agony":"DM-Agony", + "DM-ArcaneTemple":"DM-ArcaneTemple", + "DM-Barricade":"DM-Barricade", + "DM-Bishop":"DM-Bishop", + "DM-Closer":"DM-Closer", + "DM-Codex":"DM-Codex", + "DM-Conveyor":"DM-Conveyor", + "DM-Crane":"DM-Crane", + "DM-Curse][":"DM-Curse (Revised)", + "DM-Cybrosis][":"DM-Cybrosis (Revised)", + "DM-Deck16][":"DM-Deck16 (Revised)", + "DM-Fetid":"DM-Fetid", + "DM-Fractal":"DM-Fractal", + "DM-Gothic":"DM-Gothic", + "DM-Grinder":"DM-Grinder", + "DM-Grit-TOURNEY":"DM-Grit-TOURNEY", + "DM-HealPod][":"DM-HealPod (Revised)", + "DM-HyperBlast":"DM-HyperBlast", + "DM-KGalleon":"DM-KGalleon", + "DM-Liandri":"DM-Liandri", + "DM-Malevolence":"DM-Malevolence", + "DM-Mojo][":"DM-Mojo (Revised)", + "DM-Morbias][":"DM-Morbias (Revised)", + "DM-Morpheus":"DM-Morpheus", + "DM-Oblivion":"DM-Oblivion", + "DM-Peak":"DM-Peak", + "DM-Phobos":"DM-Phobos", + "DM-Pressure":"DM-Pressure", + "DM-Pyramid":"DM-Pyramid", + "DM-Shrapnel][":"DM-Shrapnel (Revised)", + "DM-SpaceNoxx":"DM-SpaceNoxx", + "DM-Stalwart":"DM-Stalwart", + "DM-StalwartXL":"DM-StalwartXL", + "DM-Tempest":"DM-Tempest", + "DM-Turbine":"DM-Turbine (Default)", + "DM-Viridian-TOURNEY":"DM-Viridian-TOURNEY", + "DM-Zeto":"DM-Zeto", + "DOM-Bullet":"DOM-Bullet", + "DOM-CiDom":"DOM-CiDom", + "DOM-Cinder":"DOM-Cinder", + "DOM-Condemned":"DOM-Condemned", + "DOM-Cryptic":"DOM-Cryptic", + "DOM-Gearbolt":"DOM-Gearbolt", + "DOM-Ghardhen":"DOM-Ghardhen", + "DOM-Lament":"DOM-Lament", + "DOM-Lament][":"DOM-Lament (Revised)", + "DOM-Leadworks":"DOM-Leadworks", + "DOM-MetalDream":"DOM-MetalDream", + "DOM-Olden":"DOM-Olden", + "DOM-Sesmar":"DOM-Sesmar", + "DOM-WolfsBay":"DOM-WolfsBay", + "Entry":"Entry", + "{{CustomMap}}":"Custom" + } + }, + { + "DisplayName":"Custom Map Name", + "Category":"UT Server Settings", + "Description":"If Custom map is selected, sets the name of the map. The map file must be included in the Maps directory", + "Keywords":"custom,map", + "FieldName":"CustomMap", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomMap", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"DM-NeoTokyo", + "EnumValues":{} + }, + { + "DisplayName":"Game Type", + "Category":"UT Server Settings", + "Description":"Sets the game type for the server. If Custom is selected, the Custom Game Type Name must also be set", + "Keywords":"game,type", + "FieldName":"game", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"game", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"Botpack.DeathMatchPlus", + "EnumValues":{ + "Botpack.Assault":"Assault", + "Botpack.CTFGame":"Capture The Flag", + "Botpack.DeathMatchPlus":"Deathmatch (Default)", + "Botpack.Domination":"Domination", + "Botpack.TeamGamePlus":"Team Deathmatch", + "{{CustomGame}}":"Custom" + } + }, + { + "DisplayName":"Custom Game Type Name", + "Category":"UT Server Settings", + "Description":"If Custom game type is selected, sets the name of the game type", + "Keywords":"custom,game,type", + "FieldName":"CustomGame", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"CustomGame", + "IncludeInCommandLine":false, + "DefaultValue":"", + "Placeholder":"JailBreak.JailBreak", + "EnumValues":{} + }, + { + "DisplayName":"Mutators", + "Category":"UT Server Settings", + "Description":"Comma-separated list of mutators to enable on the server", + "Keywords":"mutators", + "FieldName":"mutator", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"mutator", + "IncludeInCommandLine":true, + "SkipIfEmpty":true, + "DefaultValue":"", + "Placeholder":"QFeedback.QFeedback,Relics.RelicDefense,Relics.RelicRedemption,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath", + "EnumValues":{} + }, + { + "DisplayName":"OldUnreal Patch Version", + "Category":"UT Server Settings", + "Description":"Sets the OldUnreal patch version to apply to the server. Update the server after changing this setting!", + "Keywords":"oldunreal,patch,version", + "FieldName":"PatchVersion", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"PatchVersion", + "IncludeInCommandLine":false, + "DefaultValue":"469c", + "EnumValues":{ + "469b":"469b", + "469c":"469c (Default)", + } + }, + { + "DisplayName":"Redirection URL", + "Category":"UT Server Settings", + "Description":"Sets the URL for a redirection website for clients to download required files. The URL must end in a slash", + "Keywords":"redirection,url", + "FieldName":"RedirectToURL", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"IpDrv.HTTPDownload.RedirectToURL", + "IncludeInCommandLine":false, + "DefaultValue":"http://uz.ut-files.com/", + "Placeholder":"http://uz.ut-files.com/", + "EnumValues":{} + }, + { + "DisplayName":"Enable Webserver", + "Category":"UT Server Settings", + "Description":"If enabled, the server's webserver will operate", + "Keywords":"webserver", + "FieldName":"bEnabled", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"UWeb.WebServer.bEnabled", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Webserver Admin Username", + "Category":"UT Server Settings", + "Description":"Sets the username of the admin user for the webserver", + "Keywords":"webserver,admin,username", + "FieldName":"WebAdminUsername", + "InputType":"text", + "IsFlagArgument":false, + "ParamFieldName":"UTServerAdmin.UTServerAdmin.AdminUsername", + "IncludeInCommandLine":false, + "DefaultValue":"admin", + "Placeholder":"admin", + "EnumValues":{} + }, + { + "DisplayName":"Webserver Admin Password", + "Category":"UT Server Settings", + "Description":"Sets the password of the admin user for the webserver. Change this after installing the server", + "Keywords":"webserver,admin,password", + "FieldName":"WebAdminPassword", + "InputType":"password", + "IsFlagArgument":false, + "ParamFieldName":"UTServerAdmin.UTServerAdmin.AdminPassword", + "IncludeInCommandLine":false, + "DefaultValue":"admin", + "Placeholder":"admin", + "EnumValues":{} + }, + { + "DisplayName":"Low Gore", + "Category":"UT Gameplay Settings", + "Description":"If enabled, the server will have low gore levels", + "Keywords":"low,gore", + "FieldName":"bLowGore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bLowGore", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Very Low Gore", + "Category":"UT Gameplay Settings", + "Description":"If enabled, the server will have very low gore levels", + "Keywords":"very,low,gore", + "FieldName":"bVeryLowGore", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bVeryLowGore", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Mute Spectators", + "Category":"UT Gameplay Settings", + "Description":"If enabled, spectators will be muted (cannot chat during the game)", + "Keywords":"mute,spectators", + "FieldName":"bMuteSpectators", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bMuteSpectators", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Prevent Cheats", + "Category":"UT Gameplay Settings", + "Description":"If enabled, cheats will not be allowed", + "Keywords":"cheating", + "FieldName":"bNoCheating", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bNoCheating", + "IncludeInCommandLine":false, + "DefaultValue":"True", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Enable Field of View", + "Category":"UT Gameplay Settings", + "Description":"If set, field of view will be enabled", + "Keywords":"fov,field,view", + "FieldName":"bAllowFOV", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.bAllowFOV", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Game Speed", + "Category":"UT Gameplay Settings", + "Description":"Sets the speed of the game", + "Keywords":"game,speed", + "FieldName":"GameSpeed", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Engine.GameInfo.GameSpeed", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "Placeholder":"1.000000", + "EnumValues":{} + }, + { + "DisplayName":"Bot Difficulty Level", + "Category":"UT Gameplay Settings", + "Description":"Sets the difficulty level of bots on the server", + "Keywords":"bot,difficulty,level", + "FieldName":"Difficulty", + "InputType":"enum", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.ChallengeBotInfo.Difficulty", + "IncludeInCommandLine":false, + "DefaultValue":"1.000000", + "EnumValues":{ + "0.000000":"Novice", + "1.000000":"Average (Default)", + "2.000000":"Experienced", + "3.000000":"Skilled", + "4.000000":"Adept", + "5.000000":"Masterful", + "6.000000":"Inhuman", + "7.000000":"Godlike" + } + }, + { + "DisplayName":"Adjust Bot Skill Level", + "Category":"UT Gameplay Settings", + "Description":"If enabled, the skill level of bots will increase or decrease according to the skill level of players", + "Keywords":"adjust,bot,skill,level", + "FieldName":"bAdjustSkill", + "InputType":"checkbox", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.ChallengeBotInfo.bAdjustSkill", + "IncludeInCommandLine":false, + "DefaultValue":"False", + "EnumValues":{ + "False":"False", + "True":"True" + } + }, + { + "DisplayName":"Assault: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Assault standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"assault,minimum,players", + "FieldName":"Assault_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Assault.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Assault standard game type. 0 = start the game immediately", + "Keywords":"assault,wait,period", + "FieldName":"Assault_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Assault.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Assault: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Assault standard game type. 0 = no time limit", + "Keywords":"assault,time,limit", + "FieldName":"Assault_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Assault.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Capture the Flag standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"capture,flag,ctf,minimum,players", + "FieldName":"CTFGame_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Capture the Flag standard game type. 0 = start the game immediately", + "Keywords":"capture,flag,ctf,wait,period", + "FieldName":"CTFGame_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Score Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Capture the Flag standard game type. When reached by a team the game will end", + "Keywords":"capture,flag,ctf,score,limit,goal", + "FieldName":"CTFGame_GoalTeamScore", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.GoalTeamScore", + "IncludeInCommandLine":false, + "DefaultValue":"3", + "Placeholder":"3", + "EnumValues":{} + }, + { + "DisplayName":"Capture The Flag: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Capture the Flag standard game type. 0 = no time limit", + "Keywords":"capture,flag,ctf,time,limit", + "FieldName":"CTFGame_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.CTFGame.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Deathmatch standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"deathmatch,minimum,players", + "FieldName":"DeathMatchPlus_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Deathmatch standard game type. 0 = start the game immediately", + "Keywords":"deathmatch,wait,period", + "FieldName":"DeathMatchPlus_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Frag Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the frag limit (or kill limit) for the Deathmatch standard game type. When reached by a player the game will end", + "Keywords":"deathmatch,frag,limit", + "FieldName":"DeathMatchPlus_FragLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.FragLimit", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Deathmatch: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Deathmatch standard game type. 0 = no time limit", + "Keywords":"deathmatch,time,limit", + "FieldName":"DeathMatchPlus_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.DeathMatchPlus.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Domination standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"domination,minimum,players", + "FieldName":"Domination_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Domination standard game type. 0 = start the game immediately", + "Keywords":"domination,wait,period", + "FieldName":"Domination_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Score Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the score limit (goal score) for the Domination standard game type. When reached by a team the game will end", + "Keywords":"domination,score,limit,goal", + "FieldName":"Domination_GoalTeamScore", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.GoalTeamScore", + "IncludeInCommandLine":false, + "DefaultValue":"100", + "Placeholder":"100", + "EnumValues":{} + }, + { + "DisplayName":"Domination: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Domination standard game type. 0 = no time limit", + "Keywords":"domination,time,limit", + "FieldName":"Domination_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.Domination.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Minimum Players", + "Category":"UT Gameplay Settings", + "Description":"Minimum number of players for the Team Deathmatch standard game type. Vacant slots will be filled with bots. 0 = no minimum", + "Keywords":"team,deathmatch,minimum,players", + "FieldName":"TeamGamePlus_MinPlayers", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.MinPlayers", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Player Wait Period", + "Category":"UT Gameplay Settings", + "Description":"Sets how long to wait for players before spawning bots for the Team Deathmatch standard game type. 0 = start the game immediately", + "Keywords":"team,deathmatch,wait,period", + "FieldName":"TeamGamePlus_NetWait", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.NetWait", + "IncludeInCommandLine":false, + "DefaultValue":"10", + "Placeholder":"10", + "Suffix":"seconds", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Frag Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the frag limit (or kill limit) for the Team Deathmatch standard game type. When reached by a team the game will end", + "Keywords":"team,deathmatch,frag,limit", + "FieldName":"TeamGamePlus_FragLimit", + "InputType":"number", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.FragLimit", + "IncludeInCommandLine":false, + "DefaultValue":"30", + "Placeholder":"30", + "EnumValues":{} + }, + { + "DisplayName":"Team Deathmatch: Time Limit", + "Category":"UT Gameplay Settings", + "Description":"Sets the game time limit for the Team Deathmatch standard game type. 0 = no time limit", + "Keywords":"team,deathmatch,time,limit", + "FieldName":"TeamGamePlus_TimeLimit", + "InputType":"number", + "MinValue":"0", + "IsFlagArgument":false, + "ParamFieldName":"Botpack.TeamGamePlus.TimeLimit", + "IncludeInCommandLine":false, + "DefaultValue":"0", + "Placeholder":"0", + "Suffix":"minutes", + "EnumValues":{} + } +] diff --git a/ut99metaconfig.json b/ut99metaconfig.json new file mode 100644 index 0000000..dbf0fe0 --- /dev/null +++ b/ut99metaconfig.json @@ -0,0 +1,12 @@ +[ + { + "ConfigFile":"System/_AMP_UnrealTournament.ini", + "AutoMap":true, + "ConfigType":"ini" + }, + { + "ConfigFile":"System/User.ini", + "AutoMap":true, + "ConfigType":"ini" + } +] \ No newline at end of file