Create UT server

UT2003 Server Setup Guide

Before setting up a server, go to:

/...atedserver.php

Download the server version of UT2003, (v2107, Windows: 265MB | Linux: 249MB) Installation requires 780M hard disk space.

/ut...rver/cdkey.php

Apply for server-specific CD-KEY

After downloading the server installation file:

Linux users: Create a new user account specifically for running the server, log in with this user, and run the ut2003lnxded.sh.bin file. The tool screen prompts to continue.

Windows users: Unzip the zip file to the hard drive. There is no installation program, just unzip it.

Download the latest upgrade patch before configuring the server to upgrade the server program.

Download evolutionpack2 again, it can help you solve many problems with web page management and fix some bugs.

/ut...rver/cdkey.php, after entering some required information, the server-specific CDkey will be sent to you via email. Linux users need to copy the received cdkey file to your system folder

E If you already know how to add CDKEY to the registry, skip this step to J.

F Click Start --->Run. Enter regedit in the window and press Enter.

G In the registry manager, double-click "HKEY_LOCALMACHINE" to expand it, double-click "software" to expand it, and find the "Unreal Technology" folder under it. If this folder already exists, jump to J .

H adds a new key value. Click the "software" folder, and then click Edit---gt; New---gt; Primary Key. A new folder will appear. There is a highlighted area for you to name it. Type Unreal Technology and press Enter.

I Click on the newly created folder, click Edit---gt; New---gt; Primary Key. A new folder appears, and there is a highlighted area for you to name it. Enter Install Apps, press Enter, and jump to K.

J Find the "UT2003" folder under the Unreal Technology Installed apps folder. If it exists, jump to L

K Click the "Installed Apps" folder and click Edit - --gt; New ---gt; Primary key. A brand new folder is born. There is a highlighted area for us to name it. Enter UT2003 and press Enter.

L Click the "UT2003" folder, click Edit ---gt; New ---gt; Create value. A new folder appears again, with a highlighted area for us to name it. Enter "CDKEY" and press Enter. Double-click the newly created key and you can edit its value. Enter your cdkey serial number inside. Click OK. Close the Registry Editor.

M If you know how to use the command line to access the system folder in your Unreal installation folder, skip to step O

N Use the command line to set up the server. I installed my files on UT2003server, I used this as an example, type cd ut2003server\system

O type ucc server DM-Antalus.ut2

If all goes well, a dedicated server It's set up, and the map in the game is DM-Antalus.

By default, the configuration of the dedicated server is configured for Internet games. This means that it tries to contact the main server abroad and add it to the main server's database, so that your server can appear in other people's server search lists. There are currently two different main servers running, Epic's and Gamespy's.

If you have installed the retail version of UT2003 on your machine, you do not need to run the .reg file given to you by Epic mail, otherwise the CDKEY in your registry will be changed to server-specific, so You can't play with this machine yourself.

If you are setting up a server in a local network and want to prohibit UT2003 from contacting the main server, edit UT2003.ini and modify the following sentence (if you cannot find this part, add suffix at the end These lines):

[IpDrv.MasterServerUplink]

DoUplink=False

UplinkToGamespy=False

Configuration Server

Now that you know the basics of setting up a server, you need to configure it to what you need. Each section below has detailed FAQ

There are three most important files in the System folder: user.ini runserver.bat and ut2003.ini. user.ini saves a circular list of maps. ut2003.ini saves many other settings. runserver.bat saves the settings for starting the server. Linux users do not have a runserver.bat file, so you have to enter a long list of commands to start the server every time, or you have to use a shell script to start the server. (For an example of using a script to start the UT2003 server on Linux, see community.com/forums/showthread.php?s=amp;threadid=231043)

If you set up multiple servers, usually you will use a** *The same ut2003.ini file, and then use different runserver.bat or shell scripts to start different servers. The following is an example of runserver.bat:

ucc.exe server DM-Antalus?game=XGame .XDeathmatch?maxplayers=16?minplayers=4?timelimit=20?fraglimit=25

ucc.exe is the execution file of the server. "server" tells uccc to set up a dedicated server below. What follows are some parameters that set the game rules of the server. The first item is the map name of the server's initial game, in this example it is DM-Antalus. Next comes the game type, in this case Death Mode. Different parameters are separated by question marks. No matter how many parameters you enter, the entire command must be on one line. If it is separated, it will not work.

The following is a list of all parameters that can be used after ucc. Note that there are some parameters below that cannot be felt when running the server. They are listed just for the sake of completeness:

AccessControl is used to open the advanced administrator system. The same parameters as the AccessConrolClass line in the [Engine.GameInfo] section of UT2003.ini.

AdminName=xxxx The name of the web administration and console administrator -- see the Advanced Web Administrators section below.

adminpassword=xx Administrator password. At least 5 digits, otherwise it will be invalid.

bAutoNumBots=true/false If set to true, when the number of people is less than the minimum number set by the map by default, computer bots will be automatically added to supplement the number. If set to false it will not.

autoadjust=true/false If set to true, the computer bot will automatically adjust its level according to the player's level. false will not.

bPlayerMustBeReady=true/false Set to true to open the game mode. Before each game starts, all players must press the mouse to confirm before the game starts. false is not required.

Balanceteams=true/false Automatically assign players to balance teams.

BlueTeam= Set the name of the blue team. However, don't think you can change your team's name. However, don't get clever and decide you'll name the blue team Purple or something like that. Many classes in the game refer to this variable to perform team info logic This sentence is not easy to read by yourself. In short, it is best not to add this parameter, adding it will have adverse consequences.

BlueTeamAI= Special parameters used to control the blue team computer AI. It is used by mod makers to configure their own AI for new game modes. Don't touch it.

BlueTeamSymbol= Set the blue team's team logo. Better not to set it up.

Character=X The character used by the player is invalid when setting up the server.

Class If used when setting up a server, players playing on the server can only use the default character skin. Usually players use their favorite character skins. So this command is useless.

difficulty=x sets the computer registration, from 1 to 7, from novice to godlike.

FF=x The percentage of friendly team damage. 0 is off, 1 is 100, so .25 is 25 friendly team damage.

fraglimit=x Maximum number of kills in death mode.

game= Game type, you can use: xDeathmatch, xCTFgame, xBombingRun, or xDoubleDom

gamepassword= as the password required when the client joins the game.

GameRules sets a special GameRules class. GameRules is a new type added by mutator in UT2003. Normally you don't need to use it. Almost all mods automatically configure their own GameRules.

Gamespeed=x sets the game speed, the default is 1. Maximum 2

Gamestats=true/false Setting it to true will turn on the statistics function (the player's game data, such as hit rate, etc. will be uploaded to the main server database for statistics and participate in the world ranking). The number of computers must Set to 0 to take effect.

goalscore=x Team score limit in CTF, DOM and BR modes.

maxlivers=x last man standing mode, the player will be out after x death, and the game will end until there is only one person left.

maxplayers=x Maximum number of players playing at the same time.

maxspectators=x The maximum number of spectators at the same time.

minplayers=x is the minimum number of game players. If the number is less than this number, computer bots will be used to make up the amount.

mutator= Add mutator in the game (see below for details)

numbots=x Set the number of computer bots. Note that if you kill the bot, the game statistics function will be invalid.

Password=xxxx is the password required by other players to join the game.

PlayerMustbeready=true/false Wait for other players before starting each round.

QuickStart allows the game to continue as usual when no one is around. Of course, it is effective when a computer bot is playing.

RedTeam See BlueTeam

RedTeamAI See BlueTeamAI

RedTeamSymbol See BlueTeamSymbol

SaveGame Continues a saved single player game. Useless when setting up a server.

SpectatorOnly=True/False client option allows the client to specify the observer mode using the command line. It is not used when setting up the server.

Team client option allows the client to specify the team it wants to join using the command line. It is useless when setting up a server.

translocator=true/false Set to true to allow the use of shifters, false to the contrary.

timelimit=x time limit for each round.

Tournament=true/false Set to arena mode

weaponstay=true/false Weapon retention.

A few examples:

ucc server DM-Antalus?game=XGame.XDeathmatch?minplayers=4 Set up a death mode server, initial map DM-Antalus, at least 4 people, less than 4 People use computers to make up for it.

ucc server CTF-Citadel?game=XGame.xCTFGame?FF=0 Set up a capture-the-flag mode server, with the initial map CTF-Citadel and no friendly team damage.

ucc server DOM-SunTemple?game=xGame.xDoubleDom?mutator=UnrealGame.MutLowGrav Dual stronghold mode server, initial map DOM-SunTemple, low gravity mode is enabled.

ucc server BR-Anubis?game=XGame.xBombingRun?weaponstay=true Set up a BR mode server, the initial map is BR-Anubis, and weapon retention is enabled.

ucc server DM-Curse3?game=XGame.xTeamGame?fraglimit=100 Team death mode, initial map DM-Curse3, maximum number of kills is 100.

About contact with the main server

If you don’t want your server to be displayed in the game’s server search list, or if you are just a server on the home network, you can turn off the following in UT2003.ini

[IpDrv.MasterserverUplink]

DoUplink=true|false Controls whether your server contacts the master server on the internet.

UplinkToGamespy=true|false is similar to DoUplink and determines whether to establish contact with the gamespy server.

SendStats=true|false Whether to send statistical information to the main server

ServerBehindNAT=true|false Whether the server is behind the gateway.

DoLANBroadcast=true|false Set whether the server can be found in the home network. Generally set to true

Map loop and personalized map list

By default, the game will cycle and the map will appear. The loop sequence is controlled in the user.ini file. Each game type has a section listing the maps for the cycle. You can edit it, remove the ones you don't like, and add the maps you like. Such as

[XInterface.MapListDeathMatch]

MapNum=0

Maps=DM-Morbias-2k3

Maps=DM-Spacepir8

Maps=DM-KillingField

Maps=DM-Deck16]i[-BETA

Maps=DM-MoonTemple

Maps=DM -Reigncaster

Maps=DM-Golgatha

Maps=DM-Tooth-N-Claw

Maps=DM-Stage1

Maps =DM-Liandri2003_BETA2

If you want to play more maps, go to the Internet and download them. Unzip them and put the ut2 file into the map folder, utx into the texture folder, and other corresponding files into the corresponding directories, and you can use the new map.

Run multiple game types on a game server

You may want to run multiple game types on a game server, such as CTF, DOM, BR. You can use the following method to switch maps, for example:

For example, we first start a death mode game on the DM-Asbestos map. Because it is now in death mode, after the game ends, UT will check the [XInterface.MapListDeathMatch] section in user.ini to obtain the name of the next map. It finds the BR-Anubis map name, and then switches to BR mode to read the BR-Anubis map. Once the BR-Anubis game ends, UT will check the [XInterface.MapListBombingRun] part because it is already in BR mode.

It finds the CTF-Citadel map again, then switches to CTF mode and continues....

[XInterface.MapListCaptureTheFlag]

MapNum=0

Maps =DM-Asbestos?game=XGame.xDeathMatch

[XInterface.MapListDeathMatch]

MapNum=0

Maps=BR-Anubis?game=XGame.xBombingRun

[XInterface.MapListBombingRun]

MapNum=0

Maps=CTF-Citadel?game=XGame.xCTFGame

Third-party map and redirection

If you use a third-party map that does not come with the game, it may take a long time for others to connect to the server to download the map and occupy the bandwidth of other players, making the game unsmooth. Solution You can put the map file on another web server and tell the client to automatically download it from there

Use UT2003compress (can be downloaded)...? The following part of ut2003.ini redirects the download server:

IpDrv.HTTPDownload]

HTTPServer=work filter. In particular, nat is used.

Second: The kernel must support the tun/tap module.

I have debian, and I compiled the kernel myself, so it was already ready during compilation. Since I never use the official kernel, I don’t know if debian’s official kernel is already available. .

But you can take a look at it yourself.

No need to ask about iptables support, it is usually built-in.

It is the support of tun/tap device. You can check this point like this:

modprobe tun, lsmod to see if there is tun. If successful, it is supported and compiled into a module. If not, you can check: /dev/net /, see if there is a file like tun. If it exists, it is built into the kernel and has not been compiled into a module. In addition, if it is compiled into a module, you should also pay attention to whether this file exists. If not, you have to build it yourself.

mknode /dev/net/tun. Generally, current distributions will automatically fix it for you when you modprobe tun, so don’t worry about this.

Okay. We're off to work.

Download the source code of qemu from the main site:

tar zxvf qemu-0.8.2.tar.gz

cd qemu-0.8.2

p>

gcc -v

Here is a look at the gcc version.

qemu can currently only be compiled with gcc3. If yours is gcc4,

Just su - to root, and then go to /usr/bin/

See if there is gcc3

If so , see if the original gcc is a link or a file. If it is a file, back it up and restore it later. If it's a link, don't worry about it. See which gcc it points to, and remember to recover later. The linking method is simple: ln -s gcc-3.3 gcc

That’s it. Backing up is even easier. mv gcc gcc.bak

Go back to the directory we were in.

Run:

./configure

make

make install

This will install qmeu.

Now we need to use the kqemu module to speed up.

Download kqemu-1.3.0pre9.tar.gz.

After unzipping.

tar zxvf kqemu-1.3.0pre9.tar.gz

Then enter the directory. There are two things to pay attention to at this time:

1. You need the kernel header file of the kernel you are currently using.

2. The gcc version must be consistent with the gcc version compiled by your kernel. To put it simply, it’s the one you changed just now. It will be fine to recover.

Okay.

./configure amp; make amp; make install

Just fine.

We have already installed all the software.

But sometimes we need some settings to work.

1. modprobe kqemu

2. Check whether the /dev/kqemu character file exists.

3. The permissions of the /dev/kqemu file must be 0666.

After doing this, you can start installing your virtual machine.

After installation, we will set up your network

Exit your root, and then

cd ~ Enter your home directory

mkdir qemu

cd qemu

qemu-img create win2k.img 2G

Create a hard disk file. Then we can install win2000 on this.

You can use iso files or CDs.

We use a CD to install here.

qemu -hda win2k.img -cdrom /dev/cdrom -boot d -localtime -m 256 -win2k-hack

In this way, you can start installing 2000. Explain the options here:

-hda specifies the first hard disk.

-cdrom specifies that the file behind your cdrom can be an iso file

-boot d starts from the CD. If you start from your hard disk, use -boot c and -localtime. local time. -m is to set the memory size. The default is 128. Note that you can set a larger memory, but your /dev/shm needs to be large enough.

-win2k-hack, there will be a problem when installing 2000, it will prompt you that the disk space is not enough, just add this parameter.

Okay.

After the installation is completed, you can start it and take a look.

Start as follows:

qemu -hda win2k.img -boot c -localtime -m 256. This will use kqemu by default

You should be able to access the Internet now , but note that the virtual machine uses dhcp to access the Internet.

And you can’t ping your local machine. I think this may be something most people don’t want, so let’s configure the network below.

Through tun/tap, it is a bit like host-only in vmware

To configure a network like host-only (tun/tap), we have already mentioned the two requirements above, and now we will do more Things:

1. Create a file /etc/qemu-ifup

The content is very simple:

#!/bin/sh

sudo /sbin/ifconfig $1 192.168.0.1 netmask 255.255.255.0

Then chmod a x /etc/qemu-ifup

Note that 192.168.0.1 here is your tun/tap Please note that the address of the network card cannot be on the same network segment as your actual network card. That is to say, if tun/tap is 192.168.2.0.0/24, then your time network card cannot be in this network segment.

Then write a small script:

userinit This is the file name:

The content of the file is as follows:

#!/bin/ bash

case "$1" in

start)

[ ! -e /dev/kqemu ] amp; amp; mknod -m 666 /dev/kqemu c 250 0

echo 1024 gt; /proc/sys/dev/rtc/max-user-freq

echo 1 gt; /proc/sys/net/ipv4/ip_forward

/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

;;

stop)

;;

esac

Then: chmod a x userinit

Then: mv userinit /etc/init.d/

Re: update-rc.d userinit start 25 2 3.

It should be noted that this operation is done under debian.

If it is in other distributions: such as Fedora, you can directly write such a script in your /etc/rc.local file

[ ! -e /dev/kqemu ] amp; amp; mknod -m 666 /dev/kqemu c 250 0

echo 1024 gt; /proc/sys/dev/rtc/max-user-freq

echo 1 gt; /proc/sys/net/ipv4/ip_forward

/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

Edit Your /etc/modules. Add: kqemu (if your tun is compiled into a module, also add tun)

One last thing. You must have noticed a problem: the qemu-ifup script uses sodu, so if you want ordinary users to use it, then configure it with sudoer.

This is very easy to configure.

Edit: /etc/sudoers

Your username ALL=(ALL): ALL NOPASSWD: ALL

This way you don’t have to enter a password.

Now we can start starting your virtual machine.

To start like this:

qemu -hda win2k.img -boot c -localtime -m 256 -net nic, vlan=0 -net tap, vlan=0

If you find it troublesome,

Just write a one-sentence script:

#!/bin/bash

qemu -hda win2k.img -boot c -localtime -m 256 -net nic, vlan=0 -net tap, vlan=0

Save it as win2k, add x permissions, and then place it in /usr/bin, or / After running win2k directly under usr/local/bin

you can start 2000.

Similarly, you can also install multiple systems and write multiple scripts to start them.

This is cooler