Counter-Strike 1.6 установка и настройка сервера

Задача:
Установить выделенный сервер Counter-Strike под LINUX (Mandriva 2008 Spring) работающий одновременно по протоколам 47 и 48, пускающий как STEAM так и noSTEAM клиентов.
Пошаговая инструкция
1. Создаем папку для установки сервера
2. Качаем и кладем в нее файл - hldsupdatetool.bin
http://www.steampowered.com/download/hldsupdatetool.bin
3. Назначаем на него права 744
4. По умолчании Mandriva не ставит программу архивации - ncompress. Она необходима для разварачивания сервера. Ставим Центр управления -> Управление программами.
5. Запускаем
./hldsupdatetool.bin
появится файл - steam
6. Обновляем Стим
./steam
7. Устанавливаем сервер, будут закачены необходимые для этого файлы.
./steam -command update -game cstrike -dir .
8. Ждем ..... на выходе получаем готовый only Steam сервер (файлы конфигурации только поправить).
9. Для работы плагинов, расширенного управления сервером устанавливаем MetaMod и AMXModX. Скачиваем их с официальных сайтов : AMX Mod X , MetaMode и устанавливаем на сервер в следующем порядке:
Создаем папку \cstrike\addons\metamod\dlls
В созданную папку копируем файл metamod_i386.so
Ищем файл \cstrike\liblist.gam
Ищем строку gamedll_linux «dlls/cs_i386.so»
Заменяем найденную строку на gamedll_linux «addons/metamod/dlls/metamod_i386.so»
Теперь распаковываем папку amxmodx в папку \cstrike\addons\
Создаем файл cstrike\addons\metamod\plugins.ini
Добавляем в него строку linux addons/amxmodx/dlls/amxmodx_mm_i386.so
10. Для работы по двум протоколам и в режиме NonSteam, на момент написания этой шпаргалки, актуалена разработка DPROTO http://cs.rin.ru/forum/viewtopic.php?f=29&t=52728 Установка проста, следуйте инструкции к ней приложенной.
Скрипт запуска сервера в фоновом режиме с возможностью подключения. Создаем файлик типа start.sh с правами 744, туда пишем ->
#!/bin/bash
SCREENDIR=/home/username/tmp
export SCREENDIR
cd /home/username/CS48
screen -d -m -S CS16 ./hlds_run -game cstrike -nomaster +log on +map de_dust2 +port 27015 -maxplayers 32 +exec server.cfg &
В итоге, запустив этот скрипт, получим висящий в памяти сервер CS. Подключиться к его консоли или Screen-сессии можно так -
screen -ls
screen -R XXXX
По первой команде получаем список Screen-сессий (видит сессии только текущего пользователя). Затем подключаемся к необходимой (XXXX - номер сессии). Отключиться от сессии - CTRL+A+D
Автостарт серверов легко организовать с помощью CRON.
По умолчанию crontab использует vi в качестве текстового редактора, для неопытного он крайне неудобен и непривычен. Смена редактора командой -
export EDITOR='mcedit'
Создаем и редактируем файл командой -
crontab -e
Файлы конфигурации в Mandriva лежат в папке /var/spool/cron . Файл конфигурации назван именем пользователя от которого он будет запускаться. Пример файла -
__________________________________
@reboot /home/android/CS48_1/start.sh
@reboot /home/android/CS48_1/hltv.sh
@reboot /home/android/CS48_2/start.sh
@reboot /home/android/CS48_3/start.sh
@reboot torstart
0 1 * * * killall screen
__________________________________
Вместо первых пяти полей (где указывается время старта) допустимо указание одного из восьми специальных триггеров:
@reboot - Выполнить команду один раз, при запуске cron(8).
@yearly - Выполнять команду каждое 1 января, "0 0 1 1 *".
@annually - (эквивалентно @yearly).
@monthly - Выполнять команду в начале каждого месяца, "0 0 1 * *".
@weekly - Выполнять команду каждое воскресенье, "0 0 * * 0".
@daily - Выполнять команду в полночь, "0 0 * * *".
@midnight - (эквивалентно @daily).
@hourly - Выполнять команду раз в час, "0 * * * *".
Подробности по CRON читаем в Википедии.
Для отображения нанесенных Вам и нанесенных Вами повреждений после того как Вас вынесли необходимо прописать в файле stats.ini
KillerChat ;Show Killer HP&AP
ShowAttackers ;Show Attackers
ShowVictims ;Show Victims
ShowKiller ;Show Killer
ShowTeamScore ;Show Team Score
ShowTotalStats ;Show Total Stats
ShowBestScore ;Show Best Score
ShowMostDisruptive ;Show Most Disruptive
ShowStats ;Show HUD-stats default
ShowDistHS ;Dist&HS in HUD lists
EndPlayer ;Stats at the end of map
EndTop15 ;Top15 at the end of map
SayHP ;Say /hp
SayStatsMe ;Say /statsme
SayRankStats ;Say /rankstats
SayMe ;Say /me
SayRank ;Say /rank
SayReport ;Say /report
SayScore ;Say /score
SayTop15 ;Say /top15
SayStatsAll ;Say /stats
SpecRankInfo ;Spec. Rank Info
Скрипт для запуска HLTV сервера ->
#/bin/sh
export SCREENDIR="/home/user1/tmp"
export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"
cd /home/user1/CS48_1
screen -d -m -S CS16HLTV ./hltv -game cstrike -nomaster +connect 85.159.44.169:27015 &
Для Админов желающих увидеть в режиме On-Line логи сервера и бан лист делаем так -
1. Запускаем сервер FTP (как делать смотрим доки)
2. Создаем папки на FTP сервере с анонимным доступом
/var/ftp/CS48/download/logs_amx
/var/ftp/CS48/download/logs_cs
3. В папке на сервере FTP с логами создаем жесткую ссылку на файл listip.cfg
ln /home/user/CS48/cstrike/listip.cfg
выполняем данную команду непосредственно в выбранной Вами папке, где будет лежать жесткая ссылка с логами сервера CS
Внимание! Жесткая ссылка может быть создана только в пределах одного устройства! Обойти это можно так - создаем папку на сервере CS, там создаем жесткую ссылку, потом эту папку монтируем на сервере FTP. Все это нужно чтобы на FTP был виден только ЭТОТ файл!
4. Монтируем папки с логами в соответствующие папки на FTP сервере. Для автоматизации данного процесса используем CRON (монтирование только из под root) или fstab
@reboot mount --bind /home/android/CS48/cstrike/addons/amxmodx/logs /var/ftp/CS48/download/logs_amx
@reboot mount --bind /home/android/CS48/cstrike/logs /var/ftp/CS48/download/logs_cs
для fstab -
/home/android/CS48/cstrike/addons/amxmodx/logs /var/ftp/CS48/download/logs_amx ext3 bind
/home/android/CS48/cstrike/logs /var/ftp/CS48/download/logs_cs ext3 bind
Получаем доступ через FTP только к файлам логов и бан листу!
Ссылки по теме, всем спасибо !:
www.makeserver.ru Статьи/Плагины/Прочее
AMX команды
www.cs-maps.ru Большое количество карт для CS
RCON команды
STEAM - тут покупаем лицензионную CS
Инсталяция сервера под Linux - простая, доступная статья
Установка CS 1.6 Server (протокол 48 и 47) + Sxei + дополнительные плагины в Ubuntu.
Установка выделенного сервера Counter-Strike на Linux (x86 based)
От сюда была взята готовая пропатченная сборка сервера под LINUX