Zound Mutator for UT2004 Original Tutorial designed by Crafty - craftybarnardo@halflifemapping.com
This tutorial details the actions required to install the Zound mutator, version 5.0 and upwards, for UT2004 servers. This tutorial assumes that you already have wav files created for the sounds you wish to use. We will begin with creating the sound packages and then follow up with the actual server ini file changes required to load Zound. This tutorial also assumes that you have the actual UT2K4 game installed and that UnrealEd 3.0 is installed on the machine you will be creating the files from.

NOTE: This tutorial does NOT cover wav file creation or editing. There are far too many sound editing applications out there to detail instructions for them all. For best results from the user download perspective, the wav files need to be no higher than 22KHz, 8-bit, mono in format.

So, let us begin the tutorial. Before beginning the package(s), it would be wise to have a directory with all your custom sounds inside the UT2004\Sounds directory with which to work from. (I called mine utsounds, but you can use whatever name you wish as long as you do NOT have spaces in the folder name.)

Also, Zound looks for two preset triggers, "hello" and "byebye" when it is running. The sound associated with "hello" is played whenever a player connects to the server. The sound associated with "byebye" plays when a player leaves the server. If you want these features, then make sure you name one of your sounds hello and the other byebye.

1) Open UnrealEd 3.0 by double-clicking the shortcut placed on your desktop during the default install of UT2K4. (If you do not see a shortcut for this, make one yourself. Browse to your UT2004\System directory and make a shortcut for UnrealEd.exe on your desktop.)

2) Click the speaker icon as shown below to bring up the Sound Browser.

You should see a screen similar to the one shown below. You will notice a sound package already open. This is normal, so you should not panic.
3) Click the File menu, then choose Import.
4) Browse to the folder you made inside the Sounds directory and choose one of your files.
5) Click Open, and you should be presented with a screen similar to the one below.
6) Change the package name to whatever you want to call your custom sound package.You will notice that I named my package here GANsound2. I already made GANsound1 to test this tutorial. Delete the text that was in the Group field, as this is not used. The filename you pick can be left as the wav name.
7) Click OK and you should see the following screen showing that your new package is open and contains the first file you just imported.
8) Click the File menu again, then choose Import and select the remaining files you wish to add to this package.
9) Click the Open button and then click OK All. After it imports the sounds, you should see a screen like the one below. Notice that the names in the shot below are the names of the actual wav files, not the triggers.
10) Now we may go through our package one name at a time and rename the files in the package to the soundname we wish to setup for them. NOTE: You can play the sounds at anytime in this browser by left-clicking on the file, or pressing the play button.

Right-click the first sound you wish to rename, and choose Rename from the menu.

11) This is the screen that showed up in my package showing the name of the wav file.
12) Change the name to the soundname you want to use. This is not very important in this version, as the soundname is independant of the Triggername. (See ini editing section 2) But they can be renamed to make them shorter or easier to remember what they are.

NOTE: The soundnames are not allowed to have spaces between the words, but punctuation is allowed. Example, "so sorry!" is not acceptable because it has the space between so and sorry, but "sosorry!" or "so_sorry!" are acceptable.

13) When you have renamed all the files to their soundnames, click the Save package button and save the file to the UT2004\Sounds folder. Click Save.
Now you have created your sound package(s) for your server. We will discuss compression and server redirect in a different tutorial. We continue with the ini file modifications required to run Zound.
Editing the Zound ini file.
In this section of the tutorial, we will go over the Zound.ini settings. bZound=True If this is set to False, then all sounds will be disabled. The ServerAdmin can also switch this On/Off from the game with a Mutate command: Mutate Zound Off and Mutate Zound On

SoundDelay=5
This is the delay time in which sounds can be activated and should not be less than 5.
It is recommended that SoundDelay is not less than 3 depending on the length
of the average sound.

LoginDelay=3
Depending on the speed of your server, this is the delay time in which it takes
for a Player to login and receive his/her greeting message if available.

Dedicated=True
When set to True, then the trigger word needs to be only that word and not
part of a sentence.
If however it is set to False, the sound will trigger if that word is
anywhere in the message.

SoundsEach=10
This is the Total number of sounds any one player can trigger during a
game.
If set to 0 (zero) then the number is unlimited.

DelaysEach=1
This was introduced to reduce spamming of the various sounds and works as
follows:
Lets say you set DelaysEach=10
When a Player triggers a sound, he will have to wait 10 seconds before he
can trigger again (1 x 10)
Once he has triggered 2 sounds he will now have to wait 20 seconds to
trigger again (2 x 10)
After the 3rd trigger he will have to wait 30 seconds before he can
trigger again (3 x 10)
And so the more he triggers a sound the longer he has to wait in between
each trigger.
This can now be disabled by setting DelaysEach=0

ShowTrigger=True
If this is set to False then the trigger words that a player types will
not be displayed to the other players.

bAnnounce=True
If this is set to False, Zound will not be displayed at game startup
and also the hello and byebye triggers will be disabled.

bBuffSound=False
If this is set to True, then all triggers will be buffered and said after
the SoundDelay timeout. This insures that every players trigger will be said.
Up to 50 triggers can be buffered.

ZoundVolume=1.0
As from version 4.1 the sound volume is now variable.
Sound volume (ZoundVolume) can be in the range from 0.1 up to 2.0 maximum.
Previous versions of Zound was fixed at 0.8

NoSpecToPlayer=False
If this is set to True then spectators will only hear sounds triggered by
other spectators and players will only here sounds triggered by other players.

NewGameTrig=0
This is the time delay in which Zound will wait at GameStart to call the Triggerword 'newgame'.

EndGameTrig=0
This is the time delay in which Zound will wait at GameEnd to call the Triggerword 'endgame'.

Mutate Zound Dedicated
The ServerAdmin can toggle the Dedicated this way.

Mutate Zound ShowTrigger
The ServerAdmin can toggle the ShowTrigger this way.

2) Now, under the [Zound50.ZTriggers] heading you see Zounds= Zounds=(Soundname="hello",Triggername="hello",SoundFilename="MySound",Hidden=True,AdminOnly=False) If upgrading from a previous version of Zound, the included Zoundconvert.exe will quickly create a functional zound.ini file in the correct format. The easiest way to complete this from scratch is to re-open UnrealEd 3.0, open our first sound package (or our only one if we only made one file in the previous part of the tutorial), and then type the trigger words in as shown above for each file in that package.

The soundname should match the soundname from UnrealEd 3.0. Triggername= can be anything you like. No matter what the soundname is, you can set the trigger to anything.
So for:
Zounds= (Soundname="goodgame",Triggername="gg",SoundFilename="MySound",Hidden=True,AdminOnly=False)
'goodgame' is the name of the wav in the uax. 'gg' is what you type ingame to activate this sound.

3) Once you have edited all of that information, save the ini file.