Beszámoltam arról, hogy a Xorp Game Server újra indult. Egyik elérhető játék az Unreal Tournament 99 GOTY. A következő cikkel, azt kívánom bemutatni, hogy valaki, aki szintén kedvet kapna UT szerver indításához, hogyan tudja megtenni.

Az általam bemutatott lépések, egy Ubuntu 12.04-es rendszeren voltak tesztelve.

Hozzunk létre egy felhasználót

Célszerű egy egyszerű felhasználóként futtatni majd a programot. Erre a célre én egy UT nevű felhasználót hozok létre a következő parancs segítségével:

# useradd -s /bin/bash -md /home/ut/ ut
# passwd ut

Valami megfelelő bonyolultságú jelszóval levédhetjük, vagy egyszerűen tiltsuk ki ezt a felhasználót az SSH-ból.

Ezek után lépjünk át az újonnan létrehozott UT felhasználónkba.

# su – ut

Ellenőrizzük, hogy biztos az UT felhasználó home könyvtárában vagyunk.

> pwd

Amennyiben nem lépjünk oda.

> cd /home/ut

Töltsük le a szükséges komponenseket

> wget http://blog.xorp.hu/wp-images/ut/ut-server-436.tar.gz
> tar xf ut-server-436.tar.gz
> cd ut-server
> wget http://blog.xorp.hu/wp-images/ut/UTPGPatch451LINUX.tar.tar
> tar xf UTPGPatch451LINUX.tar.tar
> wget http://blog.xorp.hu/wp-images/ut/asu-0.6.tar.gz
> tar xf asu-0.6.tar.gz
> chmod +x asu.sh
> cd System
> ln -s libSDL-1.1.so.0 libSDL-1.2.so.0
> cd /home/ut/ut-server

Először leszedtük a 436-os verzióját a szervernek. Azt kitömörítettük, és beleléptünk az így létrejött ut-server könyvtárba. Ide szedtük le a 451-es patchet. Azt is kitömörítettük. Ezek után töltöttük le az ASU (Abfackelns Server Utilities) komponenst. Az ASU nem más mint egy script, ami szöveges, menüs környezetet fog nekünk mutatni. Ebben tudjuk az alap dolgokat beállítani anélkül, hogy manuálisan kellene a konfigurációs file-okat szerkesztgetnünk. Aki kézzel szeret szerkesztgetni, az nyugodtan kihagyhatja az ASU-t. Én a továbbiakban erre fogok támaszkodni. Az ASU kitömörítése után, adjunk futtatási jogot, és egy libSDL modult linkeljünk át, ezzel elkerülhetünk egy ismert hibát.

ASU használata

> cd /home/ut/ut-server
> bash asu.sh

Ahogy látszik a fenti képen, minden alapvető funkciót és konfigurációt egy menüben érhetünk el. Mindig a menüpontok előtti betűket megadva választhatjuk az adott konfigurációs részt. Ezekre külön nem térnék ki. Amennyiben úgy érezzük készen vagyunk, az I menüpont segítségével Installáljuk az Init scriptet.

Ez az ASU által generált külön indító állomány lesz.

> ./ucc.init start
> ./ucc.init stop

Ezek után a fenti két parancs segítségével tudjuk indítani és leállítani a szerverünket.

Webes Adminisztrációs felület

Amennyiben szeretnénk aktiválni a Webes Adminisztrációs felületet, úgy ellenőrizzük az UnrealTournament.ini file-ban a következő részeket:

> vi /home/ut/ut-server/System/UnrealTournament.ini
[UWeb.WebServer]
Applications[0]=UTServerAdmin.UTServerAdmin
ApplicationPaths[0]=/ServerAdmin
Applications[1]=UTServerAdmin.UTImageServer
ApplicationPaths[1]=/images
DefaultApplication=0
bEnabled=True
ListenPort=5080

[UTServerAdmin.UTServerAdmin]
AdminUsername=admin
AdminPassword=admin

A bEnable=True sor kapcsolja be az egész Webes Admin felületet. a ListenPort-al definiálhatjuk milyen porton hallgasson. Az AdminUsername és AdminPassword után pedig az authentikációhoz szükséges információkat adhatjuk meg.

Amennyiben újraindítottuk a szerverünket, abban az esetben be kell tudnunk lépni a következő URL segítségével:

http://UT-SERVER-IP-JE:5080/ServerAdmin

A webes felületen tudunk pályákat váltani, monitorozni, hogy honnan és mennyien kapcsolódnak, és természetesen kirúghatjuk, vagy kitilthatjuk őket, illetve szabadon tölthetünk be MUTATOR-okat, az elérhetőek közül.

Hibák / Tippek

Amennyiben 64 bites rendszerünkre tesszük fel az UT servert, úgy belefuthatunk a következő hibába:

Starting Unreal Tournament: ucc.init
exec: 88: ./ucc-bin: not found

Sajnos az UT szerver régi fejlesztés, fel kell tennünk a 32-bites környezetet a futtatásához:

Deb alapú rendszereken:
# apt-get install ia32-libs

RPM alapú rendszereken:
yum install ld-linux.so.2

Természetesen minden külső kiegészítőt, textúrát, pályákat, mutator-okat tudunk használni. A megfelelő helyre kell másolni az állományokat, és az UnrealTournament.ini-ben betölteni őket.

Ha valaki a rendszer indulásával szeretné az UT szervert is elindítani automatikusan, annak ajánlom a következő egyszerű scriptet:

/etc/init.d/ut_server

#!/bin/bash

case $1 in
        start)
                sudo -H -u ut /home/ut/ut-server/ucc.init start
                sleep 5 ;;
        stop)
                sudo -H -u ut /home/ut/ut-server/ucc.init stop
		sleep 5 ;;
        *)
                echo "Usage: ut_server {start|stop}" ;;
esac

# cd /etc/init.d
# update-rc ut_server defaults