FICS - Instalacja wersji > 2.0

2010-09-30 , Papiewski Łukasz , Szachy

Jest to wersja poprawiona i wywodzi się z poprzedniej linii. W całości rozwijana przez Andrew Tridgella. Strona projektu znajduję się na http://chess.samba.org/.

Wersja ta wg autora konsoliduje poprzednie wersje oraz poprawia wcześniejsze błędy. Nie różni się znacznie w funkcjonalności od poprzednich wersji, jednak elementy bazy danych nie są już kompatybilne, gdyż zostały opracowane na podstawie innej struktury.

Projekt zaowocował czterema wersjami 2.0, 2.1, 2.2 oraz 2.3. Ta linia serwerów obok serwera chessd jest najczęściej rekomendowana jako typowy FICS.Taką rekomendację podał na swojej stronie Tim Mann (http://www.tim-mann.org/ics.html). Wg autora lista owych FICS zamyka się na trzech liniach oraz kliku ich modyfikacjach.

Instalacja

Pliki można pobrać ze strony w postaci bądź z CVS-a (komenda jak poniżej).

cvs -z5 -d :pserver:cvs@pserver.samba.org:/cvsroot co lasker
cd lasker
cvs -z5 update -dP

Zastosowano tu dodatkową bazę danych TDB (zmienne konfiguracyjne) oraz dodano skrypt do generowania struktur danych w C. Poniżej standardowa sekwencja instalacyjna podana wraz z instrukcjami instalacyjnymi (plik INSTALL):

cd src
./configure --prefix=/usr/local/
make
make install

Poniżej wykaz hierarchii oraz struktury katalogów i plików, ukazanej na podstawie logu instalacyjnego.

root@server:~/pkg/lasker/src$ make install
install -d -m0755 /home/chessd
install -d -m0755 /home/chessd/bin
install -d -m0755 /home/chessd/lib
install -m0755 chessd /home/chessd/bin
install -m0755 chessd.so /home/chessd/lib
install -m0755 makerank /home/chessd/bin
install -m0755 chessd_addplayer /home/chessd/bin
install -d -m0755 /home/chessd/players
install -d -m0755 /home/chessd/spool
install -d -m0755 /home/chessd/data/admin
install -d -m0755 /home/chessd/data/book
install -d -m0755 /home/chessd/data/help
install -d -m0755 /home/chessd/data/usage
install -d -m0755 /home/chessd/data/messages
install -d -m0755 /home/chessd/data/stats
install -d -m0755 /home/chessd/data/boards/wild
install -d -m0755 /home/chessd/games/history
install -d -m0755 /home/chessd/games/journal
install -d -m0755 /home/chessd/games/adjourned
install -d -m0755 /home/chessd/data/stats/player_data
cp -r ./../data/admin/[a-z]* /home/chessd/data/admin
cp -r ./../data/book/[a-z]* /home/chessd/data/book
cp -r ./../data/help/[a-z]* /home/chessd/data/help
cp -r ./../data/usage/[a-z]* /home/chessd/data/usage
cp -r ./../data/messages/[a-z]* /home/chessd/data/messages
perl -e 'mkdir("/home/chessd/players/$_",0755) for ("a".."z")'
perl -e 'mkdir("/home/chessd/games/history/$_",0755) for ("0".."99")'
perl -e 'mkdir("/home/chessd/games/journal/$_",0755) for ("a".."z")'
perl -e 'mkdir("/home/chessd/data/stats/player_data/$_",0755) for ("a".."z")'
perl -e 'mkdir("/home/chessd/games/adjourned/$_",0755) for ("a".."z")'

Nawet ostatnia wersja projektu (2.2.3) nie jest już taka aktualna i w związku z tym pojawiają się błędy w czasie kompilacji. Wynikają np. z niewspomaganego zdefiniowania danych w plikach nagłówkowych (extern zamiast static).

Niekompatybilny z obecną wersja parsera Perl może okazać się plik parsers/genstruct.pl odpowiedzialny za generacje struktur, co tym samym może uniemożliwić dalszą kompilację. Opracowanym rozwiązaniem jest tu zastosowanie wygenerowanych plików wyjściowych z wcześniejszych wersji.

Przy samej instalacji może wystąpić błąd spowodowany brakującą opcją kaskadowego kopiowania. Należy w takiej sytuacji w odpowiednim miejscu w Makefile zastąpić 'cp -u' frazą 'cp -u -r'.

W katalogu z zainstalowanym serwerem znajdują się następujące podkatalogi:

  • bin - przechowuję wykonywalny plik 'chessd'
  • data - zawiera pliki tekstowe i opisy komend
  • games - miejsce na historię gier
  • players - katalog z baza tekstowa statystyk graczy, każdy w oddzielnym podkatalogu
  • spool - miejsce na pocztę, związaną np. z instalacją

Uruchomienie serwera

Aby uruchomić należy z głównego katalogu wywołać 'chessd' z odpowiednimi parametrami. Domyślnie uruchamia się wykorzystując port 5000.

root@server:/home/chessd$ bin/chessd -f -p 5000
CHESSD: Initialized on port 5000
Wed Apr 14, 21:32 CEST 2010 CHESSD: Loaded 166 commands (admin=46 normal=120)
Wed Apr 14, 21:32 CEST 2010 CHESSD: Can't read ratings data!
Wed Apr 14, 21:32 CEST 2010 CHESSD: Loaded books

Cytaty

- Simplicity is the ultimate sophistication. - Leonardo da Vinci,
- Popularny człowiek wzbudza zawiść potężnych - Thufir Hawat o Leto Atrydzie (na Kaladanie),
- Szczęście następuje po smutku, a smutek po szczęściu; człowiek jest naprawdę wolny, gdy przestaje rozróżniać między smutkiem a szczęściem, między dobrem a złem - Aforyzmy buddyjskie.