1) Подготовка системы
Установим линукс эмулятор linux_base-fc10

# cd /usr/ports/emulators/linux_base-f10 && make install clean

Впишем строки запуска linux-эмулятора при загрузке системы,.

в /etc/rc.conf:

linux_enable=”YES” ,

В /etc/sysctl.conf:

compat.linux.osrelease=2.6.16 ,

А в /etc/fstab:

linproc /usr/compat/linux/proc linprocfs rw 0 0

далее даем команды:

mkdir -p /usr/compat/linux/proc
mount /usr/compat/linux/proc
/etc/rc.d/abi start
/etc/rc.d/sysctl start

В конфигурацию ядра, добавляем следующие опции

options DEVICE_POLLING
options HZ=1000
<.code>

Скачаем эти файлы
1) Сам сервер - hlds_l_1120_full.bin 424Mb
NoSteam - linux_server_nosteam_27.10.06_.zip 8mb

Распаковываем архив, создаем директорию и обновляем.

# mkdir /usr/steam

Копируем в созданную директорию файл hlds_l_1120_full.bin, затем установим ему права на запуск и запускаем.
# chmod 700 hlds_l_1120_full.bin
# ./hlds_l_1120_full.bin

На вопрос о лицензии отвечаем "YES".
Через некоторое время появится файл hlds_l_1120_full.tgz который нужно распаковать

# tar zxvf hlds_l_1120_full.tgz

Появится папка hlds_l в которую необходимо перейти

# cd /usr/steam/hlds_l/<.code>

Обновленяем Steam

Cтавим из под любого юзера кроме root иначе не обновит!!!

#./steam -update[/color] <.code>

После запуска система напишет следующее:

Checking bootstrapper version ...
Getting version 9 of Steam HLDS Update Tool
Downloading. . . . . . . . . . .
Steam Linux Client updated, please retry the command

Если у вас остутствует аккаунт в стиме, можно его, при необходимости, создать. Но нам не надо, поэтому ниже будет NoSteam.

Обновление Counter-Strike

# ./steam -command update -game cstrike -dir /usr/steam/hlds_l

Появится сообщение об успешном обновлении.

Verifying: /usr/steam/hlds_l\valve\valvecomm.lst
Downloading: /usr/steam/hlds_l\valve\violence.cfg
Verifying: /usr/steam/hlds_l\valve\xeno.wad

HLDS installation up to date

NoSteam
Если сервер запустить сразу и попробовать подключить к нему клиента, то появится интерестная табличка Invalid CD key. Ее необходимо убрать Для этого, распакуем содержимое файла linux_server_nosteam_27.10.06_.zip заменив оригинальные файлы

# tar zxvf linux_server_nosteam_27.10.06_.zip /usr/steam/hlds_l[/color]

Запуск
Запускаем не от пользователя root, а от другого созданого пользователя, ибо во-первых безопастнее, во-вторых - будет меньше проблем при запуске сервера!
# cd /usr/steam/hlds_l
# ./hlds_run -game cstrike -insecure -nomaster +sv_lan 1 +maxplayers 12 +map de_dust

Если вывод происходит без ошибок, то я вас поздравляю - все впорядке сервер встал

Auto detecting CPU
Using Pentium II Optimised binary.
Auto-restarting the server on crash

Console initialized.
scandir failed:/usr/home/911/hlds_l/./valve/SAVE
scandir failed:/usr/home/911/hlds_l/./platform/SAVE
Protocol version 47
Exe version 1.1.2.5/Stdio (cstrike)
Exe build: 20:02:49 Oct 24 2006 (3651)
STEAM Auth Server
couldn't exec language.cfg
Server IP address 192.168.0.5:27015
scandir failed:/usr/home/911/hlds_l/./valve/SAVE
scandir failed:/usr/home/911/hlds_l/./platform/SAVE

couldn't exec listip.cfg
couldn't exec banned.cfg
Master server communication disabled.
0 fps -- host(6401) sv( 0) cl( 0) gfx( 0) snd( 0) ents(101)

Можно еще посмотреть следующим образом.

# sockstat |grep hlds
911 hlds_i686 2067 4 udp4 *:27015 *:*
911 hlds_i686 2067 7 udp4 192.168.0.5:26900 *:*
911 hlds_i686 2066 4 udp4 *:27015 *:*
911 hlds_i686 2066 7 udp4 192.168.0.5:26900 *:*
911 hlds_i686 2065 4 udp4 *:27015 *:*
911 hlds_i686 2065 7 udp4 192.168.0.5:26900 *:*

-game cstrike - запускаемый мод.
-insecure - отключает античит VAC
-nomaster - сервер не авторизовается в WON.
+sv_lan 1 - работа в режиме локальной сети
+maxplayers - количество игроков
+map de_dust - стартовая карта

Запуск в background
# ./hlds_run -game cstrike -insecure -nomaster +sv_lan 1 +maxplayers 12 +map de_dust > /dev/null 2>&1 &[/color]

Или с логами,вот так

# ./hlds_run -game cstrike -insecure -nomaster +sv_lan 1 +maxplayers 12 +map de_dust > hlds.log 2>&1 &
<.code>
Конфигурация

hlds_l/cstrike/server.cfg

Главный конфиг сервера, здесь задаются все основные параметры его работы.
Все доступные переменные см Cmds & Cvars
hlds_l/cstrike/motd.txt
Здесь находится текст сообщения, который выводится при подключении к игре.
hlds_l/cstrike/mapcycle.txt
Список карт находящихся в ротации в игре. хотите добавляйте удаляйте и дублируйте по вашему желанию.
hlds_l/cstrike/map/
Собственно, путь где расположены карты

Скрипты запуска
#!/bin/sh
/usr/steam/hlds_l/hlds_run -game cstrike -insecure -nomaster +sv_lan 1 +maxplayers 12 +map de_dust >/dev/null 2>&1 &

# chmod +x cs1.6.sh
# sh cs1.6.sh