Server ini file setup tips

Get some cool tips about how to tweak your UT graphic, gameplay, and much more!
Post Reply
Pileyrei
Masterful
Posts: 745
Joined: Tue May 05, 2009 3:10 pm
Personal rank: UT Survivor

Server ini file setup tips

Post by Pileyrei »

Hi all

Can anyone share some tips and tricks on best settings for the ini file on a UT server?
Like a template!

I've tidied up unused server packages and other things but would like to check over any other stings that could improve anything on a server.

I hope this makes sense!

Piley
Image

Our Server
Image

[donate][/donate]
Donate to UT99.org!
User avatar
jaypeezy
Experienced
Posts: 109
Joined: Fri Feb 26, 2010 1:53 am

Re: Server ini file setup tips

Post by jaypeezy »

I found this tutorial highly useful when I was setting things up:

Server setup tutorial on MistRealm

I think probably the sections re. GameSpy masterserver config might not be as applicable lately, but other than that there are some other things to configure that are discussed there and helpful. Let me know if that helps, if not I probably have some other links/manuals buried around elsewhere.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Server ini file setup tips

Post by sektor2111 »

It's not only about INI in making a good server. it's important a smoother connection more than a high speed one, else game breaks. Also you need access to run-line because important thing might go there, so to speak in 2016 I have more other options than in 2003, I'll share fragments from my INI to see what I'm talking about + startup because a server is not based only on that INI, Run-Line is another factor in account which some services doesn't let you to modify - THEIR BAD move. Now I have to move at work... cya later.
Last edited by sektor2111 on Fri Oct 28, 2016 6:43 pm, edited 1 time in total.
Pileyrei
Masterful
Posts: 745
Joined: Tue May 05, 2009 3:10 pm
Personal rank: UT Survivor

Re: Server ini file setup tips

Post by Pileyrei »

Thank you sir :tu:
Image

Our Server
Image

[donate][/donate]
Donate to UT99.org!
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Server ini file setup tips

Post by sektor2111 »

A Win_Doze type server which I might start randomly is like this (new commandlet according to XC stuff 2016):

Code: Select all

@echo off
echo Precaching stuff...
dir H:\ServersUT\MH_Classic\SysCls\*.*
dir H:\Servers_Share\System\*.*
dir H:\Servers_Share\Textures\*.*
dir H:\Servers_Share\Sounds\*.*
dir H:\Servers_Share\Music\*.*
dir H:\Servers_Share\Maps\*.*
cls
echo cd\ServersUT\MH_Classic\SysCls
call Shit.bat
copy Server.log c:\UTLogs\SrvLog_%TodayDate%_H%Hour%_M%Minute%.txt
:10
echo Modified UT Baiter server is starting...
start /Wait /High /Min UCC.EXE XC_Core.XC_ServerCommandlet ?Game=BotPack.DeathMatchPlus?Mutator=NsUTw.NsUTw,Cacher.Cacher,MapVoteLA14NS.BDBMapVote,Starter.TheStart?difficulty=3 -ini=UnrealTournament.ini -readini=UnrealTournament.ini -log=server.log
echo start /wait /high UnrealTournament.exe ?Game=BotPack.DeathMatchPlus?Mutator=MapVoteULv2NS.BDBMapVote,ActorCLP.ActorCLP?difficulty=3?log=server.log -server -ini=UnrealTournament.ini -readini=UnrealTournament.ini
del Running.ini
echo Fault, server crashed ? Will see later why...
echo call H:/ServersUT/MH_Classic/SysCls/Shit.bat
call Shit.bat
echo copy H:\ServersUT\MH_Classic\SysCls\Server.log C:\UTLogs\UTcrash_%TodayDate%_H%Hour%_M%Minute%.txt
copy Server.log C:\UTLogs\UTcrash_%TodayDate%_H%Hour%_M%Minute%.txt
copy Server.log srv_crash.log
echo Will restart... No problem if crashed...
goto 10
I call it StartServer.bat and I have a shortcut on desktop for it. Echo means remark (I have other methods prepared for tests)
The file (uncensored) called is the file getting time-stamp in 24 H format as follows:

Code: Select all

@echo off
echo Prepare required variables...

Set Day=%Date:~-10,2%
Set Month=%Date:~-7,2%
Set Year=%Date:~-4,4%
Set TodayDate=%Day%%Month%%Year%

Set Hour=%Time:~-11,2%
Call :PadHour %Hour%
Set Minute=%Time:~-8,2%
Set Second=%Time:~-5,2%
Set TodayTime=%Hour%%Minute%%Second%

Echo %Hour% %Minute% %Second%
Echo %Day% %Month% %Year%

goto :EOF

:PadHour
Set Hour=%*
If %Hour% GEQ 10 Goto :EOF
Set Hour=0%Hour%
:EOF
echo Thank you !
Then, I'm using UnrealTournament.ini as file (and only read it) which has whatever stuff - let's see:
Spoiler

Code: Select all

[URL]
Protocol=unreal
ProtocolDescription=Unreal Protocol
Name=SrvOwn
Map=UT-Logo-Map.unr
LocalMap=DM-Codex.unr
Host=
Portal=
MapExt=unr
SaveExt=usa
Port=7777
Class=Botpack.TMale1

[FirstRun]
FirstRun=436

[PackageRemap]
UnrealShare=UnrealI

[Engine.Engine]
GameRenderDevice=SoftDrv.SoftwareRenderDevice
AudioDevice=Galaxy.GalaxyAudioSubsystem
NetworkDevice=XC_IpDrv.XC_TcpNetDriver
DemoRecordingDevice=Engine.DemoRecDriver
Console=UTMenu.UTConsole
Language=int
GameEngine=XC_Engine.XC_GameEngine
EditorEngine=Editor.EditorEngine
WindowedRenderDevice=SoftDrv.SoftwareRenderDevice
RenderDevice=GlideDrv.GlideRenderDevice
DefaultGame=Botpack.DeathMatchPlus
DefaultServerGame=Botpack.DeathMatchPlus
ViewportManager=WinDrv.WindowsClient
Render=Render.Render
Input=Engine.Input
Canvas=Engine.Canvas

[Core.System]
PurgeCacheDays=0
Paths=H:/Servers_Share/System/*.u
Paths=H:/Servers_Share/Maps/*.unr
Paths=H:/Servers_Share/Textures/*.utx
Paths=H:/Servers_Share/Sounds/*.uax
Paths=H:/Servers_Share/Music/*.umx
Paths=../SysCls/*.*
;Paths=../Maps/*.unr
;Paths=../Textures/*.utx
;Paths=../Sounds/*.uax
;Paths=../Music/*.umx
SavePath=../Save
CachePath=../Cache
CacheExt=.uxx
Suppress=DevLoad
Suppress=DevSave
Suppress=DevGarbage
Suppress=DevKill
Suppress=DevReplace
Suppress=DevSound
Suppress=DevCompile
Suppress=DevBind
Suppress=DevBsp
;Suppress=DevNetTraffic
Suppress=DevMD5
;Suppress=NetComeGo
;Suppress=ScriptWarning
;Suppress=DevNet
;Suppress=Warning
;Suppress=NetComeGo

[XC_Engine.XC_GameEngine]
bDisableTimingFix=True
bDisableBrushTracker=False
bSortMaplistByFolder=False
bSortMaplistGlobal=False
bAutoTravelManager=False
bCacheConvertAtJoin=False
bCollisionHashHook=False
bFasterUpload=True
bSetOrders=False
bEnableDebugLogs=True
bUseSetEnemyHook=False
bUseLevelHook=False
bUseNewRelevancy=False
bAutoCompressLZMA=False
bForceLevelHook=False
ThreadCount=1
UseSound=True
CacheSizeMegs=64
MinClientVersion=436
;ServerActors=ServerTools.SecureUdpServerQuery
;ServerActors=ServerTools.SecureUdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900
;ServerActors=ACEv08h_S.ACEActor
;ServerActors=ACEv08h_EH.ACEEventActor
ServerPackages=CountryFlags2
ServerPackages=IpToCountry_AOL
ServerPackages=SoldierSkins
ServerPackages=CommandoSkins
ServerPackages=FCommandoSkins
ServerPackages=SGirlSkins
ServerPackages=BossSkins
ServerPackages=EpicCustomModels
ServerPackages=MultiMesh
ServerPackages=cowfix
ServerPackages=nalifix
ServerPackages=SkeletalChars
ServerPackages=SkeletalCharsFix313
ServerPackages=NsUTw
ServerPackages=MapVoteLA14NS
;ServerPackages=MapVoteULv2NS
ServerPackages=MBot_D
ServerPackages=UTToolbox
ServerPackages=XCTFAnnouncer_ST
ServerPackages=WSRH
ServerPackages=UTrooper
ServerPackages=UTrooper2
ServerPackages=UTMHPack
ServerPackages=NsMonster
ServerPackages=Cacher
;ServerActors=ActorCLP.ActorCLP
;ServerActors=TF2.TickFix
;ServerActors=TickSpy.Ticker
ServerActors=XC_Engine.XC_ConnectionHandler
ServerActors=XC_Engine.XC_ServerActor
;ServerActors=NetRateMod.NetRateModifier
;ServerActors=NoD3DCrash.NoD3DCrash
ServerActors=ChatLogger_V103.ChatLogger
ServerActors=IpDrv.UdpBeacon
ServerActors=SecureValidate.SVUdpServerQuery
ServerActors=IpToCountry.LinkActor
;ServerActors=Garb.Garb
;ServerActors=Map_Dup2.Tester2
;ServerActors=UWeb.WebServer
;ServerActors=SuperWebAdmin.SWAServer
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=master.333Networks.com MasterServerPort=27900
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=master.333Networks.com MasterServerPort=28906
;ServerActors=LCWeapons_0005.LCMutator
;ServerActors=ServerAdds.ServerAdds
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=xxxxxxxxxxxx.duckdns.org MasterServerPort=27900
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=utmaster.epicgames.com MasterServerPort=27900
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900
;ServerActors=SecureValidate.SVUdpServerUplink MasterServerAddress=master.telefragged.com MasterServerPort=27900

[XC_Engine.XC_ServerActor]
MaxBadLoginAttempts=5
LoginTryAgainTime=4.000000
bKickAfterMaxLogin=True
bNexgenAdminLogin=True

[XC_Engine.XC_ConnectionHandler]
DatalessTimeout=10.000000
CriticalTimeout=5.000000
CriticalConnCount=8
ExtraTCPQueries=10
bHidden=True
bAlwaysTick=True

[Starter.TheStart]
stDelay=2.000000
bStartGames=False

[WinDrv.WindowsClient]
WindowedViewportX=640
WindowedViewportY=480
WindowedColorBits=16
FullscreenViewportX=640
FullscreenViewportY=480
FullscreenColorBits=16
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=60.0
Decals=True
NoDynamicLights=False

[XDrv.XClient]
WindowedViewportX=640
WindowedViewportY=480
WindowedColorBits=16
FullscreenViewportX=640
FullscreenViewportY=480
FullscreenColorBits=16
Brightness=0.500000
MipFactor=1.000000
SlowVideoBuffering=False
StartupFullscreen=True
CurvedSurfaces=False
CaptureMouse=True
LowDetailTextures=False
ScreenFlashes=True
NoLighting=False
DeadZoneXYZ=True
DeadZoneRUV=False
InvertVertical=False
ScaleXYZ=1000.0
ScaleRUV=2000.0
MinDesiredFrameRate=60.0

[Engine.Player]
ConfiguredInternetSpeed=100000
ConfiguredLanSpeed=200000

[Audio.GenericAudioSubsystem]
UseFilter=True
UseSurround=False
UseStereo=True
UseCDMusic=False
UseDigitalMusic=False
UseSpatial=False
UseReverb=False
Use3dHardware=False
LowSoundQuality=False
ReverseStereo=False
Latency=70
OutputRate=22050Hz
Channels=16
MusicVolume=160
SoundVolume=200
AmbientFactor=0.9

[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=70
OutputRate=22050Hz
EffectsChannels=32
DopplerSpeed=9000.000000
MusicVolume=160
SoundVolume=200
AmbientFactor=0.900000

[IpDrv.TcpNetDriver]
AllowDownloads=True
ConnectionTimeout=7.000000
InitialConnectTimeout=15.000000
AckTimeout=1.0
KeepAliveTime=0.300000
MaxClientRate=7500
SimLatency=0
RelevantTimeout=40.000000
SpawnPrioritySeconds=0.500000
ServerTravelPause=0.100000
NetServerMaxTickRate=30
LanServerMaxTickRate=30
LogPortUnreach=True
AllowPlayerPortUnreach=True
LogMaxConnPerIPPerMin=True
MaxConnPerIPPerMinute=20
OverrideBufferAllocation=True
MaxDownloadSize=0
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=XC_Core.XC_ChannelDownload
DownloadManagers=Engine.ChannelDownload

[XC_IpDrv.XC_TcpNetDriver]
ConnectionLimit=64
AllowDownloads=True
ConnectionTimeout=7.000000
InitialConnectTimeout=15.0
AckTimeout=1.0
KeepAliveTime=0.500000
MaxClientRate=7500
SimLatency=0
RelevantTimeout=40.000000
SpawnPrioritySeconds=0.500000
ServerTravelPause=2.000000
NetServerMaxTickRate=30
LanServerMaxTickRate=30
LogPortUnreach=True
AllowPlayerPortUnreach=True
LogMaxConnPerIPPerMin=True
MaxConnPerIPPerMinute=10
OverrideBufferAllocation=True
MaxDownloadSize=0
DownloadManagers=XC_IpDrv.XC_HTTPDownLoad
;DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=XC_Core.XC_ChannelDownload
DownloadManagers=Engine.ChannelDownload

[IpDrv.HTTPDownload]
RedirectToURL=
ProxyServerHost=
ProxyServerPort=3128
UseCompression=False

[XC_IpDrv.XC_HTTPDownLoad]
RedirectToURL=http://xxxxxx.duckdns.org:9000/Redirul/
ProxyServerHost=
ProxyServerPort=3128
UseCompression=True
...
...
...
As you see (if you have open spoiler) I have some features which I can explain as follows:
- server starts and end immediately with UT-Logo (Bot loaded to not have SetEndCams errors);
- because game has ended and nobody is voting, MapVote pick some random map;
- Ipdrv is configured to send uncompressed files at higher speed directly from server - XC stuff (Barbie knows some UZ problems so I won't use those any more ever);
- if client has XC files will load compressed LZMA files (shorter and faster from a redirect - port 80 is busy with IpToCountry);
- the rest of games are in MapVote without having them in packages, they are getting called automatically at load/voting.
Note: I'm not using any UT integrated WEB service support, everything is under control VIA TightVNC restricted to my IP address only because I'm not configuring servers daily.
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Server ini file setup tips

Post by Barbie »

sektor2111 wrote:

Code: Select all

echo Precaching stuff...
dir H:\ServersUT\MH_Classic\SysCls\*.*
...
Accessing the directory index is not the same as accessing the file(s).
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Server ini file setup tips

Post by sektor2111 »

Really ? You did not understand what I was trying to achieve. I'll bet if you want a file asking it from a root location but which is in a sub-folder having over 3000+ files it's maybe needed a bit of patience, right ? - in game called LAG, not like from a folder having 10 files - and I won't buy SSD to get mad when they are going to heaven of SSD's God. It's forcing a location read, FAT (File Allocation Tables) so to speak, the second access goes faster because file is no longer searched in which sector(s) is located FAT has been read so server knows where file is without reading FAT again, right ? I'm pre-caching files locations not files themselves because I don't have 10 GB of RAM there anyway - else I could do such FULL files reading but it takes a whole day to start server and doesn't make sense at how many files are shared there (location is common for MH CTF DM - all servers are using the same files saving a lot of HDD space) . You don't need to do that if you don't like it.
My apology I should write precaching access, not stuff - it's causing confusions as I see.
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Server ini file setup tips

Post by Barbie »

sektor2111 wrote:it's causing confusions as I see
Yep, I thought that you think that accessing the FAT would accelerate the file access. :wink:

I did not measure the ratio between file access having FAT entry in memory and reading the FAT additionally first, but I'm convinced it is neglectable.
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Server ini file setup tips

Post by sektor2111 »

Maybe...
that file indexing used by Windows for "fast search" it's maybe a lousy thing too...
Post Reply