Установка Counter-Strike 1.3 сервера под FreeBSD 4

Безвозвратно утерянным в процессе
установки серверя дням посвящается...

  1. Устанавливаем эмуляцию linux для freebsd - в каталог /compat/linux ставится нечто, напоминающее RedHat 6.1 .
  2. Скачиваем файлы hlds_l3108.tar.gz cs_13_full_tar.gz halflife-admin-2.50.09.tgz .
  3. Распаковываем содержимое hlds_l3108.tar.gz в каталог /usr/local :
    cd /usr/local; tar xvfz /path-to-archives/hlds_l3108.tar.gz
  4. Распаковываем содержимое hlds_l3108.tar.gz в каталог /usr/local/hlds_l :
    cd /usr/local/hlds_l; tar xvfz /path-to-archives/cs_13_full_tar.gz
  5. Создаем символическую ссылку:
    ln -s /usr/local/hlds_l /compat/linux/usr/local/hlds_l
  6. Пробуем запустить сервер с помощью скрипта:
    #!/bin/sh
    
    cd /usr/local/hlds_l
    LD_LIBRARY_PATH=/usr/local/hlds_l; export LD_LIBRARY_PATH
    ./hlds_run +port 27015 -game cstrike -nomaster +sv_lan 1 +maxplayers 20 +map de_dust +exec listip.cfg
     

    Если все успешно, идем дальше:

  7. Распаковываем adminmod:
    cd /usr/local/hlds_l; tar xvfz /path-to-archives/halflife-admin-2.50.09.tgz
  8. Устанавливаем adminmod:
    cd /usr/local/hlds_l/Admin/install_admin cstrike
    На все вопросы отвечаем простым нажатием ENTER.
  9. На данном этапе сервер не будет работать, так как adminmod требует библиотеку glibc-2.1.3 , а в нашем распоряжении только glibc-2.1.2 . Так что скачиваем этот файл, и переписываем им hlds_l/cstrike/dlls/metamod_i386.so.
  10. Сервер теперь будет работать, но команды admin_csay и admin_tsay могут и не работать - это баг версии 2.50.09. Поэтому качаем бету 2.50.11 и подменяем hlds_l/cstrike/dlls/admin_MM_i386.so.
  11. Запускаем сервер, радуемся жизни, гребем пиво с пользователей :)
  12. В кронтаб добавляем
    * * * * * /usr/local/hlds_l/RUN_IT.sh
    Файл RUN_IT.sh:
    #!/bin/sh
    
    res=`ps -ax | grep hlds_ru | grep ds_run | wc -l`;
    if [ "$res" -eq "0" ]
    then
        echo "CS not detected. Let's start it !!!"
        cd /usr/local/hlds_l
        LD_LIBRARY_PATH=/usr/local/hlds_l; export LD_LIBRARY_PATH
        ./hlds_run +port 27015 -game cstrike -nomaster +sv_lan 1 +maxplayers 20 +map de_dust +exec listip.cfg > /dev/null &
    fi
     
    Данный скрипт будет проверять работоспособность сервера, и если нужно запускать его.