Mistrealm

Unreal Tournament

Run a UT99 server

Why a UT99 server?

You may already know why you want to run a UT99 server.

UT99 has a thriving community of players, server operators, map makers, and mods.

The UT99 platform lets you extensively modify game play, creating niche communities for different game types.

Once you know how to do it, setting up a server is not hard.

Networking considerations

You can get a hosted server. If you are hosted, this section is not relevant.

If you are running your own server, internet servers can be set up one of two ways. You can put your server in the DMZ with a public IP address, or you can use NAT to forward the UT traffic to your server. For security considerations, it is safer to use NAT than to put your computer in the DMZ.

Unreal Tournament uses the following ports:
7777 Default gameplay
7778 Server query
7779 Dynamically allocated for each udplink
7780 Dynamically allocated for each udplink
7781 Dynamically allocated for each udplink
7782
7783
8888 Web admin
8777 LAN broadcast port
27900Server query
reference reference reference reference
The ones I have tagged in green are important. You don't need to propagate the LAN port. If you want to use web admin remotely, you will need to add port 8080.

These ports will also have to be opened in the firewall on the machine that is running the server.

Core files

These installation instructions are for Windows. You will have to find Linux instructions elsewhere. I expect it is very similar.

Unreal Tournament dedicated server v436 (Win32)
Download links: FileFront FilePlanet FileShack PcPatches  local

Download and unzip the contents of this file into a temporary location, such as c:\uts1Temp
Run setup.exe

There is an optional component dealing with ngstats.

The original stat provider has long abandoned UT99, but this may be required if you wish to have locally generated stats. For the moment, I suggest installing this component.

Next, install the patch and the Bonus packs

Where to install?

Your needs may vary. For simplicity, I will install my ut server into C:\uts1

UT patches


The guys at utpg have released a series of aftermarket UT patches. In the interest of security, we will update our server to the latest and greatest version.

UTPGPatch451b  local

Bonus packs

A brief note on the bonus packs. They come in two flavors, UMOD installers, and .zip files. The .zip files may require you to manually drop files off where they belong in your installation, for example, .unr files may have to be manually placed in your maps subdirectory.
Bonus Pack 1
Contents:
Maps\DM-Cybrosis][.unr
Maps\DM-Malevolence.unr
Maps\DM-ArcaneTemple.unr
Maps\DM-Mojo][.unr
Maps\DM-Shrapnel][.unr
Maps\DM-HealPod][.unr
Maps\DM-Agony.unr
Maps\CTF-Cybrosis][.unr
Maps\CTF-Darji16.unr
Maps\CTF-Hydro16.unr
Maps\CTF-Noxion16.unr
system\multimesh.u
system\relics.u
system\relicsbindings.u
system\epiccustommodels.u
textures\tnalimeshskins.utx
textures\tskmskins.utx
textures\tcowmeshskins.utx
Download:
FileShack UnrealTournament2003 UTPad  local
Bonus Pack 2
Also know as the Digital Extremes bonus pack
Note, we are mainly getting this pack for the two maps, the mutator actually can cause problems with people trying to connect to the server, and even if we install it, it will have to be removed.

Contents:
Maps\CTF-HallOfGiants.unr
Maps\CTF-Orbital.unr
System\de.u
Download:
FilePlay UnrealTournament2003 UTPad  local
Bonus Pack 3
Also know as the Inoxx bonus pack
Contents:
Maps\DM-Crane.unr
Maps\DM-SpaceNoxx.unr
Maps\CTF-Face][.unr
Maps\CTF-High.unr
Maps\CTF-Kosov.unr
Maps\CTF-Nucleus.unr
textures\noxxpack.utx
textures\xutfx.utx
Download:
FilePlay UnrealTournament2003 UTPad  local
Bonus Pack 4
Contents:
Maps\CTF-Beatitude.unr
Maps\CTF-EpicBoy.unr
Maps\CTF-Face-SE.unr
Maps\CTF-Ratchet.unr
Maps\DM-Bishop.unr
Maps\DM-Closer.unr
Maps\DM-Grit-TOURNEY.unr
Maps\DM-Viridian-TOURNEY.unr
Maps\DOM-Bullet.unr
Maps\DOM-Cidom.unr
Maps\DOM-Lament][.unr
Maps\DOM-WolfsBay.unr
system\SkeletalChars.u
system\skeletalchars.int
textures\Factory.utx
textures\SGTech1.utx
Download:
FilePlay UnrealTournament2003 UTPad  local

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .zip file that contains my installation of the 4.36 dedicated server, with the UTPG 4.51 patch installed, and the four bonus packs applied:
uts1_00.zip (128mb)

RunUT.bat

It's a good idea to make a small batch file which restarts the server should it crash. reference reference

In this case, I am going to create a batch file called RunUts1.bat and place it in my c:\uts1 directory:
@Echo Off
Echo Running Unreal Tournament Server instance uts1
:top
c:
cd \uts1\system
ucc server dm-Turbine?game=Botpack.DeathMatchPlus log=uts1.log
copy uts1.log uts1crash.log
goto top
You can create a shortcut to this batch file on your desktop.

If you run this file, you will see some error messages which we will be taking care of in the next section.

UT ini settings

So much for the easy part.

Now we will review the .ini file that drives the game, and set up some basic information.
reference reference reference

UT ini settings - getting online

reference reference reference

Open up your .ini file ( c:\uts1\System\UnrealTournament.ini ), and find the [Engine.GameEngine] section. The default list of MasterServers should be changed to:
ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.qtracker.com MasterServerPort=27900

If you installed Bonus Pack Two, in this same section, the line that says
ServerPackages=De
should be removed.

Find the [Engine.GameReplicationInfo] section, which probably looks like this:
[Engine.GameReplicationInfo]
ServerName=Another UT Server
ShortName=UT Server
And replace it with relevant information so you can find your server, like this:
[Engine.GameReplicationInfo]
ServerName=Halls of war
ShortName=HoW
AdminName=Dagger
AdminEmail=dagger@mistrealm.com
Region=0
MOTDLine1=Boom!
MOTDLine2=
MOTDLine3=
MOTDLine4=
Now, locate the [UTServerAdmin.UTServerAdmin] section,
[UTServerAdmin.UTServerAdmin]
AdminUsername=admin
AdminPassword=admin
and change the user name and password.

Find the Engine.GameInfo section:
[Engine.GameInfo]
bLowGore=False
bVeryLowGore=False
bLocalLog=False
bMuteSpectators=False
bNoCheating=True
bAllowFOV=False
bExternalBatcher=False
AutoAim=0.930000
GameSpeed=1.000000
MaxSpectators=2
AdminPassword=
GamePassword=
MaxPlayers=16
ServerLogName=server.log
bWorldLog=True
bBatchLocal=False
DemoBuild=0
DemoHasTuts=0
PlayerViewDelay=1.000000
PlayerSpeechDelay=0.300000
PlayerTauntDelay=2.000000
bLogAdminActions=False
LoginDelaySeconds=0.000000
MaxLoginAttempts=0
ActionToTake=DO_Nothing
IPPolicies[0]=ACCEPT,*
IPPolicies[1]=
...
and change some values:
bLogAdminActions=True
LoginDelaySeconds=3.000000
MaxLoginAttempts=3
ActionToTake=DO_KickPlayer

Append a new section to your UnrealTournament.ini:
[IpServer.UdpServerUplink]
DoUplink=True
UpdateMinutes=1
MasterServerAddress=unreal.epicgames.com
MasterServerPort=27900
Region=0


Start your server, give it a minute of uptime, and see if you can find it.

If you are checking from the same network, and you are using NAT, you might not see it in the master server list. If this is the case, you can check here: utmaster

Pro tip: Be sure to stop your server before making changes to the UnrealTournament.ini file.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_00.rar (95mb)
Redirection and Compression
reference The first thing you need to do is find or set up a webserver where the files can be downloaded from.
Web server admins, you may have to enable the .uz mime type, depending on your server. reference

reference UT-Files is providing a free redirection service:
WebAddress is : http://uz.ut-files.com

You will need to alter (or append if they do not exist) 2 sections of your UnrealTournament Ini:
[IpDrv.HTTPDownload]
RedirectToURL=http://uz.ut-files.com/
ProxyServerHost=
ProxyServerPort=3128
UseCompression=True

[IpDrv.TcpNetDriver]
AllowDownloads=True
MaxDownloadSize=0
DownloadManagers=IpDrv.HTTPDownload
DownloadManagers=Engine.ChannelDownload
Pro Tip: The RedirectToURL needs a trailing backspace.

Netspeed and Tick Rate
reference reference

From my review of these refrences, it sounds like the defaults are fine

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_01.rar (95mb)
Banaan says:
This seems really nice! Great information. Though i think there are a load of 'extra' features explained. Where does the last step ends for a basic UT server on internet without all the 'extras'?

Dagger says:
I am glad you are finding it helpful. You could probably stop right here (uts1_01.rar (95mb)) for a fairly generic setup without any anti-cheat protection.

AntiCheat

The sad truth is there are lame players out there who enjoy cheating. You should take steps to keep the cheating down on your server or you will have unhappy players. Well, actually, you won't have any players.

With UT99 Anti Cheat, you must overcome some problems. First, the anti-cheat mods are mostly out of date; There is no clear cut "best approach"; And no matter what, some cheaters will still get through.

All that said, I have found a few tools:

AnthChecker
reference

Download the installation file AnthChecker_v138.zip local
And the patch
unrealadmin.org local
Install AnthChecker_v138.zip, then install the .u file from AnthCheckerS_v138_Build10.zip.
From the readme file:
1. Unzip the contents of this zip package in your server's system folder.
2. Open your server's unrealtournament.ini file and find the line that reads "[Engine.GameEngine]".
3. Add these lines under it:
ServerActors=AnthCheckerS_v138.ACActor
ServerPackages=AnthCheckerC_v138
4. Move to the end of your UT.ini file and add these lines:
[AnthCheckerS_v138.ACActor]
bEnablePackageChecker=true
bEnableNetFix=true
bKickUnknownRenderer=true
bKickUnknownLibrary=true
bKickUnknownSound=true
bKickUnknownSkin=true
bBroadCastJoin=true
bBroadCastIPs=false
bExternalNotify=false
bSelfCheck=true
bPureCheck=true
bEUTCheck=false
bSkinCheck=true
bSoundCheck=true
bShowConsoleMessages=true
TimeOut=30
CheckDelay=3.0
bReportCheats=True
bReceiveUpdates=True
Packages[0]=
Packages[1]=
Packages[2]=
Packages[3]=
Packages[4]=
Packages[5]=
Packages[6]=
Packages[7]=
Packages[8]=
Packages[9]=
bExternalLogs=true
LogPrefix=
LogPath=
ACLinkMode=2
ACDelay=5
Next, Unzip the contents of the second zip package in your server's system folder.
Restart your server.
Interlude
I don't know about you, but I am a little tired of seeing DM-Turbine.

I am going to change the game type, and starting map, and use the web admin to make a few changes.
reference reference reference
First, the startup file:
@Echo Off
Echo Running Unreal Tournament Server instance uts1
:top
c:
cd \uts1\system
ucc server CTF-Face?game=Botpack.CTFGame?MaxPlayers=20 log=uts1.log
copy uts1.log uts1crash.log
goto top
Here, you can see that I've changed the startup map and the game type, and increased the player count to 20.

Using the web admin ( http://localhost:8888 ) I also changed the CTF map rotation to include just CTF-Face, increased the game speed to 130, and set the minimum player count to 4.

Yes, I did see the advice against a single map server, but for initial setup and testing, this will do.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all files so far, including the updated .ini file:
uts1_02.rar (95mb)

Server Crash Fix

This looks like a patch to AnthChecker to help prevent server crashes.
reference ServerCrashFix_v10.zip local

To install ServerCrashFix on your server:
1. Unzip the contents of this zip package in your server's system folder.
2. Open your server's unrealtournament.ini file and find the line that reads "[Engine.GameEngine]".
3. Add these lines under it:

ServerActors=ServerCrashFix_v10.SCFActor
Here is a .rar file that contains all changes so far, including the updated .ini file:
uts1_03.rar (95mb)

Ace

At the moment of this writing, ACE anti cheat is in beta, version 0.6f. I tried an earlier version of this with no luck at all ( timeout error ), so I am waiting for .7 beta to be released.

SmartCTF

reference SmartCTF_4E SmartCTF_4E local

SmartCTF is a mutator to promote teamplay in CTF games. More details in the readme file. There are several sample configuration files in the readme, we will use the first one:
[SmartCTF_4E.SmartCTF]
bEnabled=True
bExtraStats=True
CountryFlagsPackage=CountryFlags2
CapBonus=8
AssistBonus=7
FlagKillBonus=0
CoverBonus=2
SealBonus=2
GrabBonus=0
BaseReturnBonus=0.500000
MidReturnBonus=2.000000
EnemyBaseReturnBonus=4.000000
CloseSaveReturnBonus=8.000000
SpawnKillPenalty=1
MinimalCapBonus=5
bFixFlagBug=True
bEnhancedMultiKill=True
EnhancedMultiKillBroadcast=5
bShowFCLocation=True
bSmartCTFServerInfo=True
bNewCapAssistScoring=True
bSpawnkillDetection=True
SpawnKillTimeArena=1.000000
SpawnKillTimeNW=3.500000
bAfterGodLikeMsg=True
bStatsDrawFaces=True
bDrawLogo=True
bSCTFSbDef=True
bShowSpecs=True
bDoKeybind=True
bExtraMsg=True
SbDelay=.500000
MsgDelay=3.000000
bStoreStats=True
CoverMsgType=3
CoverSpreeMsgType=3
SealMsgType=3
SavedMsgType=3
bShowLongRangeMsg=True
bShowSpawnKillerGlobalMsg=True
bShowAssistConsoleMsg=True
bShowSealRewardConsoleMsg=True
bShowCoverRewardConsoleMsg=True
bPlayCaptureSound=False
bPlayAssistSound=True
bPlaySavedSound=True
bPlayLeadSound=True
bPlay30SecSound=True
bEnableOvertimeControl=False
bOverTime=True
bRememberOvertimeSetting=False
More from the readme file:
* Now open UnrealTournament.ini (in your UT\System folder) and look for [Engine.GameEngine]. * Add the following to the list of 'ServerPackages=':
ServerPackages=SmartCTF_4E
* If you don't want to select the SmartCTF mutator each time but have it be added to CTF games by default, you have to add another line to the end of the list of 'ServerActors=':
ServerActors=SmartCTF_4E.SmartCTFServerActor
There's a reason this has to be added at the end. The mutator will take the current scoreboard to show by default, but meanwhile replace it with the SmartCTF scoreboard. If say the ScoreBoard utility MODOSUtilV25 gets loaded after SmartCTF, the MODOS scoreboard won't get detected, or the SmartCTF scoreboard won't show. Note that UTPure also changes the scoreboard in Tournament games, for the clickboard. So place it after UTPure too.

Also, SmartCTF Server Info won't work if you insert the package in the list before UTPure!

Here is a .rar file that contains all changes so far:
uts1_04.rar (95mb)

Hit Sounds

Some people love them, some people hate them. I think it helps to know when you've hit something.
reference QFeedback.umod local

The QFeedback mod sounds like what I want, but to get into the server, I had to rename the version I had in my system directory.

I also added all of the relic mutators. I want them to start up with the game, so I also modified my startup batch file:
@Echo Off
Echo Running Unreal Tournament Server instance uts1
:top
c:
cd \uts1\system
ucc server CTF-Face?game=Botpack.CTFGame?MaxPlayers=20?mutator=QFeedback.QFeedback,Relics.RelicDefense,Relics.RelicRedemption,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath log=uts1.log
copy uts1.log uts1crash.log
goto top

Here is a .rar file that contains all changes so far:
uts1_05.rar (95mb)

Incompatible files

In the previous example, we ran into a case where there were file incompatibilities. What causes this? Multiple files that have the same name. Most often, a mod developer will create several versions of a mod, but leave them all with the same name. Occasionally, someone will name different resources with a name that someone else has used elsewhere.

Is there anything we can do?

Short answer: Yes.

Looking in my full version's System directory, I find that I have 4 different versions:
17,141 QFeedback.u
23,660 QFeedback_.u
25,136 QFeedBack_v22.u
25,320 QFeedBack_v3.u
Generally speaking, as a mod goes along, it grows in complexity, so the most recent version is probably QFeedBack_v3.u. A brief search of the internet did not uncover any more recent versions, so I will try to reverse engineer this file to see what it contains.

This requires the Unreal Editor, so I will go to my full installation of Unreal Tournament.

Locate the [Editor.EditorEngine] section, and add an entry for the mod:
EditPackages=QFeedBack_v3
Run UnrealEd. View, Actor Class Browser, File, Export All Scripts. It will ask for confirmation, select [Yes]. This may take some time.

When that is done, we will find our source code here:
C:\UnrealTournament\QFeedBack_v3\Classes
The comments indicate that this mod was created by the "Engineers of Destruction", but some Google searching proved fruitless, there is no recent release.

We will need to extract the sounds from the file before we can rebuild it, so we will need to locate a copy of UTPT (Unreal Tournament Package Tool).

reference reference reference utpt20beta5.zip utpt20beta5.zip local

Using this tool, we will need to extract the three sound files to C:\UnrealTournament\QFeedBack_v3\Sounds. Figuring out how to use the tool UTPT too will be left up to you.

Got it figured out? Good deal. Now, you might ask, why did we do all that? We are going to rename the mod.

So, about naming... What should we call it? Something relatively unique... QFeedbackHoW should be unique enough.

Rename the directory QFeedbackHoW, and also change the EditPackage entry to match in your UnrealTournament.ini file.

I wrote a batch file for making UT projects with:
@Echo Off
if exist QFeedbackHoW.u del QFeedbackHoW.u
ucc make
This is more useful for projects that are not this quick and easy.

So, hopefully that compiled for you with relatively few problems. Now what? It would be nice to be able to use the mutator. I don't happen to have the .int file for this, so I will copy the one for QFeedback, and make a change to match the new name:

[Public]
Object=(Name=QFeedBackHoW.QFeedback,Class=Class,MetaClass=Engine.Mutator,Description="QFeedback, You receive audible feedback when you inflict damage on someone.")
Now, to remove the old one, and try the new one.

I updated my RunUts batch file, and my ServerPackages to match the new name. I also deleted the old one to prevent any confusion.

Testing seems good, so time to save a copy of our work. Here is a .rar file that contains all changes so far:
uts1_06.rar (95mb)

UTPure

Back to our anti cheat efforts. First, a brief word about the UTPure coder. I admire what he was trying to do, but

[rant mode] I had a run in with him when I was trying to make a few different mods work. The person I dealt with was very full of himself, and very much "no, I am not helping you, you must be a cheater, my way or the highway". I do not appreciate the bloated nature of UTPure. If I want a kitchen sink full functionality and features, I will add them myself. Oh, and he is a quitter, UTPure was last updated in 2004. [/rant mote]

All that said, UTPure is still better than no anti-cheat protection.

refrence refrence refrence refrence download download local

So, it looks like we extract the contents of the zip file, drop off the .uz file onto our redirect ( if we are running one ), and the .u files into System.

2: Add following to ServerActors list:
ServerActors=PureINTLog.INTLogger
and 2: Add following to ServerActors list:
ServerActors=PurePkgLog.PackageLogger
and
ServerPackages=PureStat7G
ServerActors=PureStat7G.PureStat
I see a not that says "some mutators that change original weapons are incompatible!". Hopefully this will not cause problems later.
Oh, lets not miss this one:
ServerPackages=UTPureRC7G
ServerActors=UTPureRC7G.UTPureSA
Start and stop the server to create a config section... Done.

Let's review the options, and see if we can keep this mod in check.

bUTPureEnabled // Enable or Disable the security given by UTPure [True or False, Default = True] Yes
Advertise // Adds [CSHP] to the Server Name [0 = no, 1 = left, 2 = right, Default = 1] Why not?
AdvertiseMsg // What version to advertise [0 = [CSHP], Not 0 = [PURE], Default = 1] Seems OK
bAllowCenterView // Allows / Disallow usage of CenterView for keyboard/joystick users [True of False, Default = False]

CenterViewDelay // If Allowed to use Centerview, delay between 2 uses of it [Time in seconds, Default = 1.0] It seems that CenterView will snap the user to headshot height. Will leave this disabled for now.
bAllowBehindView // Allows / Disallow usage of BehindView [True or False, Default = False] Seems OK
TrackFOV // Track the FOV cheats [0 = no, 1 = strict, 2 = loose, Default = 2] May have to tweak this later
bAllowMultiWeapon // Allows / Disallow usage of the Multi-Weapon exploit [True or False, Default = False] Seems OK
bFastTeams // Allow quick teams changes [True or False, Default = True] Seems OK
bUseClickboard // Enables/Disables usage of ClickBoard Technology (TM) in Tournament mode. [True or False, Default = True] Not running a tournament, disabling
MinClientRate // Sets the minimum netspeed the client is allowed to use [Default = 1000] Seems OK
bAdvancedTeamSay // Enable this to allow players to give detailed info about their situation. [True or False, Default = True] Bloat, but OK
bHitSounds // Enable or Disable Sounds when hitting other players [True or False, Default = False] Need this off, is off by default
bTeamHitSounds // Enable or Disable Sounds when hitting team players [True or False, Default = False] Need this off, is off by default
ForceSettingsLevel // Force settings of certain Actors [0 = off, 1 = connect, 2 = passive (default), 3 = active] Vague enough? May as well keep the default
bNoLockdown // Enable or Disable lockdown when being hit by pulse or mini [True or False, Default = True] Vague, but OK
bWarmup // Enable or Disable Warmup (Tournament Only!) [True or False, Default = False] Off is fine
bCoaches // Enable or Disable Coaches (TeamGames only!) [True or False, Default = False] Off is fine
bAutoPause // Enable or Disable AutoPause (Tournament TeamGames only!) [True or False, Default = False] Off is fine
ImprovedHUD // Show HUD Improvements [0 = No, 1 = Clock/Boots, 2 = Enhanced TeamInfo, Default = 1] Seems OK
bDelayedPickupSpawn // Delay first spawn of pickups [True or False, Default = False] Off is fine
bTellSpectators // Tell MessageHandlers (Like IRC Bots, WebAdmin) the reason for the kick. Off is fine
bForceDemo // Forces Clients to record Demos. Off is fine


Well, it seems that most of the extra stuff is off by default, so perhaps my concerns about bloat are unfounded.

OK, time to test it.
Seems to work fine. I do see some people connecting, and getting rejected... Not by UTPure, but AnthChecker. Googling is inconclusive as to whether or not they have an actual cheat.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_07.rar (96mb)

Valhalla Avatar

Almost forgot the cool thing about UTPure... It comes with a great mod called Valhalla Avatar! This allows players to use their own skins and models. If other players have the same skins and models installed, they will also see what the player is wearing.

Find the section labeled [Engine.GameEngine]. Add this line:
ServerPackages=VAHandler7G
Readme says "Now open up the UTPureRC7G.int. Comment (insert ; in front of) ALL playerpacks (VA is not compatible with any others). And uncomment:
PlayerPacks[0]=VA
But the PlayerPacks seem to have been moved to UnrealTournament.ini in the [UTPureRC7G.UTPure] section.

Testing... Works.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_08.rar (96mb)

Who Pushed Me

So, you pushed a foe to their death, but you didn't get credit for it. This popular mod fixes that. refrence download local

Extract the system files in the .zip into your system directory.

If you want to host multiplayer games you also have to add the following lines to the [Engine.GameEngine] section of UnrealTournament.ini:
ServerPackages=EnhancedItems
ServerPackages=WhoPushedMe
Testing... Works fine when you remember to add it to the mutators.

Note: I have reviewed the EnhancedItems.u file, there also seems to be a more in-depth version of it available, and source code as well. I am not quite sure how it relates to my needs... Yet.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_09.rar (96mb)

Ace or UTDC

I checked back in at ACE central reference, and the next release of Ace is not available yet. I will hold back for the moment. I could install UTDC ( or in this case UTDCPlus ) instead, but I would rather keep things clean, and it sounds like there will be a release soon.

NBSP

Another anti cheat utility, an alternative ( or supplemental ) to UTPure.

Testing showed false positives, so scraped this mod off.

Item Spewer

Do you remember DM-GhostShip? Yeah, I know, obscure question... refrence download local

So anyway, a ghost wanders around the derelict ship, randomly grabbing people and shaking all the items they have out of their inventory. Someone suggested that when you die, instead of just dropping a gun, you could drop everything you have.

Luckily, someone coded this mod, and called it Piņata. refrence zip umod

Author suggests the umod makes for easiest installation. I would have preferred something a little more hands on, but without documentation, we may as well.

Well, still no information. A bit of fiddling later, I adjusted the settings on Pinata, and located this:
[Pinata.PinataClientWindow]
noWeapons=False
NoPowerups=False
HealthDrop=False
in UnrealTournament.ini. I pasted this section into my server .ini file, and...

Test mode.

Notes: The Pinata has a few bugs, (1) it generates access none messages in the log, (2) it increase the number of relics on the field and (3) If someone dies holding an enforcer, it ejects two of them. At some point I might like to see the Pinata eject ammo as well as weapons.

I can live with the bugs, it's a keeper.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_10.rar (96mb)

RocketX

The current home of the RocketX mod seems to be Rosebum.com. Unfortunately, at the time of this writing, the site is down. As I can't go there to retrieve the current RocketX versions, I will grab one out of my cache and make it active. The details are beyond the scope of this document.

Some success, but it turns out that UTPure and RocketX are incompatible. I am going to try to disable UTPure and see if everything else works:
[UTPureRC7G.UTPure]
bUTPureEnabled=False
...
Success!

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_11.rar (105mb)

Jump Boots

Jump boots have come a long way from the 3 jumps and you are done. They can now be just as important for removing falling damage or improving air control. I have not been able to find any "best jump boots" mod so far, so I may have to borrow some ideas and create a new one. I will start by grabbing the Weapon Object Replacement Mutator (Worm). refrence refrence refrence local

Well, that almost worked... Version problems.

Not exactly what I was looking for, but I did find this cool XPickups mod: refrence refrence refrence refrence download download local

I copied the following files into the System directory:
XPickups.ini
XPickups.int
XPickups.u
I added the following line to the [Engine.GameEngine] section of UnrealTournament.ini:
ServerPackages=XPickups
I then updated my startup file to include this mutator:
@Echo Off
Echo Running Unreal Tournament Server instance uts1
:top
c:
cd \uts1\system

set myMods=QFeedbackHoW.QFeedback
set myMods=%myMods%,Relics.RelicDefense,Relics.RelicRedemption,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath
set myMods=%myMods%,WhoPushedMe.WhoPushedMe
set myMods=%myMods%,Pinata.Pinata
set myMods=%myMods%,RX6S8.StrangeMutator
set myMods=%myMods%,XPickups.XPickupsMut

ucc server CTF-Face?game=Botpack.CTFGame?MaxPlayers=20?mutator=%myMods% log=uts1.log

copy uts1.log uts1crash.log
goto top

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_12.rar (115mb)

Jump Boots continued...

Back to the jump boots question. Even if I did have the perfect jump boots mod, there are no jump boots on CTF-Face. So, I need to either spawn jump boots on the map, or update the map list to include some maps that do have jump boots.

There is more to life than just CTF-Face.

CTF-SpinCycle. Putting on this map, I learned two things about my setup.

1: AnthChecker has a false positive when a map uses a texture from the editor (see note below).

2: XPickups crash the server when the map's custom invisibility is used.

I am not finding a more recent version of AnthChecker, so I am disabling it for the moment.

I am also removing the XPickups mod. XPickups does look great, and I hope to be able to re-enable it at some time, but not right now.

CTF-Thorns check. CTF-TombOfDeath check. CTF-TOON_TOWN check.

CTF-Toxicity The RocketX mod did not add any RocketX to the map. Also, no relics. Both of these mods depend on bot pathing to work, I suspect the map has just never been pathed.

To prevent possible name collisions, I will rename the map CTF-ToxicityHoW before I start.

Open CTF-ToxicityHoW in UnrealEd. Select Build, Build options, [Create New Path Network]. In the map, a lot apples have appeared. These are path nodes, and they are required for our mutators to work. Select, Build, Build AI Paths, save and test. Worked!

There are still no weapons on the map, but now the bots try to capture flags, and our other mods are working. I expect this was made for a low grav sniper arena, or some other specialty mod, and the designer never thought that someone might want to use it outside of that niche.

CTF-TwinValley check. CTF-UTCP-NoRedemption check. CTF-w00tabulous check. CTF-wootOctober check. CTF-Warrior check. CTF-Zerkarium3. Once again, the mutators did not come up. Renamed CTF-Zerkarium3HoW, added bot paths... Much better!

You may be asking yourself "But the bots seemed to play that map just fine, how can that be"? The answer is weapon placement. The map author did a great job of weapon placement. Bots treat weapons and ammo in a similar way that they treat path nodes, and can use them to help navigate the map.

Save your work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far:
uts1_13.rar (124mb)
Note: I re-enabled AnthChecker to see if I could reproduce the problem and possibly solve it, and the problem did not occur. I am leaving it enabled for now, but the Editor.dll kick is definitely bogus, and I am sure it will be back.

UTDC

Yes, I know, the Jump Boots are still not updated. I checked the Ace site refrence and there is still no .7 release. My UTPure is offline due to the hud mutator issue, NBSP has false positive problems, so I still don't have an anti-cheat solution in place (other than Anthchecker).

So, here we go!
refrence refrence refrence download local

[Server Installation]
1: Extract the 'Server' folder content in the zip file to your server's UnrealTournament\System directory.
2: Add the following lines under [Engine.GameEngine]:
ServerPackages=IUTDCv12
ServerPackages=UTDCv21
ServerPackages=UTDCv21dll
ServerActors=UTDCv21.SMain
ServerActors=UTDCAMv12.SMain
3: Modify settings in ActionMan.ini (not necessary)
4: Start server (necessary)
NOTICE: Do *NOT* put UTDCAMv12 in ServerPackages list.

Okay... So... Is that it? Testing!
Well, that seemed to work.

There is a companion mod available called UTDCPlus, let me see what I can find out about that. refrence download local

I installed it, configured it to make it compatible with my mods, and it provided a very unstable experience for clients. So, I am scraping it off. UTDC alone seems to run just fine, so I will leave it in place.

Save your Work

You might want to back up your installation before you go onto the next step.

Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_14.rar (115mb)

PureChecker

Yes, I know I am not really running UTPure, but it is installed. So why not?

refrence download local

Put all files into your server system directory and in the server ini (unrealtournament.ini) add these lines:
ServerActors=PureCheckerServerV3.PCServerActor ServerPackages=PureCheckerV3
Done. Testing... Seems to be OK. Saving my work:
Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_15.rar (115mb)

Noose

Seems like a long shot from what I am reading here: refrence download local

Sure enough, it did not work. It seems to be expecting some extra code on the client to already be installed. Pass.

Mod Menu Checker

refrence download local

Well... It seems to be installed, but it does not seem to DO anything. So, off it goes.

Console Checker

refrence download local

That sounds pretty straightforward... Why not?

USAGE:
ServerActors=ConsoleChecker15.ConsoleChecker ServerPackages=ConsoleChecker15
No sign of anything logged... Is that good news? So, off it goes.

AntiNetHack

refrence download local

Mutator that stops people changing their netspeed in game. I did not know this was a big issue... What the heck, I've almost run out of mutators to try anyway.
ServerActors=AntiNetHack21.AntiNetHack ServerPackages=AntiNetHack21

Testing... I see that it is running, does not crash the client or server, so, good enough for now.

Saving my work:
Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_16.rar (115mb)

AntiFA

What is FA? Hrm... refrence refrence download local

Well... Prevents some in-game tweaks does not sound like a huge bonus, but what the heck.
ServerActors=AntiFA46_Server.AFASA ServerPackages=AntiFA46_C
Ah, it stands for Anti Fire Adjust. Well, it seems to do no harm, so we will keep it for now.
Here is a .rar file that contains all the files so far, including the updated .ini file:
uts1_17.rar (115mb)

Logo Splash

refrence refrence refrence download local

Well, this one is going to take a bit of work. * I went to grab a screen shot, but the map I chose had some problems that needed to be fixed. * Added CTF-HallwayHoW to the server * Photoshopped the screen shot, and saved it as a 256x256 pcx. * Snipped a short musical clip for an intro. * Converted the .jpg flag files to .PCX. * Changed the .PCX files to use indexed color. * Created a UT package ( called HoW00 ) that imports the sound, logo and flag images * Install the LogoSplash mod
ServerActors=LogoSplashV3.SplashLogoSA ServerPackages=LogoSplashV3
* Copied the package into the System directory * Installed my UT package
ServerPackages=HoW00
The below lines add to the end of UnrealTournament.ini
[LogoSplashV3.SplashLogoSA] LogoTexture=HoW00.HoWRedFlag LogoDrawDelay=1.0 LogoFadeInTime=1.0 LogoDrawTime=6.0 LogoFadeOutTime=1.0 CaptionLineOne=Welcome to the Halls of War! CaptionLineTwo= CaptionLineThree= CaptionLineFour= IntroSound=HoW00.OneWorld IntroSoundDelay=1.0 CustomRedFlag=HoW00.HoWRedFlag CustomBlueFlag=HoW00.HoWBlueFlag bLogoTranslucent=True Position=center,center Size=byself:1
So, testing shows that the flag part of the mod works, but the splash screen and audio clip does not.
Also, I seem to have lost some HuD functionality along the way.
Maybe this is a HuD mutator that is conflicting with something else I have installed?
I am not sure where I lost HuD functionality, so I will roll back mutators until it works again.
So, it turns out that all my HuD checkboxes were unchecked.
I checked them all, and re-enabled the Splash mutator, and now the audio works.
Halfway there... Still no splash box.
I tried my logo on the flags, and it shows up just fine... Hrm...
Tried a flag as my logo, and no luck there.
Found another reference ( refrence )
There may be a size requirement. I will make it smaller and see if that fixes it.
No luck.
Changed from .pcx to .bmp format, just in case.
Still no luck.

Well, 2 out of 3 isn't bad, I will keep it for the intro sound and the changed flags, and come back to this problem another day.

Running UT as a service

refrence refrence (win2003)

We never did get the jump boots fixed, or a working copy of Ace, but I am going to end this tutorial for now. This should be enough to get UT server admins started, and you guys will probably want to tweak your servers and run your own list of favorite mods.

I did want to mention one last thing, running your server as a service. The instructions listed above are for UT2004, but they are just as valid for UT99.

Cutting, pasting and editing from the article:

This procedure uses the registry editor, use at your own risk!!!

Make sure that your server runs correctly from a *.bat file before using this procedure. You will need this later.

Obtain these files: Instsrv.exe and Srvany.exe from Microsoft.

Copy them into a directory that has NO SPACES IN THE PATH. I recommend c:\uts1

Open a Command Window.

Execute the following: PATH_TO\Instsrv.exe NameOfService PATH_TO\Srvany.exe

Open regedit and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NameOfService to verify the service was created.

Right click on the new service and add a new "Key" named "Parameters"

Now, right click "Parameters" and add the following "String Value"s: AppDirectory, Application, and AppParameters.

Right click each "String Value" and "Modify" them as follows:

AppDirectory: The full path to the application's directory. Copy and paste from the shortcut/.bat file.
Example:
C:\uts1\system

Application: The full path to the UCC.exe. Copy and paste from the shortcut/.bat file.
Example:
C:\uts1\system\UCC.exe

AppParameters: Any parameters required to start the application to your specifications. Copy and paste from the shortcut/.bat file.
Example:
ucc server CTF-Face?game=Botpack.CTFGame?MaxPlayers=20?mutator=QFeedbackHoW.QFeedback,Relics.RelicDefense,Relics.RelicRedemption,Relics.RelicRegen,Relics.RelicSpeed,Relics.RelicStrength,Relics.RelicDeath,WhoPushedMe.WhoPushedMe,RX6S8.StrangeMutator log=uts1.log

Exit the registry editor.

Go to Start>Run>services.msc, select the new service and restart.

A simple test is to see if the Web Admin is available, if enabled. Otherwise, check the Task Manager to see if UCC.exe is running.

By default the new service will automatically start at Windows startup.
hector excelente tu trabajo says:

tengo algunas dudas ,un cheater puede burlar utpure y usar su cheater en un server protegido.

mira yo tengo un server,pero sin proteccion ,que me recomiendas tú en cuanto a la proteccion.

gracias amigo

What do you think?

Name (optional)

Email (optional)

Your comment (optional, but helpful)