• Yamaha motors
  • Subaru WRX STI
  • Баба Клава!
  • Светодиодные системы освещения

Печать

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