1098 lines
20 KiB
HTML
1098 lines
20 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Unreal Tournament</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Game Server HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Half-Life"
|
|
HREF="halflife.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Game Server HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="halflife.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
> </TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="UT"
|
|
></A
|
|
>7. Unreal Tournament</H1
|
|
><P
|
|
> Unreal Tournament is a very addictive first person shooter which is designed to be run in one of several modes; DeathMatch, Capture the Flag, Last Man Standing and Assault are the most popular. It features bots, a bevy of weapons and plenty of community support. It was originally ported as an in-house development effort at Epic but later releases are handled by
|
|
Loki Software. Current version as of this writing is 436.</P
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="UTSYSREQ"
|
|
></A
|
|
>7.1. System requirements</H2
|
|
><P
|
|
>As always, the system requirements will vary slightly depending on the
|
|
number of players on the server. Here are the basics:</P
|
|
><P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>Pentium 266 (For more than 8 users, a faster server is recommended)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>At least 32 MB RAM (For a VERY dedicated machine. The more maps,
|
|
skins, mutators, bots, and players that are online, the more RAM the
|
|
server will use.) 64 MB is highly recommended.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Linux kernel 2.2.14 or later, Glibc 2.1 or later.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>The retail Unreal Tournament CD (Just the first one is necessary).</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>At least 500 MB disk space. Maps, skins, and mods will require a bit more.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Enough bandwidth if you're going to run an Internet server. Epic recommends about 20kbps per player.</P
|
|
></LI
|
|
></UL
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="UTINSTALLING"
|
|
></A
|
|
>7.2. Installing</H2
|
|
><P
|
|
>First, download the latest ut-install file from Loki's website. As of
|
|
this version of the HOWTO, that is 436.</P
|
|
><P
|
|
> <P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.lokigames.com/products/ut/updates.php3"
|
|
TARGET="_top"
|
|
>http://www.lokigames.com/products/ut/updates.php3</A
|
|
>
|
|
</P
|
|
></LI
|
|
></UL
|
|
>
|
|
</P
|
|
><P
|
|
>Mount the Unreal Tournament CD (Usually /cdrom or /mnt/cdrom), and run
|
|
the ut-install*.run file. It will verify the archive, check the CD for
|
|
the appropriate files, and begin installing. It will ask you where you
|
|
want to install UT to, as well as a few other questions. It is actually
|
|
fairly painless.</P
|
|
><P
|
|
>Once you have it installed, you will want to change ownership of the
|
|
files to the user ID that they will be running under (See Security and
|
|
permissions).</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="UTCONFIGURING"
|
|
></A
|
|
>7.3. Configuring</H2
|
|
><P
|
|
>Now it's time to write a config file. Unreal Tournament uses an INI-style
|
|
config file format which is exactly like Windows INI files. This config
|
|
file will contain ALL the variables the server will use, including game
|
|
types, defaults for those types, number of players, bots, etc. The cfg's
|
|
should be kept in the System/ directory (either <TT
|
|
CLASS="LITERAL"
|
|
>$UTROOT/System/</TT
|
|
> or
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>~/.loki/ut/System/</TT
|
|
>). If you have an UnrealTournament.ini and/or User.ini
|
|
in that System/ directory, it will be loaded and can override settings in
|
|
the server's cfg file. This is a sanitized copy of my server's cfg file
|
|
(called ucc.ini):</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>----[snip]-----
|
|
[URL]
|
|
Protocol=unreal
|
|
ProtocolDescription=Unreal Protocol
|
|
Name=Player
|
|
Map=Index.unr
|
|
LocalMap=DM-Deck16][.unr
|
|
Host=
|
|
Portal=
|
|
MapExt=unr
|
|
SaveExt=usa
|
|
Port=7777
|
|
Class=Botpack.TMale1
|
|
|
|
[FirstRun]
|
|
FirstRun=428
|
|
|
|
[PackageRemap]
|
|
UnrealShare=UnrealI
|
|
|
|
[Engine.Engine]
|
|
GameRenderDevice=NullDrv.NullRenderDevice
|
|
WindowedRenderDevice=NullDrv.NullRenderDevice
|
|
RenderDevice=NullDrv.NullRenderDevice
|
|
AudioDevice=NullDrv.NullRenderDevice
|
|
NetworkDevice=IpDrv.TcpNetDriver
|
|
DemoRecordingDevice=Engine.DemoRecDriver
|
|
Console=UTMenu.UTConsole
|
|
Language=int
|
|
GameEngine=Engine.GameEngine
|
|
EditorEngine=Editor.EditorEngine
|
|
DefaultGame=Botpack.DeathMatchPlus
|
|
DefaultServerGame=Botpack.DeathMatchPlus
|
|
ViewportManager=SDLDrv.SDLClient
|
|
Render=Render.Render
|
|
Input=Engine.Input
|
|
Canvas=Engine.Canvas
|
|
|
|
[Core.System]
|
|
PurgeCacheDays=30
|
|
SavePath=../Save
|
|
CachePath=../Cache
|
|
CacheExt=.uxx
|
|
Paths=../System/*.u
|
|
Paths=/path/to/ut/Maps/*.unr
|
|
Paths=/path/to/ut/Textures/*.utx
|
|
Paths=/path/to/ut/Sounds/*.uax
|
|
Paths=/path/to/ut/Music/*.umx
|
|
Suppress=DevLoad
|
|
Suppress=DevSave
|
|
Suppress=DevNetTraffic
|
|
Suppress=DevGarbage
|
|
Suppress=DevKill
|
|
Suppress=DevReplace
|
|
Suppress=DevSound
|
|
Suppress=DevCompile
|
|
Suppress=DevBind
|
|
Suppress=DevBsp
|
|
|
|
[Engine.GameEngine]
|
|
CacheSizeMegs=4
|
|
UseSound=False
|
|
ServerActors=IpDrv.UdpBeacon
|
|
ServerActors=IpServer.UdpServerQuery
|
|
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=unreal.epicgames.com MasterServerPort=27900
|
|
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=master0.gamespy.com MasterServerPort=27900
|
|
;ServerActors=IpServer.UdpServerUplink MasterServerAddress=master.mplayer.com MasterServerPort=27900
|
|
ServerActors=UWeb.WebServer
|
|
ServerPackages=SoldierSkins
|
|
ServerPackages=CommandoSkins
|
|
ServerPackages=FCommandoSkins
|
|
ServerPackages=SGirlSkins
|
|
ServerPackages=BossSkins
|
|
ServerPackages=Botpack
|
|
|
|
[Engine.Player]
|
|
ConfiguredInternetSpeed=20000
|
|
ConfiguredLanSpeed=20000
|
|
|
|
[IpDrv.TcpNetDriver]
|
|
AllowDownloads=True
|
|
ConnectionTimeout=15.0
|
|
InitialConnectTimeout=300.0
|
|
AckTimeout=1.0
|
|
KeepAliveTime=0.2
|
|
MaxClientRate=20000
|
|
SimLatency=0
|
|
RelevantTimeout=5.0
|
|
SpawnPrioritySeconds=1.0
|
|
ServerTravelPause=4.0
|
|
NetServerMaxTickRate=20
|
|
LanServerMaxTickRate=35
|
|
DownloadManagers=IpDrv.HTTPDownload
|
|
DownloadManagers=Engine.ChannelDownload
|
|
|
|
[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=Generic UT Server
|
|
ShortName=UT Server
|
|
AdminName=Lamer
|
|
AdminEmail=root@localhost
|
|
Region=0
|
|
MOTDLine1=
|
|
MOTDLine2=
|
|
MOTDLine3=
|
|
MOTDLine4=
|
|
|
|
[IpDrv.TcpipConnection]
|
|
SimPacketLoss=0
|
|
SimLatency=0
|
|
|
|
[IpServer.UdpServerUplink]
|
|
DoUpLink=False
|
|
UpdateMinutes=1
|
|
MasterServerPort=27900
|
|
|
|
[IpServer.UdpServerQuery]
|
|
GameName=ut
|
|
|
|
[IpDrv.UdpBeacon]
|
|
DoBeacon=True
|
|
BeaconTime=0.50
|
|
BeaconTimeout=5.0
|
|
BeaconProduct=ut
|
|
|
|
[UMenu.UnrealConsole]
|
|
RootWindow=UMenu.UMenuRootWindow
|
|
UWindowKey=IK_Esc
|
|
ShowDesktop=False
|
|
|
|
[UMenu.UMenuMenuBar]
|
|
ShowHelp=True
|
|
GameUMenuDefault=UTMenu.UTGameMenu
|
|
MultiplayerUMenuDefault=UTMenu.UTMultiplayerMenu
|
|
OptionsUMenuDefault=UTMenu.UTOptionsMenu
|
|
ModMenuClass=UMenu.UMenuModMenu
|
|
|
|
[Botpack.ChallengeBotInfo]
|
|
Difficulty=1
|
|
|
|
[Botpack.DeathMatchPlus]
|
|
bNoviceMode=True
|
|
bHardCoreMode=False
|
|
bUseTranslocator=True
|
|
bCoopWeaponMode=False
|
|
MinPlayers=8
|
|
AirControl=0.350000
|
|
bChangeLevels=True
|
|
bMegaSpeed=False
|
|
bAltScoring=False
|
|
bTournament=False
|
|
NetWait=10
|
|
RestartWait=15
|
|
InitialBots=10
|
|
FragLimit=30
|
|
TimeLimit=0
|
|
bMultiWeaponStay=False
|
|
bForceRespawn=False
|
|
MaxCommanders=0
|
|
bNoMonsters=False
|
|
bHumansOnly=False
|
|
bClassicDeathMessages=False
|
|
|
|
[Botpack.CTFGame]
|
|
bUseTranslocator=True
|
|
bCoopWeaponMode=True
|
|
GoalTeamScore=3.000000
|
|
bNoTeamChanges=False
|
|
FriendlyFireScale=0.000000
|
|
MaxTeams=2
|
|
MaxTeamSize=16
|
|
FragLimit=0
|
|
TimeLimit=0
|
|
bMultiWeaponStay=True
|
|
bForceRespawn=False
|
|
MaxCommanders=0
|
|
bNoMonsters=False
|
|
bHumansOnly=True
|
|
bClassicDeathMessages=False
|
|
|
|
[Botpack.Domination]
|
|
bDumbDown=True
|
|
bUseTranslocator=True
|
|
bCoopWeaponMode=True
|
|
GoalTeamScore=100.000000
|
|
bNoTeamChanges=False
|
|
FriendlyFireScale=0.000000
|
|
MaxTeams=2
|
|
MaxTeamSize=16
|
|
FragLimit=30
|
|
TimeLimit=0
|
|
bMultiWeaponStay=True
|
|
bForceRespawn=False
|
|
MaxCommanders=0
|
|
bNoMonsters=False
|
|
bHumansOnly=False
|
|
bClassicDeathMessages=False
|
|
|
|
[Botpack.Assault]
|
|
bUseTranslocator=False
|
|
bCoopWeaponMode=True
|
|
Defenses=3
|
|
SavedTime=0.000000
|
|
NumDefenses=0
|
|
CurrentDefender=0
|
|
bDefenseSet=False
|
|
bTiePartOne=False
|
|
GameCode=
|
|
Part=1
|
|
bNoTeamChanges=False
|
|
FriendlyFireScale=0.000000
|
|
MaxTeams=2
|
|
GoalTeamScore=0.000000
|
|
MaxTeamSize=16
|
|
FragLimit=0
|
|
TimeLimit=7
|
|
bMultiWeaponStay=False
|
|
bForceRespawn=False
|
|
MaxCommanders=2
|
|
bNoMonsters=False
|
|
bHumansOnly=False
|
|
bClassicDeathMessages=False
|
|
|
|
[Botpack.TeamGamePlus]
|
|
bBalanceTeams=True
|
|
GoalTeamScore=30
|
|
bPlayersBalanceTeams=True
|
|
|
|
[Engine.GameInfo]
|
|
bLowGore=False
|
|
bVeryLowGore=False
|
|
bMuteSpectators=False
|
|
bNoCheating=True
|
|
bAllowFOV=False
|
|
AutoAim=0.930000
|
|
GameSpeed=1.000000
|
|
MaxSpectators=2
|
|
AdminPassword=
|
|
GamePassword=
|
|
MaxPlayers=16
|
|
IPPolicies[0]=ACCEPT,*
|
|
IPPolicies[1]=
|
|
IPPolicies[2]=
|
|
IPPolicies[3]=
|
|
IPPolicies[4]=
|
|
IPPolicies[5]=
|
|
IPPolicies[6]=
|
|
IPPolicies[7]=
|
|
IPPolicies[8]=
|
|
IPPolicies[9]=
|
|
IPPolicies[10]=
|
|
IPPolicies[11]=
|
|
IPPolicies[12]=
|
|
IPPolicies[13]=
|
|
IPPolicies[14]=
|
|
IPPolicies[15]=
|
|
IPPolicies[16]=
|
|
IPPolicies[17]=
|
|
IPPolicies[18]=
|
|
IPPolicies[19]=
|
|
IPPolicies[20]=
|
|
IPPolicies[21]=
|
|
IPPolicies[22]=
|
|
IPPolicies[23]=
|
|
IPPolicies[24]=
|
|
IPPolicies[25]=
|
|
IPPolicies[26]=
|
|
IPPolicies[27]=
|
|
IPPolicies[28]=
|
|
IPPolicies[29]=
|
|
IPPolicies[30]=
|
|
IPPolicies[31]=
|
|
IPPolicies[32]=
|
|
IPPolicies[33]=
|
|
IPPolicies[34]=
|
|
IPPolicies[35]=
|
|
IPPolicies[36]=
|
|
IPPolicies[37]=
|
|
IPPolicies[38]=
|
|
IPPolicies[39]=
|
|
IPPolicies[40]=
|
|
IPPolicies[41]=
|
|
IPPolicies[42]=
|
|
IPPolicies[43]=
|
|
IPPolicies[44]=
|
|
IPPolicies[45]=
|
|
IPPolicies[46]=
|
|
IPPolicies[47]=
|
|
IPPolicies[48]=
|
|
IPPolicies[49]=
|
|
ServerLogName=server.log
|
|
bLocalLog=True
|
|
bWorldLog=True
|
|
bBatchLocal=False
|
|
DemoBuild=0
|
|
DemoHasTuts=0
|
|
bExternalBatcher=False
|
|
bNoMonsters=False
|
|
bHumansOnly=False
|
|
bCoopWeaponMode=False
|
|
bClassicDeathMessages=False
|
|
|
|
[UnrealShare.UnrealGameOptionsMenu]
|
|
bCanModifyGore=True
|
|
|
|
[UWeb.WebServer]
|
|
Applications[0]=UTServerAdmin.UTServerAdmin
|
|
ApplicationPaths[0]=/ServerAdmin
|
|
Applications[1]=UTServerAdmin.UTImageServer
|
|
ApplicationPaths[1]=/images
|
|
DefaultApplication=0
|
|
bEnabled=True
|
|
ListenPort=5080
|
|
MaxConnections=30
|
|
|
|
[UTServerAdmin.UTServerAdmin]
|
|
AdminUsername=utadmin
|
|
AdminPassword=utpasswd
|
|
MenuPage=menu
|
|
RootPage=root
|
|
CurrentPage=current
|
|
CurrentMenuPage=current_menu
|
|
CurrentIndexPage=current_index
|
|
CurrentPlayersPage=current_players
|
|
CurrentGamePage=current_game
|
|
CurrentConsolePage=current_console
|
|
CurrentConsoleLogPage=current_console_log
|
|
CurrentConsoleSendPage=current_console_send
|
|
DefaultSendText=say
|
|
CurrentMutatorsPage=current_mutators
|
|
CurrentRestartPage=current_restart
|
|
DefaultsPage=defaults
|
|
DefaultsMenuPage=defaults_menu
|
|
DefaultsMapsPage=defaults_maps
|
|
DefaultsRulesPage=defaults_rules
|
|
DefaultsSettingsPage=defaults_settings
|
|
DefaultsBotsPage=defaults_bots
|
|
DefaultsServerPage=defaults_server
|
|
DefaultsIPPolicyPage=defaults_ippolicy
|
|
DefaultsRestartPage=defaults_restart
|
|
MessageUHTM=message.uhtm
|
|
DefaultBG=#aaaaaa
|
|
HighlightedBG=#ffffff
|
|
AdminRealm=UT Remote Admin Server
|
|
|
|
[IpDrv.HTTPDownLoad]
|
|
UseCompression=True
|
|
|
|
[Engine.StatLog]
|
|
LocalBatcherURL=../NetGamesUSA.com/ngStats/ngStatsUT
|
|
LocalBatcherParams=
|
|
LocalStatsURL=../NetGamesUSA.com/ngStats/html/ngStats_Main.html
|
|
WorldBatcherURL=../NetGamesUSA.com/ngWorldStats/bin/ngWorldStats
|
|
WorldBatcherParams=-d ../NetGamesUSA.com/ngWorldStats/logs -g UT
|
|
WorldStatsURL=http://www.netgamesusa.com
|
|
LocalLogDir=../Logs
|
|
WorldLogDir=../NetGamesUSA.com/ngWorldStats/logs
|
|
bWorldBatcherError=False
|
|
|
|
[Botpack.TrainingDM]
|
|
FragLimit=3
|
|
TimeLimit=0
|
|
bMultiWeaponStay=True
|
|
bForceRespawn=False
|
|
bUseTranslocator=False
|
|
MaxCommanders=0
|
|
bNoMonsters=False
|
|
bHumansOnly=False
|
|
bCoopWeaponMode=False
|
|
bClassicDeathMessages=False
|
|
|
|
[Botpack.TrainingDOM]
|
|
bDumbDown=True
|
|
bNoTeamChanges=False
|
|
FriendlyFireScale=0.000000
|
|
MaxTeams=2
|
|
GoalTeamScore=100.000000
|
|
MaxTeamSize=16
|
|
FragLimit=0
|
|
TimeLimit=0
|
|
bMultiWeaponStay=True
|
|
bForceRespawn=False
|
|
bUseTranslocator=True
|
|
MaxCommanders=0
|
|
bNoMonsters=False
|
|
bHumansOnly=False
|
|
bCoopWeaponMode=True
|
|
bClassicDeathMessages=False
|
|
|
|
[UTMenu.UTServerSetupPage]
|
|
bLanPlay=True
|
|
|
|
[UTMenu.UTStartGameCW]
|
|
Map=DM-Deck16][.unr
|
|
GameType=BotPack.DeathMatchPlus
|
|
MutatorList=
|
|
bKeepMutators=False
|
|
|
|
[Botpack.TDMmaplist]
|
|
Maps[0]=DM-Liandri.unr
|
|
Maps[1]=DM-Codex.unr
|
|
Maps[2]=DM-Grinder.unr
|
|
Maps[3]=DM-Pressure.unr
|
|
Maps[4]=DM-HyperBlast.unr
|
|
Maps[5]=DM-Peak.unr
|
|
Maps[6]=DM-KGalleon.unr
|
|
Maps[7]=DM-Turbine.unr
|
|
Maps[8]=DM-StalwartXL.unr
|
|
Maps[9]=DM-Curse][.unr
|
|
Maps[10]=DM-Deck16][.unr
|
|
Maps[11]=DM-Phobos.unr
|
|
Maps[12]=
|
|
Maps[13]=
|
|
Maps[14]=
|
|
Maps[15]=
|
|
Maps[16]=
|
|
Maps[17]=
|
|
Maps[18]=
|
|
Maps[19]=
|
|
Maps[20]=
|
|
Maps[21]=
|
|
Maps[22]=
|
|
Maps[23]=
|
|
Maps[24]=
|
|
Maps[25]=
|
|
Maps[26]=
|
|
Maps[27]=
|
|
Maps[28]=
|
|
Maps[29]=
|
|
Maps[30]=
|
|
Maps[31]=
|
|
MapNum=0
|
|
|
|
[Botpack.TrainingCTF]
|
|
bNoTeamChanges=False
|
|
FriendlyFireScale=0.000000
|
|
MaxTeams=2
|
|
GoalTeamScore=3.000000
|
|
MaxTeamSize=16
|
|
FragLimit=0
|
|
TimeLimit=0
|
|
bMultiWeaponStay=True
|
|
bForceRespawn=False
|
|
bUseTranslocator=True
|
|
MaxCommanders=0
|
|
bNoMonsters=False
|
|
bHumansOnly=True
|
|
bCoopWeaponMode=True
|
|
bClassicDeathMessages=False
|
|
|
|
[UTMenu.UTMenuBotmatchCW]
|
|
Map=DM-Gothic.unr
|
|
GameType=BotPack.DeathMatchPlus
|
|
MutatorList=
|
|
bKeepMutators=False
|
|
|
|
[Botpack.ASMapList]
|
|
Maps[0]=AS-Hispeed.unr
|
|
Maps[1]=AS-Frigate.unr
|
|
Maps[2]=AS-Rook.unr
|
|
Maps[3]=AS-Mazon.unr
|
|
Maps[4]=AS-OceanFloor.unr
|
|
Maps[5]=AS-Overlord.unr
|
|
Maps[6]=AS-Guardia.unr
|
|
Maps[7]=
|
|
Maps[8]=
|
|
Maps[9]=
|
|
Maps[10]=
|
|
Maps[11]=
|
|
Maps[12]=
|
|
Maps[13]=
|
|
Maps[14]=
|
|
Maps[15]=
|
|
Maps[16]=
|
|
Maps[17]=
|
|
Maps[18]=
|
|
Maps[19]=
|
|
Maps[20]=
|
|
Maps[21]=
|
|
Maps[22]=
|
|
Maps[23]=
|
|
Maps[24]=
|
|
Maps[25]=
|
|
Maps[26]=
|
|
Maps[27]=
|
|
Maps[28]=
|
|
Maps[29]=
|
|
Maps[30]=
|
|
Maps[31]=
|
|
MapNum=0
|
|
|
|
-----[snip]-----</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>A few things of note here.</P
|
|
><P
|
|
>The following values should be changed before the server is launched for
|
|
the first time:</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[Core.System]
|
|
Paths=../System/*.u
|
|
Paths=/path/to/ut/Maps/*.unr
|
|
Paths=/path/to/ut/Textures/*.utx
|
|
Paths=/path/to/ut/Sounds/*.uax
|
|
Paths=/path/to/ut/Music/*.umx</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Should all be set to where Unreal Tournament is installed.</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[Engine.GameEngine]
|
|
;ServerActors=IpServer.UdpServerUplink</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Should be uncommented if you wish to link your Unreal Tournament server
|
|
into an existing Unreal Tournament league and have it accessible over the
|
|
Internet.</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[IpServer.UdpServerUplink]
|
|
DoUpLink=False</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Additionally, if you do want to link your UT server with an Internet
|
|
league, you will need to allow UpLinking.</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[Engine.Player]
|
|
ConfiguredInternetSpeed=20000</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>This should be set to the allocated bandwidth (in bytes per second) for
|
|
each player. Leaving it at the recommended 20000 is good.</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[Engine.GameReplicationInfo]
|
|
ServerName=Generic UT Server
|
|
ShortName=UT Server
|
|
AdminName=Lamer
|
|
AdminEmail=root@localhost
|
|
Region=0
|
|
MOTDLine1=
|
|
MOTDLine2=
|
|
MOTDLine3=
|
|
MOTDLine4=</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>All of that should be changed.</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[Engine.GameInfo]
|
|
AdminPassword=
|
|
MaxPlayers=16</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>An admin password should be set, and the Max Players should be set to a
|
|
sane value (See ConfiguredInternetSpeed).</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[UWeb.WebServer]
|
|
bEnabled=True
|
|
ListenPort=5080</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>One of the most interesting aspects of running a UT server is the
|
|
web-server interface for admins. By setting bEnabled to True and
|
|
specifying a ListenPort, you can administer an UnrealTournament server via
|
|
a normal Web Browser.</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[UTServerAdmin.UTServerAdmin]
|
|
AdminUsername=utadmin
|
|
AdminPassword=utpasswd
|
|
AdminRealm=UT Remote Admin Server</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>If you do decide to run the UT Webserver interface (Recommended), the
|
|
above values should be set. AdminRealm is less important, but will be
|
|
used by your browser to know when to ask for the administrator username
|
|
and password.</P
|
|
><P
|
|
>All other values should be checked and seasoned to taste.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="UTSTARTING"
|
|
></A
|
|
>7.4. Starting the server</H2
|
|
><P
|
|
>To start the Unreal Tournament server, you will need to use the
|
|
command "ucc server" and specify a few things on the command line. These
|
|
being:</P
|
|
><P
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
>Mapname - Name of the map to start from the Maps/ directory, minus the
|
|
.unr extension.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Gametype - One of Botpack.DeathMatchPlus, Botpack.Domination,
|
|
Botpack.CTFGame.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>INI - The config file to use to start the server.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>LOG - the log file the server should use.</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
>Port - (Optional) the port the UT server should use.</P
|
|
></LI
|
|
></UL
|
|
></P
|
|
><P
|
|
>Most of this is specified in the config file, but the mapname and Gametype
|
|
are required.</P
|
|
><P
|
|
>Here is an example:</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
><TT
|
|
CLASS="PROMPT"
|
|
>$</TT
|
|
> <B
|
|
CLASS="COMMAND"
|
|
>ucc server "DM-Turbine?game=Botpack.DeathMatchPlus" ini=ucc.ini log=ucc.log</B
|
|
></PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>I quoted the mapname and gametype because of the presence of the ? (Linux
|
|
shells use that as a wild card) and because a lot of Unreal Tournament
|
|
maps have odd characters in their name (DM-Deck16][ anyone?). I recommend
|
|
they always be quoted.</P
|
|
><P
|
|
>Once the server starts, it will load the settings specified in the
|
|
System/ucc.ini file and load the game.</P
|
|
><P
|
|
>I also recommend the server be started with the nohup command and placed
|
|
in the background. All the configuration will take place in the web
|
|
interface.</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECT2"
|
|
><H2
|
|
CLASS="SECT2"
|
|
><A
|
|
NAME="UTADMIN"
|
|
></A
|
|
>7.5. Administrating the server</H2
|
|
><P
|
|
>Administering the server is as easy as browsing a website. When you
|
|
started the server, you should have seen something like this toward the
|
|
end:</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>Spawning: IpDrv.UdpBeacon
|
|
Spawning: IpServer.UdpServerQuery
|
|
Spawning: UWeb.WebServer
|
|
Bound to UWeb.so</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>Notice the UWeb.Webserver and UWeb.so sections? Those are the webserver,
|
|
and since it didn't give any errors, we know it's running.</P
|
|
><P
|
|
>Now, in the configuration section, you told it what port to listen on:</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[UWeb.WebServer]
|
|
bEnabled=True
|
|
ListenPort=5080</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>So, to connect to the administration server, you would need to browse to
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>http://utserver:5080/ServerAdmin</TT
|
|
></P
|
|
><P
|
|
>The first thing that will happen is that your browser will ask you for
|
|
authentication. Back in the configuration file, we specified that:</P
|
|
><TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
>[UTServerAdmin.UTServerAdmin]
|
|
AdminUsername=utadmin
|
|
AdminPassword=utpasswd
|
|
AdminRealm=UT Remote Admin Server</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><P
|
|
>So in this case, you would sign in as utadmin with a password of utpasswd
|
|
(You had better change these before you actually start the server).</P
|
|
><P
|
|
>Once you are authenticated, you are presented with an interface that
|
|
allows you to specify the game type, map, number of bots and connections
|
|
as well as kick and ban users. It's all very point-n-click.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="halflife.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
> </TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Half-Life</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
> </TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |