środa, 10 października 2012

Stawiamy dedykowany serwer Unreal Tournament 2004 na linuksie


UT2004 Logo



Wstęp


Post podzielony będzie na cztery części, mianowicie Serwer podstawowy, Konieczne(moim zdaniem) dodatki do serwera oraz Dodatkowe informacje - serwer i Dodatkowe informacje - ustawienia gracza(lokalne). Jak to w moim przypadku, piszę go właściwie dla siebie aby nie zapomnieć pewnych procedur - ale może komuś się jeszcze przyda.
Pierwsza część zawiera najbardziej podstawowe informacje o tym jak w ogóle sprawić aby cokolwiek waszego pojawiło się na liście serwerów w grze.

Drugi - opisuje procedurę dodania dodatków UT2Vote, UTComp i UTSecure.

Trzecia część to różnorakie przydatne mądrości dotyczące konfiguracji serwera UT2004.

Czwarta to to samo co trzeba tylko dla gracza pojedynczego tzn. że zmian dokonujemy w plikach konfiguracyjnych na naszym dysku twardym.


I. Serwer podstawowy


Rozumiem, że jeśli takie myśli chodzą Wam po głowie macie dostęp do jakiegoś serwera np. za pośrednictwem protokołów SSH i ewentualnie FTP, chociaż SSH będzie w zupełności wystarczające. Zaczynamy w katalogu domowym naszego użytkownika, od razu warto utworzyć sobie katalog na dane związane z serwerem, nazwijmy go "ut2k4_server":
mkdir ut2k4_server

Jako, że pracować będziemy w tym katalogu warto od razu do niego wejść:
cd ut2k4_server

Przede wszystkim należy pobrać paczkę z serwerem dedykowanym; proponuję skorzystać ze strony Unreal Admin i ich działu Downloads gdyż jest prosty i przyjemny i z pewnością nie raz tam zajrzycie jeśli interesuje was tematyka tej serii. Ale do rzeczy, pobieramy paczkę:
wget http://downloads.unrealadmin.org/UT2004/Server/dedicatedserver3339-bonuspack.zip

Następnie aktualizacja do wersji 3369. I tutaj kwestia zasadnicza, dla linuksów łatki na tą wersję(bo używać będziemy najzwyklejszej łatki do UT2004) wyszły dwie: 3369 i 3369-2, ta druga coś tam poprawiała w pierwszym wydaniu linuksowym wersji 3369 - nie pamiętam dokładnie o co chodziło. Was interesuje jej pierwsza wersja, dlatego też wydajemy polecenie:
wget http://downloads.unrealadmin.org/UT2004/Patches/Linux/ut2004-lnxpatch3369.tar.bz2

Osobiście, u siebie mam serwer wrzocony do katalogu ut2004 w katalogu ut2k4_server, tak więc:
unzip dedicatedserver3339-bonuspack.zip -d ut2004

Następnie wartałoby serwer zaktualizować, i tutaj magicznej komendy wypakowywania z zastępowaniem wam nie podam bo dla wygody robię to za pomocą Midnight Commandera(polecenie mc - ufam, że dalej już sobie poradzicie).
--------------------------------------------------------------------------------------------------------------------------------------

CD-KEY naszego serwera

Wymagany aby serwer był widoczny na liscie serwerów w grze, w przeciwnym razie gracze będą musieli podać jego IP jeśli będą chcieli się z nim połaczyć(co też nie jest tragiczne, można go dodać do ulubionych i już sobie tam będzie). Tak czy inaczej aby otrzymać klucz dla naszego serwera wchodzimy na:
http://www.unrealtournament.com/ut2004server/cdkey.php

Przechodzimy całą procedurę po czym otrzymany klucz zapisujemy w katalogu "System" pod nazwą "cdkey".
--------------------------------------------------------------------------------------------------------------------------------------

Jak uruchomić serwer?

Sprawa ponownie jest prosta, jeśli dla przykładu chcemy zacząć grać w trybie Deathmatch na mapie Curse4, wchodzimy do katalogu system, uruchamiamy ucc-bin-linux-amd64(dla maszyn 64-bitowych) lub ucc-bin(dla maszyn 32-bitowych) z odpowiednimi parametrami tj.:
ucc-bin-linux-amd64 server DM-Curse4?XGame.xDeathMatch -nohomedir -log=../logs/ucc.log &

Jak widać, tak postawiony server skorzysta również z opcji "nohomedir"(odsyłam do Google) oraz utworzy plik z logami w katalogu "logs" znajdującym się w głównym katalogu gry(radzę go utworzyć bo domyślnie go nie ma).

Natomiast jeśli do tego wszystkiego chcielibyśmy np. dodać jakiś mutator, dajmy na to Zoom Instagib(dla przykładu, akurat łatwiej sobie to sprawdzić jeśli mutator jest już w grze, tak jak ten - oszczędza Wam to instalacji dodatkowych rzeczy):
ucc-bin-linux-amd64 server DM-Curse4?XGame.xDeathMatch?mutator=XGame.MutZoomInstagib -nohomedir -log=../logs/ucc.log &

Ja dla przykładu zrobiłem sobie prosty skrypt w bashu o nazwie "start_server", wygląda on tak:
#!/bin/bash
cd ut2004/System

./ucc-bin-linux-amd64 server CTF-Maul?XGame.InstagibCTF?mutator=UT2Vote59.UT2VoteX -nohomedir -log=../logs/ucc.log &

Proste jak drut. Nie zapomnijcie tylko waszemu skryptowi nadać później uprawnień do wykonywania poleceniem:
chmod+x wasz_skrypt

Oczywiście spece robią dużo bardziej zaawansowane skrytpy obejmujące również automatyczne podnoszenie serwera jeśli padnie, ale ponownie odeślę Was po taką wiedzę do Google, tutaj tylko niezbędne podstawy.
--------------------------------------------------------------------------------------------------------------------------------------

Plik konfiguracyjny - UT2004.ini

Dokładnie, znajdujący się w oczywiście również w katalogu "System" przechowuje ustawienia naszego serwera, począwszy od nazwy, tego czy wymagane jest hasło aby do niego dołączyć, na różnych znacznie bardziej zaawansowanych rzeczach skończywszy. Nie będę tutaj opisywał tego co możemy w nim ustawić bowiem w tym pomaga Google, do tego nazwy opcji są bardzo przejrzyste.

Plik konfiguracyjny jeśli zamierzamy korzystać z mutatora UT2Vote

Pamiętajcie jednak, jeśli chcecie wyposażyć serwer w UT2Vote tak jak to było w moim przypadku możecie odpuścić sobie plik UT2004.ini bowiem ten mutator ma o sobie tak wysokie mniemanie, że niektóre ustawienai woli brać od siebie niż z głównego pliku konfiguracyjnego. Nawet tak naprawdę nie chodzi o odpuszczenie sobie pliku głównego ale co się da ustawiajcie w UT2Vote59.ini(dla wersji 59, ale podejrzewam, że nikt już nowej nie wypuści); a jeśli to nie da skutku, dopiero w UT2004.ini.

II. Konieczne(moim zdaniem) dodatki do serwera


Instalujemy mutatory - UT2Vote oraz UTComp 1.7a

Ktoś może zapytać, czemu nazywam te mutatory niezbędnymi? Już wyjaśniam, otóż grałem w życiu trochę w gry FPP/FPS i takie opcje jak BrightSkins(jasne skórki graczy) oraz Hit Sounds(dźwięk przy trafieniu przeciwnika) to dla mnie istotne części rozgrywki. BrightSkins pozwalają unikać camperów i czynią graczy lepiej widocznymi(to nie oszustwo a powszechnie stosowana praktyka - doświadczy tego każdy na serwerze), Hit Sounds natomiast po prostu osobiście lubię. Do tego UTComp dodaje kolorowe nicki(bajer ale fajny) i generalnie sam UTComp by wystarczył natomiast nie pozwala on głosować między graczami na mutatory, a to mnie wkurza - dlatego łączę go z UT2Vote59. Poza tym UTComp ma naprawdę świetny domyślny dźwięk przy trafieniu przeciwnika, sprawdźcie.

Dodam, że autor UT2Vote zrobił do niego jakiś mutator że są w nim BrightSkins i Hit Sounds ale to już jak wolicie, UTComp dodaje też nową tablicę punktów, statystyki celności z broni itd. Nie sprawdzałem tego drugiego ale mi UTComp po prostu w 100% odpowiada.

UT2Vote59

59 ponieważ jest to jego najnowsza na chwilę obecną wersja. Pobieramy pakiet(radzę utworzyć sobie jakiś osobny katalog na serwerze gdzie będziecie przechowywać paczki z mutatorami i ewentualnie modami) poleceniem:
wget http://www.proasm.com/files/ut/UT2Vote59.zip

Następnie do katalogu z naszym serwerem i podkatalogu System kopiujemy pliki:
UT2Vote59.int

UT2Vote59.ini

UT2Vote59.u

UT2Vote59.ucl

Natomiast do pliku konfiguracyjnego UT2004.ini, do działu [Engine.GameEngine] dopisujemy na końcu:
ServerPackages=UT2Vote59

Pamiętajmy, że podczas uruchamiania serwera należy dopisać taką część, analogicznie do przykładu kilka części wyżej:
?mutator=UT2Vote59.UT2VoteX

O ile dobrze pamiętam, funkcjonuje jeszcze ?mutator=UT2Vote59.UT2VoteXMulti, ale z tego co kojarzę stosuje się tą wersję tylko dla maszyn na których jest naraz więcej serwerów gier przy czym nie mam zupełnie pojęcia czy chodzi tylko o serwery UT2004 czy ogólnie serwery różnych gier.

UTComp 1.7a

U mnie konkretnie plik nazywał się utcomp17a_116, jeszcze czytałem o jakimś utcomp17a_3fix czy fix3 ale nie udało mi się go odnaleźć więc nie wiem tak naprawdę o co tam chodzi; być może jakaś drobna poprawka. Oczywiście pobierzcie sobie pakiet z UTComp z sieci, nie podaję linka bo o ile pamiętam ja znalazłem go dopiero na jakimś Game Froncie czy czymś takim więc kopiowałem potem przez FTP bo wget nie działał. Jak już macie pakiet to do katalogu System wrzucacie wszystkie pliki analogicznie z paczki tj.:
utcomp17a.u

utcomp17a.ucl

utcomp.int

Następnie w pliku UT2004.ini, dziale [Engine.GameEngine] dopisujemy:
ServerPackages=utcompv17a

Zaś grę uruchamiamy dodając:
?Mutator=utcompv17a.MutUTComp

Aktywowanie UTComp na serwerze działającym pod kontrolą UT2Vote

No właśnie, wtedy nie dopisujemy ?Mutator=utcompv17a.MutUTComp tylko otwieramy plik UT2Vote59.ini i szukamy linijki ServerMuts=, następnie zmieniamy ją aby wyglądała tak:
ServerMuts=utcompv17a.MutUTComp

I to wszystko.
--------------------------------------------------------------------------------------------------------------------------------------

Trochę bezpieczeństwa - UTSecure i AntiTCC

Sprawa jest taka, że do UT2004 są takie dwie alternatywy, nie znalazłem szybkiej odpowiedzi która z nich jest lepsza więc po najmniejszej linii oporu zaproponuję Wam instalację UTSecure z którego sam korzystam.

Skądś tam pobierzcie sobie pakiet z tym niezbędnikiem(ja już go pobierałem kawałek czasu temu i nawet nie pamiętam skąd), a następnie z paczki(moja to UTSecure2K4-111.zip) dorzucacie takie pliki analogicznie do katalogu System:
UTSecure2K4-111.ucl

UTSecure2K4-111.int

UTSecure2K4.ini (ten plik jak łatwo się domyśleć zawiera zaawansowane ustawienia tego mutatora, można się nimi pobawić wedle uznania)

UTSecure2K4-111.u

Do pliku UT2004.ini dopisujemy w [Engine.GameEngine]:
ServerPackages=UTSecure2K4-111
ServerActors=UTSecure2K4-111.UTSecureServerActor

I cała filozofia. W przypadku UTSecure nie dopisywałem nic do Ut2Vote59.ini i wszystko śmiga.
--------------------------------------------------------------------------------------------------------------------------------------

Adminie - oszczędź sobie roboty

Jak już będziecie mieli tak bazowo ustawiony serwer radzę zrobić backup, ja po ustawieniu razem Patch3369 + Ut2Vote + UTComp + UTSecure, mając serwer w katalogu ut2004 wydałem polecenie:
tar cjspf ut2k4_ut2vote_utcomp_utsecure-111.tar.bz2 ut2004

Aby mieć gotową paczkę jakbym coś namieszał i chciał móc szybko ustawić szybką bazę do użytku. Mam nadzieję, że ten krótki poradnik się komuś przyda.

III. Dodatkowe informacje - serwer


Tryb Instagib CTF jako domyślny dla serwera działającego pod U2Vote59

Tak jest, jest to zdecydowanie mój ulubiony tryb gry natomiast miałem parę problemow w przypadku UT2Vote. Otóż tak, sprecyzowanie mapy i trybu gry dla tego mutatora znaczyło niewiele, co należało zrobić, oczywiście ustawić wszystko w pliku UT2Vote59.ini.

Wybieranie domyślnego trybu gry na serwer w przypadku UT2Vote

Tryb gry wybieracie sobie inaczej niż w przypadku przypisywania go komendzie za pomocą której uruchamiacie serwer. Tzn. używamy innych, "normalniejszych" nazw - zobaczycie że to proste. Przede wszystkim co nas będzie interesować, dział [UT2Vote59.UT2VoteConfigs] i linijka:
DefaultGameName=Capture the Flag (przynajmniej ja miałem domyślnie CTF tutaj)

Zastanawiałem się natomiast skąd wziąć nazwy trybów dla UT2Vote, okazało się że są wypisane niżej w dziale [UT2Vote59.UT2VoteGameTypes]. Okazało się też coś jeszcze, że w tym dziale każdy tryb ma ustawienia jak limit czasu, punktów itp. - a to mi się już bardzo podoba. Tak więc chcąc grać na czystym iCTF piszemy po prostu:
DefaultGameName=Instagib CTF

Wszystko gra i buczy tylko tak, nie miałem translocatora i zooma - a chciałem.

Robimy translocator w trybie iCTF pod UT2Vote

Translocator rozwiązał się prosto, po prostu w pliku UT2004.ini dodałem sobie dział [XGame.InstagibCTF] i analogicznie jak to jest w dziale [XGame.xCTFGame] dopisałem sobie tam:
bAllowTrans=True

Wiem, że tam gdzie UT2Vote59 ma tryby gry w pliku .ini jest napisane też ?Translocator=True. Najwyraźniej nie ma to dla tego mutatora znaczenia; jak pisałem, używając UT2Vote musimy liczyć się z tym, że administrujemy teraz serwerem w dwóch plikach - UT2004.ini i UT2Vote59.ini.

Robimy zooma w trybie iCTF pod UT2Vote(dodajemy nowy tryb gry - Zoom iCTF!)

Ok, ale brak zooma jeszcze trzeba zrobić; zauważcie, że tak naprawdę nic nie stoi na przeszkodzie aby dodać własny tryb gry - tak też zrobimy. Skopiujcie sobie tryb "Instagib CTF", całą linijkę. Teraz nazwę zmieńcie na "Zoom iCTF" i oczywiście jeszcze wrócimy do linijki:
DefaultGameName=Instagib CTF

którą zmieniacie na:
DefaultGameName=Zoom iCTF

I teraz tak, nie możemy w linijce tego trybu zostawić:
GameClass="XGame.InstagibCTF"

Znaczy możemy, ale jeśli dodacie do niej w mutatorach(też w tej samej linijce) mutator XGame.MutZoomInstaGib, nie będzie działał - sprawdzałem. Może dwukrotne ustawienie Instagiba się gryzie, nie wiem tego; grunt, że nie działa. Dlatego skopiujmy sobie tryb gry ze zwykłego CTF, tak aby wpis GameClass= dla waszego trybu "Zoom iCTF" wyglądał następująco:
GameClass="XGame.xCTFGame"

Teraz działa! Translocator oczywiście też będzie bo w pliku UT2004.ini już było dopisane bAllowTrans=True dla trybu gry XGame.xCTFGame - czyli tego na bazie którego stworzyliśmy swój tryb Zoom iCTF dla Ut2Vote. Dodatkowo możecie szybko zmieniać sobie teraz tryb gry między Instagib CTF i Zoom iCTF, fajne, prawda?
--------------------------------------------------------------------------------------------------------------------------------------

Różne opcje Bright Skins(jasne skórki) dla graczy w UTComp 1.7a

No właśnie, domyślnie ustawione są te domyślne dla mutator, mające identyfikator "3", aby jednak wybrać np. opcję "Brighter Epic Style" wystarczy że w pliku UT2004.ini w sekcji "[utcompv17a.MutUTComp]" znajdziemy wpis "EnableBrightSkinsMode=" i uzupełnimy go w następujący sposób:
EnableBrightSkinsMode=2

--------------------------------------------------------------------------------------------------------------------------------------

Dostosowanie Hit Sounds w UTComp 1.7a

Domyślnie w przypadku tego mutatora dźwięki słyszalne przy trafieniu przeciwnika usłyszymy tylko jeśli widzimy trafienie, jest to stan tzw. "Line of Sight". Osobiście wolę jednak abym słuszał dźwięk nawet wtedy jeśli np. trafię przeciwnika za ścianą czy jakimś winklem; należy wtedy przełączyć się na "Everywhere". Aby tego dokonać podobnie jak wyżej, w pliku UT2004.ini, w sekcji "[utcompv17a.MutUTComp]" zmieniamy wpis; tym razem "EnableHitSoundsMode=" aby wyglądał w następujący sposób:
EnableHitSoundsMode=2

--------------------------------------------------------------------------------------------------------------------------------------

Automatyczne nagrywanie dem na serwerze - UTComp 1.7a

Tak, jest taka możliwość; wystarczy, że wejdziemy w plik UT2004.ini w którym jak się domyślam, macie już utworzoną sekcję "[utcompv17a.MutUTComp]". W tej sekcji szukamy czegoś takiego jak "bEnableAutoDemoRec=" i ustawiamy to na:
bEnableAutoDemoRec=True

IV. Dodatkowe informacje - ustawienia gracza(lokalne)


Zegarek w grze?

Możliwe, pamiętam, że bardzo mi się coś takiego porobało w modzie do Quake 3 Arena - OSP. Jeśli mamy UT2Vote możemy osiągnąć to wchodząc tym razem w ustawienia lokalne. Tam gdzie instalowaliście grę otwieracie User.ini(w katalogu System oczywiście) i w dziale "[UT2Vote59.UT2VoteClient]"(dział pojawi się jak sądze, jeśli chociaż raz połączycie się z serwerem pracującym z UT2Vote) należy posiadać linijkę:
bDisplayTime=True

--------------------------------------------------------------------------------------------------------------------------------------

Nie wykluczam, że post będzie aktualizowany.

środa, 22 lutego 2012

Tworzenie filtru dla wielu nadawców w GMailu

Przydatne gdy ręcznie filtrujemy częsty, ale nie wyłapywany automatycznie spam. Pamiętajmy, że adresów nadawców nie oddzielamy przecinkami tylko spacjami, zaś całą grupę zamykamy w nawiasy klamrowe, np.:
{adres1@jakaspoczta.pl adres2@jakaspoczta.pl adres3@jakaspoczta.pl}

Przywrócenie hibernacji w Windows Vista

Rozwiązanie dla problemu, który przytrafił mi się na kilku komputerach. Podobno opcja hibernacji może zniknąć jeśli usuniemy/wyczyścimy plik hibernacji za pomocą narzędzia do oczyszczania dysków dostarczanego z systemem.

Rozwiązanie jest banalne, wystarczy, że uruchomimy wiersz poleceń (znajdziemy go w Akcesoria -> Wiersz Poleceń) i wydamy polecenie:
powercfg /hibernate on

poniedziałek, 29 marca 2010

Fraps dla linuksa?

No właśnie, jeśli chcieliście nagrać kiedyś film przedstawiający działanie aplikacji na OpenGL pojawiał się problem, jeśli była wyświwtlana zaawansowana grafika itp. sprawy, a zależało wam na płynności to sprawa zaczynała być naprawdę ciężka.

Dzisiaj trafiłem na glc, niewielki program mający być chyba właśnie odpowiednikiem Frapsa i tym podobnych programów przeznaczonych głównie dla graczy. Zgrywanie zadziała jeśli wskażemy aplikację na OpenGL lub dźwiękiem z Alsy, jeśli znajdzie tylko aktywną Alsę - zrzuci dźwięk, jeśli tylko OpenGL - obraz, jeśli oba - to oba. Zachęcam do przetestowania.

piątek, 5 marca 2010

Jak uruchomić Tomb Raider 1 pod linuksem?

No tak, gra legenda, a mnie naprawdę długo zajęło znalezienie sposobu na odpalenie jej pod pingwinem aby działała w sposób zadowalający.

Zaznaczam że post ten w dużej części jest po prostu przetłumaczonymi instrukcjami uzyskania akcelerowanego DOSBoksa w wersji 0.73 zamieszczonymi w tym temacie, dodatkowo znajdują się tutaj moje uwagi i dopiski oraz procedura instalacji oraz uruchomienia gry - może akurat komuś się przyda.

Rozwiązaniem okazał się DOSBox z łatkami na sprzętową akcelerację właściwą wtedy głównie dla kart z rodziny 3Dfx, który przy użyciu OpenGlide pozwala nam odpalić akcelerowanego Tomb Raidera.

Ale po kolej, czyli - czego będziemy potrzebować:

  • źródeł DOSBoksa w stabilnej wersji 0.73

  • łatki na źródła DOSBoksa

  • paczki z plikiem glide2x.ovl

  • źródeł OpenGlide

Oczywiście wszystko co zostało omówione w tym poradniku robicie na własne ryzyko ryzykując zdrowiem waszego sprzętu komputerowego (zostaliście ostrzeżeni) - tak pisało w oryginalnym poście, uznałem że warto ostrzec czytelników.

Ok, to po kolei:

1. Niezbędne zależności

Polecenie stosowalne dla dystrybucji Debiano-podobnych:
sudo apt-get install libsdl1.2-dev libsdl-sound1.2-dev libsdl-net1.2-dev libpcap-dev build-essential cvs

Osobiście nie musiałem niczego doinstalowywać jeśli dobrze pamiętam ale to już zależy od tego co macie w swoim systemie.

2. Aktualna wersja OpenGlide

Logowanie na server CVS jako użytkownik anonimowy (jeśli dobrze rozumiem polecenie)
cvs -d:pserver:anonymous@openglide.cvs.sourceforge.net:/cvsroot/openglide login

(Gdy zostaniecie zapytani o hasło klikacie Enter)

Pobieramy źródła OpenGlide z repozytorium CVS
cvs -z3 -d:pserver:anonymous@openglide.cvs.sourceforge.net:/cvsroot/openglide co -P openglide

Dodatkowe zależności kompilacyjne OpenGlide
sudo apt-get install autoconf libtool

Kompilacja OpenGlide
cd openglide
./bootstrap
./configure
make
sudo make install *

* Osobiście polecam doinstalować paczkę checkinstall i zamiast ostatniej komendy wykonać checkinstall. Zbuduje to paczkę dla Debiana i jeśli wykonamy je jako root - od razu zainstaluje ją w systemie. W rezultacie znacznie łatwiej będzie nam później te pliku usunąć.

**Jeśli po wydaniu polecenia make pojawią się problemy (błąd w pliku gbanner.cpp) otwórz ten plik, poszukaj include i zamień na include . Później wykonaj make clean, a następnie ponownie make

3. Pobieramy, nakładamy łatki i kompilujemy  DOSBoksa

Pobieramy źródła DOSBoksa

Jako, że łatka jest na wersję 0.73 (aktualnie jest to wersja stabilna) wystarczy że pobierzecie stabilne źródła programu. Możecie znaleźć je na stronie projektu albo pod tym adresem.

Pobieramy łatki z forum

Przejdź do tego tematu i pobierz oba pliki(DOSBox_glide.zip - łatki na źródła i glide2x.zip - paczka z plikiem glide2x.ovl). Łatkę umieść o jeden folder wyżej niż folder ze źródłami DOSBoksa (upewnij się, że nosi on nazwę dosbox).

Nakładamy łatkę

Polecenie jeśli się nie mylę wykonać należy w katalogu w którym znajduje się łatka:
cat dosbox_glide.diff | patch -p0

Kompilujemy DOSBoksa

Przejdź do folderu dosbox i wykonaj:
./autogen.sh
./configure CPPFLAGS="-I /usr/local/include/openglide/"
make
sudo make install *

* Ponownie, radzę zbudować sobie paczkę przy pomocy checkinstall - może być lekki bałagan z wersją pakietu ale wierzę, że sobie poradzicie

Jeśli do tej pory wszystko poszło pomyślnie powinniście mieć zainstalowaną w systemie wersję DOSBoksa z obsługą akceleracji. Ale zanim przejdziemy dalej musimy sprawdzić kilka rzeczy.

4. Uruchamiamy DOSBoksa i wykonujemy pozostałe czynności

Jak poprawnie uruchamiać akcelerowanego DOSBoksa?

Bardzo ważne jest abyście korzystali z biblioteki OpenGlide - libglide2x.so, a nie tej która jest domyślnie wykorzystywana w systemie. Aby tak się stało uruchamiajcie program tymi dwoma pleceniami:
export LD_LIBRARY_PATH=/usr/local/lib
dosbox

Możliwe jest wykonanie tych czynności w jednej linii, jeśli chcielibyście np. zrobić sobie skrót:
LD_LIBRARY_PATH=/usr/local/lib dosbox

Pamiętajcie aby zawsze w ten sposób uruchamiać DOSBoksa, inaczej biblioteki OpenGlide nie zostaną znalezione.

Zapisujemy bazową konfigurację DOSBoksa

Mi ten punkt nie działa, ale może Wam będzie; po prawdzie to nie jest on też jakoś szczególnie do szczęścia niezbędny (program jakoś po uruchomieniu chyba sam zapisuje konfigurację; u mnie plik konfiguracyjny to ~/.dosbox/dosbox-0.73.conf - utworzył go program i tam dokonywałem wszelkich zmian). Aby zapisać konfigurację bazową po uruchomieniu DOSBoksa wykonaj:
CONFIG -WRITECONFIG dosbox.conf

Po wykonaniu tego polecenia plik dosbox.conf zostanie umieszczony w folderze z poziomu którego uruchamiałeś DOSBoksa (jak z konsoli to chyba jasne, jak nie to pewnie będzie to /home/twoja_nazwa_użytkownika). Jeśli chcesz aby ta konfiguracja była zawsze stosowana przenieś plik do ~/.dosboxrc.

Sprawdzamy czy akceleracja jest aktywna

W pliku dosbox.conf sprawdź czy w sekcji [glide] jest napisane glide=true. Jeśli nie to to zmień.

Instalacja glide2x.ovl

Teraz zajmiemy się drugim plikiem który pobraliście, tym który nie był łatką na źródła tylko archiwum. Znajdźcie tam ten plik i wrzućcie go do katalogu gdzie gra którą będziecie uruchamiać ma plik startowy oraz do katalogu z którego będzie uruchamiać DOSBoksa (np. wasz folder domowy, jeśli uruchamiać będziecie przez prosty skrót).

Pamiętajcie aby, jeśli nazwa pliku nie jest napisana małymi literami zmienić ją na taką. Tzn. jeśli jest np. w archiwum Glide2x.ovl zmieńcie na glide2x.ovl - inaczej program nie znajdzie pliku.

Uruchamiamy ponownie DOSBoksa

Po prostu, pamiętajcie o poleceniu export LD_LIBRARY_PATH=/usr/local/lib jeśli uruchamiacie program na nowej konsoli.

Uruchamiamy grę

Jeśli macie już zainstalowanego Tomb Raidera to zmontujcie jej folder w DOSBoksie, przejdźcie do niego z poziomu programu i grajcie. Upewnijcie się tylko że wykonujecie wersję dla 3Dfx - dobry pliku uruchomieniowy znajdziecie m.in. w tej paczce (interesował Was będzie plik TOMB3dfx.EXE - link do paczki też z jakiegoś tematu na tym forum był ale nie mogę go teraz znaleźć). Oczywiście plik ten umieszczacie w katalogu do którego zainstalowaliście grę.

5. Informacje dodatkowe

W oryginalnym temacie na forum znajdziecie również małe FAQ, mi nie chciało się już go tłumaczyć - w razie problemów radzę tam zajrzeć. Poza tym warto chociaż raz odwiedzić ten wątek bo jest on chyba uaktualniany na porzeby nowych wersji DOSBoksa, tego posta zaś uaktualniał nie będę.

6. + Instalacja Tomb Raidera i uruchomienie - a nóż się komuś przyda

Jeśli nie wiecie jak to zrobić pokaże jak zrobiłem to ja uwalniają się jednocześnie od konieczności każdorazowego wkładania płytki z grą. Przede wszystkim zrobimy sobie obraz płyty aby nie musieć ciągle z niej korzystać, musicie dowiedzieć się jakie urządzenie to u Was napęd do którego wkładacie CD z grą - mocne może się tu okazać polecenie mount (oczywiście wykonane po zobaczeniu zawartości CD w systemie). U mnie napęd był pod /dev/hda więc obraz robiłem poleceniem:
dd if=/dev/hda of=/ścieżka/do/katalogu/gdzie/chcemy/mieć/obraz/nazwa_obrazu.iso

Jak już macie obraz tworzycie sobie jakiś folder np. w /mnt gdzie będziecie go montować:
mkdir /mnt/obraz_tr1

Teraz montujemy nasze nowo-utworzone .iso (koniecznie jako root):
mount -o loop /ścieżka/do/katalogu/gdzie/mamy/obraz/nazwa_obrazu.iso /mnt/obraz_tr1

Teraz wartałoby sobie utworzyć (może nie trzeba, ja tak robię dla porządku) katalog gdzie DOSBox będzie instalował grę (będzie to dla programu dysk C):
mkdir /ścieżka/do/katalogu/gdzie/chcemy/zainstalować/grę

Teraz należy przygotować program do instalacji gry tj. podmontować mu katalog gdzie ma być zaintalowany Tomb Raider jako dysk C oraz katalog z podmontowanym obrazem płyty CD jako D. Uruchamiamy DOSBoksa i wykonujemy:
mount c /ścieżka/do/katalogu/gdzie/chcemy/zainstalować/grę

mount d /ścieżka/do/katalogu/gdzie/montowaliśmy/obraz/płyty

d:

INSTALL.EXE

(po czym przechodzimy przez procedurę instalacyjną)

Teraz wystarczy jeszcze przegrać (jeśli zapomnieliście) plik glide2x.ovl do katalogu w którym zainstalowała się gra oraz do katalogu z którego uruchamiać będziemy DOSBoksa.

Po wszystkim przenosimy zdobyty wcześniej plik TOMB3dfx.EXE do katalogu w którym zainstalowana została gra i uruchamiamy DOSBoksa (pamiętajcie o poleceniu export LD_LIBRARY_PATH=/usr/local/lib). Montujemy katalog do którego zainstalowaliśmy grę jako C, wykonujemy TOMB3dfx.EXE i rozpoczynamy zabawę.

wtorek, 18 sierpnia 2009

Dark Ages - Volume 1-3 jako freeware



Gra którą pamiętam jeszcze z czasów starutkiego 486 SX. Miała wtedy dla mnie pewien specyficzny klimat. Dziś na forum liberatedgames.com znalazłem informację że firma mająca do niej prawa - 3D Realms wypuściła ją jako freeware.

Co pozostało. DOSBox i powrót do przeszłości. Klimatu nie straciła natomiast nie bardzo mam czas bardziej do niej przysiąść. Ale może niedługo znajdę chwilę na przypomnienie sobie Dark Ages.

Na drodze do wolności - Croc: Legend of the Gobbos i Re-Volt

Już kawałek czasu temu trafiłem na stronę liberatedgames.com. Od razu też spodobała mi się jej idea, zbieranie gier "uwolnionych" przez twórców. Z różnych powodów. I chociaż sądzę, że w większości przypadków to firmy bez namowy graczy decydowały o wypuszczeniu swoich gier dla społeczności, ja postanowiłem dopomóc dwóm ulubionym tytułom z dawnych lat.

Całość ciągnie się już kawałek czasu i dotyczy dwóch gier wymienionych w temacie: Croc: Legend of the Gobbos oraz Re-Volt. Pierwsza to platformówka, druga ścigałka zdalnie sterowanymi samochodzikami.

Croc: Legend of the Gobbos

Zacząłem tak jak mi to przyszło do głowy, od zakręcenia się za jakimś namiarem na pracowników firmy. Z czasem okazało się że ta upadła ta powstała a ta i ta ma prawa, no - mniej więcej. Okazało się że prawa do Croca ma niejaki jeden z dawnych pracowników jednej z firm do którego całkiem przypadkowo znalazłem w jednym z wywiadów maila. Postanowiłem spróbować. Dowiedziałem się również że prowadzi on jakiś pokerowy portal, tam też wysłałem prośbę o kontakt z jego strony. Udało się, chyba nawet nie przez pokerowy portal. Przedstawiłem mu całą sprawę i pokazałem że uwolnienie Croca przyniesie dużo dobrego dla społeczności (uwolnienie binarek - dostępność gry na której mało się już zarob i uwolnienie źródeł - porty na inne systemy i rozwój silnika przez społeczność). Odpowiedział, że uwalniać nie chce bo może kiedyś wypuści kontynuację na konsole czy coś, a tak straci prawa do tytułu. No ok - kasa. Spytałem więc czy nie posiada chociażby edytora poziomów żeby ludzie mogli sobie potworzyć coś do swojej ulubionej gry.

Napisał że może i coś  by było ale szybko do tego nie dotrze. A mnie w tym samym czasie oświeciło. Toż DMA Design (znani teraz jako Rockstar North) wypuścili dwie pierwsze części GTA na poziomie binarnym, natomiast Id Software silniki wszystkich trzech gier z serii Quake. Czy stracili prawa? Nie. Czy wypuszczają kolejne części i robią kasę? Jak najbardziej, napisałem o tym mojemu rozmówcy i czekam. My tak sobie piszemy rzadko już z pół roku więc całość może jeszcze potrwać.

Re-Volt

Zamotana sprawa, znów ta firma upadła, ta kupiła i tak dalej. Prawa do tej ścigałki ma teraz Throwback Entertainment. Dwa razy mailowałem, zero odpowiedzi. Rozpocząłem więc temat na forum firmowym gdzie przytoczyłem wysłanego maila, przedstawiłem wszystkie "za" które widzę i zacząłem popularyzować akcję w miejscach gdzie dziś gromadzi się społeczność fanów tej gry. Nie siedzę w tym więc szukałem przez Google. Później z braku odpowiedzi znalazłem w sieci CEO firmy i również poszedł mail o czym poinformowałem w dyskusji. Czekamy na odpowiedź a ja czekam aż więcej ludzi ze społeczności napisze chociaż "popieram twoje zdanie" (oczywiście po angielsku).

I tak to leci. W zasadzie daje sporo satysfakcji chociaż niczego jeszcze nie osiągnąłem, a przynajmniej niczego wymiernego można powiedzieć. Jednak dalej próbuję z nadzieją na otwarcie obu projektów dzięki czemu będą mogły odżyć a nie tylko leżeć zakurzone w archiwum firm, które na razie nie zamierzają ich rozwijać, a jak im się zachce to najpewniej wypuszczą jakieś gniotki licząc że znajdą nabywców wśród dawnych fanów (którzy często w takich sytuacjach, nie wiedzieć czemu - skaczą z radości).

pornophonique - 8-bit lagerfeuer

Ponownie z jamendo z tym że tym razem jest to dla mnie już klasyk. Płyta wpadła mi w ręce wiele miesięcy temu i od razu oczarowała. 8-bitowa muzyka, z konsol takich jak Gameboy. Może z czegoś jeszcze ale nie znam się na technicznych aspektach takowych produkcji więc niezbyt mogę się wypowiedzieć.

Myślę, że kto lubi klimaty starych konsol, komputerów, gier już od pierwszych dźwięków cieplej pomyśli o tym albumie, polecam.

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...