Установка cs 1.6 сервера на Linux

Установку будем производить на операционной системе CentOS 6.0. Перед установкой сервера counter-strike 1.6 имеем чистую систему, как раз после установки. Единственное, были выполнены команды:

yum update
yum install mc

Создадим папку где будем хранить весь исходный материал для серверов

mkdir source

Скачаем hldsupdatetool.bin

wget http://www.steampowered.com/download/hldsupdatetool.bin

Даём нужные права на файл:

chmod +x hldsupdatetool.bin

Запускаем hldsupdatetool.bin

./hldsupdatetool.bin
 -bash: ./hldsupdatetool.bin: /lib/ld-linux.so.2: bad ELF interpreter: Нет такого файла или каталога

У меня возникла ошибка. Решил её установкой:

yum install ld-linux.so.2

Пробуем снова

./hldsupdatetool.bin

На вопрос… отвечаем «YES»

Enter 'yes' to accept this agreement, 'no' to decline: yes

Выдало ошибку: «sh: uncompress: команда не найдена»

Enter 'yes' to accept this agreement, 'no' to decline: yes
sh: uncompress: команда не найдена
tar: Это не похоже на tar-архив
tar: Завершение работы с состоянием неисправности с из-за возникших ошибок

Решаем её следующим образом:

ln -s /usr/bin/gunzip /usr/bin/uncompress

Пробуем снова:

./hldsupdatetool.bin

Если увидим ниже написанное, то все ок.

Enter 'yes' to accept this agreement, 'no' to decline: yes
extracting steam.tar.Z...done

Проверяем, появились ли нужные нам файлы:

ls
hldsupdatetool.bin readme.txt steam

Обновляемся, причем нас попросят это сделать два раза:

[root@cs hlds]# ./steam
 Checking bootstrapper version ...
 Getting version 45 of Steam HLDS Update Tool
 Downloading. . . . . . . . . . . .
 Steam Linux Client updated, please retry the command
 [root@cs hlds]#
 [root@cs hlds]# ./steam
 Checking bootstrapper version ...
 Getting version 45 of Steam HLDS Update Tool
 Downloading. . . . . . . . . . . .
 Steam Linux Client updated, please retry the command
 CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
 CAsyncIOManager: 21 single object sleeps, 0 multi object sleeps
 CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps
 [root@cs hlds]#

Создаем файл, через который будем в дальнейшем обновлять сервер:

touch update.sh

Даём нужные права на файл:

chmod +x update.sh

Записываем необходимое для обновления в файл:

echo ./steam -command update -game cstrike -dir . > update.sh

Проверяем:

cat update.sh
./steam -command update -game cstrike -dir .

Скачиваем (обновляем) сервер:

[root@cs hlds]# ./update.sh
Checking bootstrapper version ...
Updating Installation
No installation record found at .
No installation record found at .
No installation record found at .
Checking/Installing 'Counter-Strike Base Content' version 35
0.16% downloading ./cstrike/cl_dlls/client.dll
0.16% downloading ./cstrike/classes/ak47.res
0.16% downloading ./cstrike/classes/arctic.res
0.16% downloading ./cstrike/classes/aug.res
0.16% downloading ./cstrike/classes/autoselect_ct.res
0.16% downloading ./cstrike/classes/autoselect_t.res
0.16% downloading ./cstrike/classes/awp.res
0.16% downloading ./cstrike/classes/cancelbutton.res
0.16% downloading ./cstrike/classes/default.res
0.16% downloading ./cstrike/classes/defuser.res
0.16% downloading ./cstrike/classes/deserteagle.res
0.16% downloading ./cstrike/classes/elites.res
0.16% downloading ./cstrike/classes/equipment.res

Ждем пока скачается

99.06% downloading ./valve/valve.rc
99.06% downloading ./valve/valvecomm.lst
100.00% downloading ./valve/xeno.wad
Connection Reset, errno 104 "Connection reset by peer"
CAsyncIOManager: 0 threads terminating. 0 reads, 0 writes, 0 deferrals.
CAsyncIOManager: 76 single object sleeps, 0 multi object sleeps
CAsyncIOManager: 0 single object alertable sleeps, 0 multi object alertable sleeps
[root@cs hlds]#

Создадим скрипт для запуска-проверки сервера:

chmod +x start.sh
vi start.sh

Содержимое файла «start.sh»

#!/bin/bash
echo «Starting CS:1.6»
sleep 1
./hlds_run -binary ./hlds_i686 -game cstrike -secure -console -pingboost 1 +exec server.cfg -verify_all +port 27015 +maxplayers 22 +map de_dust2 +ip 0.0.0.0

Запускаем

[root@cs hlds]# ./start.sh
Starting CS:1.6
Auto-restarting the server on crash
Console initialized.
scandir failed:/hdd2/source/hlds/./valve/SAVE
scandir failed:/hdd2/source/hlds/./platform/SAVE
Protocol version 48
Exe version 1.1.2.6/Stdio (cstrike)
Exe build: 16:56:12 Mar 8 2010 (4883)
STEAM Auth Server
couldn't exec listip.cfg
couldn't exec banned.cfg
Server IP address 0.0.0.0:27015
scandir failed:/hdd2/source/hlds/./valve/SAVE
scandir failed:/hdd2/source/hlds/./platform/SAVE
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
scandir failed:/hdd2/source/hlds/./valve/SAVE
scandir failed:/hdd2/source/hlds/./platform/SAVE
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
couldn't exec listip.cfg
couldn't exec banned.cfg
scandir failed:/hdd2/source/hlds/./valve/SAVE
scandir failed:/hdd2/source/hlds/./platform/SAVE
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
Connection to Steam servers successful.
VAC secure mode is activated.
Птн Сен 2 07:22:45 NOVST 2011: Server Quit
[root@cs hlds]#

Исправляем ошибки:

couldn't exec listip.cfg

Создаем файл в listip.cfg папке cstrike:

touch cstrike/listip.cfg

Ошибка

couldn't exec banned.cfg

Создаем файл в banned.cfg папке cstrike:

touch cstrike/banned.cfg

Ошибка

scandir failed:/hdd2/source/hlds/./valve/SAVE

Создаем папки valve/SAVE в корне сервера

mkdir valve/SAVE

Ошибка

scandir failed:/hdd2/source/hlds/./platform/SAVE

Создаем папки platform/SAVE в корне сервера

mkdir platform
mkdir platform/SAVE

Пробуем запустить снова:

[root@cs hlds]# ./start.sh
 Starting CS:1.6
 Enabling debug mode
 ./hlds_run: line 134: gdb: команда не найдена
 Please install gdb first.

Исправляем ошибку:

yum install gdb

Проверяем:

[root@cs hlds]$ ./start.sh
 Starting CS:1.6
 Enabling debug mode
 Auto-restarting the server on crash
Console initialized.
 Protocol version 48
 Exe version 1.1.2.6/Stdio (cstrike)
 Exe build: 16:56:12 Mar 8 2010 (4883)
 STEAM Auth Server
 Server IP address 0.0.0.0:27015
 [S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
[S_API FAIL] SteamAPI_Init() failed; unable to update local steamclient. Continuing with current version anyway.
Connection to Steam servers successful.
 VAC secure mode is activated.

Пользователь для сервера
Создадим пользователя от которого будем управлять и запускать сервер:

useradd gsrv

Установим пароль для пользователя «gsrv»:

passwd gsrv
Смена пароля для пользователя gsrv.
Новый пароль :
Повторите ввод нового пароля :
passwd: все токены проверки подлинности успешно обновлены.

Передаем права пользователю gsrv

chown -R gsrv:gsrv source/

Дальше все действия с сервером будем выполнять от пользователя gsrv

su gsrv

 

Настройка IPTABLES

Создадим файл

vi /etc/rc.d/rc.fw

со следующим содержимым:

#! /bin/sh
 WAN_IF="eth0"
 WAN_IP="ИП_АДРЕС_ВАШЕГО_СЕРВЕРА"
LO_IF="lo"
 LO_IP="127.0.0.1"
 LO_MASK="255.0.0.0"
 LO_NET="$LO_IP/$LO_MASK"
SERV_PORT="27015:27025"
 SHH_PORT="22"
IPT="/sbin/iptables"
 $IPT -F
 $IPT -t nat -F
 $IPT -t mangle -F
 $IPT -X
 $IPT -P INPUT DROP
 $IPT -P OUTPUT ACCEPT
 $IPT -A INPUT -i $LO_IF -j ACCEPT
 $IPT -A OUTPUT -o $LO_IF -j ACCEPT
 $IPT -A INPUT -p ICMP --icmp-type 8 -j ACCEPT
 $IPT -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 $IPT -A INPUT -p TCP --dport 22 -j ACCEPT
 $IPT -A INPUT -p tcp --dport 27015 -j ACCEPT
 $IPT -A INPUT -p udp --dport 27015 -j ACCEPT

Делаем его запускным

chmod +x rc.fw

[download id=»41″ format=»1″]

Share

You may also like...

16 комментариев

  1. Hatiko:

    27 Птн Сен 2 07:22:45 NOVST 2011: Server Quit — это надо писать в start.sh ?

  2. Hatiko:

    А как его сохоанить ? Применить? Start.sh?

    • Если речь идет о 
      # vi start.sh
      , то для начала редактирования надо нажать «i»
      чтобы записать — клавиша «esc» затем набираем «!q» и жмем «ENTER» 

  3. хм..оставлял комментарий с ника Hatiko.
    Жду ответов 

  4. сделай лучше сетевой адаптер виртуалбокса в режиме моста !

    а вот как ты порты пробросил в виртуал боксе…. вопрос хороший 
    😉
     

  5. Наверно проводок провайдера прямо в комп всунут? угадал?

  6. Hell Boy:

    ребята помогите  все по инструкцие делал но проблема в том что выбивает
    -bash: ./hldsupdatetool.bin: /lib/ld-linux.so.2: bad ELF
    уже все об искал и нечего ненашол
    Кто поможет пишыте Skype: yarosla_v_boy
    BK; vk.com/id_kiss_fm

  7. Hell Boy:

    Скрин что выбивает мне !!
    php-studia.ru/?s=2013010705.png

  8. саня:

    а что делоть если выбевает

     
    root@root:/home/server1cs# ./steam -command update -game cstrike -dir .
    Checking bootstrapper version …
    removing stale semaphore last operated on by process 11318 with name 0eBlobRegistryMutex_07692C9F0DCCAB9B49E0AA2095A1952C
    removing stale semaphore last operated on by process 11318 with name 0eBlobRegistrySignal_07692C9F0DCCAB9B49E0AA2095A1952C
    Updating Installation
    Determining which depot(s) to install/update…
    ** ‘game’ options for Source DS Install:
     
            «ageofchivalry»
            «alienswarm»
            «diprip»
            «dystopia»
            «episode1»
            «esmod»
            «garrysmod»
            «garrysmodbeta»
            «insurgency»
            «l4d_full»
            «left4dead»
            «left4dead2»
            «left4dead2_demo»
            «orangebox»
            «pvkii»
            «smashball»
            «synergy»
            «zps»
     
    ** ‘game’ options for HL1 DS Install:
     
            «dmc»
            «gearbox»
            «ricochet»
            «tfc»
            «valve»
     
    ** ‘game’ options for Third-Party game servers:
     
            «ageofchivalry»
            «aliensvspredator»
            «americasarmy3»
            «brink»
            «darkesthour»
            «darkmessiah»
            «defencealliance2»
            «dinodday»
            «diprip»
            «dystopia»
            «esmod»
            «garrysmod»
            «garrysmodbeta»
            «hauntedhellsreach»
            «homefront»
            «homefrontjpn»
            «insurgency»
            «killingfloor»
            «killingfloor_beta»
            «marenostrum»
            «modernwarfare3»
            «mondaynightcombat»
            «naturalselection2»
            «nexuiz»
            «pvkii»
            «redorchestra»
            «redorchestra2»
            «redorchestra_beta»
            «serioussam3»
            «serioussam3-deprecated»
            «serioussamhdse»
            «ship»
            «sin»
            «smashball»
            «sniperelitev2»
            «synergy»
            «tshb»
            «zps»
    HLDS installation up to date
    root@root:/home/server1cs#
     

  9. Денис:

    Как сохранять rc.fw?
     

Добавить комментарий для Максим Ерченко Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *