poniedziałek, 15 kwietnia 2013

Stawiamy dedykowany serwer Unreal Tournament '99 na linuksie

Ok przyszła pora na pierwszego UT, pisząc tego posta stawiam właśnie takowy serwerek więc będzie na świeżo :). Powoli, krok za krokiem.

Serwer podstawowy


Tworzymy sobie jakiś katalog do naszej zabawy i pobieramy paczkę z serwerem(podaję pierwsze miejsce z tym plikiem jakie znalazłem):
wget http://to22.org/system/files/ut-server-436.tar_.gz

Następnie rozpakowujemy go za pomocą polecenia:
tar xvf ut-server-436.tar_.gz

Otrzymaliśmy folder ut-server, czyli już mamy na czym pracować, fajnie. Przydałoby się jeszcze zapuścić UTPure coby wyłapywało cheaterów bez skilla ;). Tak więc bobieramy:
wget http://downloads.unrealadmin.org/UnrealTournament/AntiCheat/UTPure/UTPureRC7G.zip

Rozpakowujemy, akurar rozpakowywałem unzip'em i zawartości nie było szczególnie dużo więc mogę pokazać co to to ma w środku:
inflating: utpure/UTPureReadme.txt
inflating: utpure/VaPure.htm
inflating: utpure/ZPPureReadme.txt
creating: utpure/System/
inflating: utpure/System/BP1Handler7G.u
inflating: utpure/System/BP4Han[UTPureRC7G.UTPure]dler7G.u
inflating: utpure/System/PureINTLog.u
inflating: utpure/System/PurePkgLog.u
inflating: utpure/System/PureStat7G.u
extracting: utpure/System/UTPureRC7G.int
inflating: utpure/System/UTPureRC7G.u
inflating: utpure/System/VAHandler7G.u
inflating: utpure/System/ValAvatar.ini
inflating: utpure/System/ZPPure7G.int
inflating: utpure/System/ZPPure7G.u
creating: utpure/uz/
inflating: utpure/uz/BP1Handler7G.u.uz
inflating: utpure/uz/BP4Handler7G.u.uz
inflating: utpure/uz/PureStat7G.u.uz
inflating: utpure/uz/UTPureRC7G.u.uz
inflating: utpure/uz/VAHandler7G.u.uz
inflating: utpure/uz/ZPPure7G.u.uz
inflating: utpure/PureINTLog.txt
inflating: utpure/PurePkgLog.txt
inflating: utpure/PureStatsReadme.txt

Jako, że nie znalazłem w załączonych plikach informacji o instalacji(domyślnie kopiuje się zawartość folderów analogicznie, ale co z folderem uz?) zastosowałem się do tego poradnika i skopiowałem zawartość obu folderów, System i uz do katalogu System w katalogu naszego serwera. Następnie(co już pisze w pliku UTPureReadme.txt) dokonujemy niewielkiej zmiany w pliku konfiguracyjnym naszego serwera(UnrealTournament.ini). Mianowicie w dziale [Engine.GameEngine] dodajemy następujące wpisy:
ServerPackages=UTPureRC7G
ServerActors=UTPureRC7G.UTPureSA

Pamiętajmy, że zgodnie z tym co pisze w pliku dołączonym do UTPure należy uruchomić serwer i szybko zakończyć ten proces, wtedy zostanie utworzona w pliku konfiguracyjnym serwera pełna sekcja [UTPureRC7G.UTPure].

I prawdę mówiąc z grubsza będzie tyle. Warto jeszcze rzucić okiem na sekcję [Engine.GameReplicationInfo] są tam podstawowe dane serwera widziane dla graczy. W paczce z serwerem są tam tylko dwie linijki, poniżej pokażę tą sekcję z kilkoma innymi opcjami:
[Engine.GameReplicationInfo]
ServerName=Testowy serwer
ShortName=Testowy
MOTDLine1=Witamy
MOTDLine2=Na naszym
MOTDLine3=Serwerze UT99
AdminName=
AdminEmail=
Region=0

Pora na uruchomienie naszego serwera, myślę, że kto się bierze za takie rzeczy wystarczy że dostanie przykłady, dlatego poniżej przykładowa komenda startująca serwer:
./ucc-bin server CTF-Face?game=BotPack.CTFGame? ini=UnrealTournament.ini log=ut.log -nohomedir &

Jeśli chcecie mieć możliwość administrowania serwerem przez z poziomu przeglądarki internetowej w sekcji [UWeb.WebServer] musicie zmienić linijkę bEnabled na:
bEnabled=True

W niektórych przypadkach zajdzie potrzeba zmiany portu dla tego rodzaju administracji, a że nie ma tej liniki w domyślnym pliku konfiguracyjnym dodam, że robi to w taki sposób(oczywiście port ustalcie sobie sami):
ListenPort=8887

Jeśli chcemy aby nasz serwer był widziany na liście serwerów dodajemy sekcję [IpServer.UdpServerUplink] uzupełnioną np. w ten sposób:
[IpServer.UdpServerUplink]
DoUplink=True
UpdateMinutes=1
MasterServerAddress=unreal.epicgames.com
MasterServerPort=27900
Region=0

Informacje dodatkowe


Automaczyne nagrywanie demek

Jeśli mamy działające UTPure, wystarczy ze w pliku konfiguracyjnym serwera dopiszemy sekcję [UTPureRC7G.bbPlayer], a w niej np.:
bDoDemo=True
DemoMask=%l_[%y_%m_%d_%t]_[%c]_%e
DemoPath=Demos

I teraz tak, bDoDemo określa czy dema mają być automaczycnie nagrywane, DemoMask to maska plików z demami(szczegóły w pliku UTPureReadme.txt dołączonym do UTPure); natomiast DemoPath określa gdzie będą zapisywane dema. W moim przypadku jest to katalog Demos umieszczony na tym samym poziomie co katalog System. Pamiętajcie żeby najpierw utworzyć katalog w którym będą zapisywane dema i aby na końcu wpisu dać "".
 

Zakończenie


W zasadzie będzie na tyle, dodam jeszcze, że serwer warto uaktualnić so wersji 451 lub nowszej, po który zapraszam tutaj.

Zdaję sobie również sprawę, że zawarte tutaj informacje są bardzo podstawowe, niemniej jednak zapewniają postawienie prostego serwera, zachęcam do dalszych poszukiwań na własną rękę.

Brak komentarzy:

Prześlij komentarz

Kompilacja Fluxbox 1.3.7 kompilatorem C++ 17 (GCC 11)

Po aktualizacji systemu jakiś czas temu okazało się, że posiadając nową wersję gcc w systemie nie byłem w stanie poprawnie skompilować Fluxb...