Инсталиране и настройка на Counter-Strike 1.6 сървър под УСУ Линукс
В следващата статия ще ви покажа как да инсталирате и настроите Counter-Strike 1.6 сървър под УСУ Линукс. Инструкциите са написани за УСУ 8.x, но би трябвало да са валидни и за други Ubuntu-базирани дистрибуции, както и за по-стари издания на УСУ.
И така, да започваме!
Подготовка
Първо, пускаме терминал от основното меню > Система -> Терминал.
За простота в примера всичко ще се инсталира в подпапка hlds на домашната папка, и ще е с правата на текущия ви потребител (без да изисква root). Ако желаете да е на друго място, трябва само в следните две команди вместо „hlds“ да напишете пълният път до желаната папка (примерно /opt/hlds или пък нещо друго):
mkdir hlds cd hlds |
Изтегляне на съдържанието
След като сме създали папката и сме я отворили в терминала, продължаваме с изтеглянето на hldsupdatetool.bin:
wget http://storefront.steampowered.com/download/hldsupdatetool.bin chmod +x hldsupdatetool.bin ./hldsupdatetool.bin |
Ще ви се появи въпрос „Enter ‘yes’ to accept this agreement, ‘no’ to decline: “ – напишете yes и щракнете Enter.
Следващата команда може да отнеме много време докато се изпълни (5-10 и повече минути) тъй като тя изтегля съдържанието на Counter Strike (плюс това понякога се бави и преди да започне да тегли). Ако не изтегли нищо и изпише някакви съобщения за грешка, просто се изпълнява още няколко пъти докато успее:
./steam -command update -game cstrike -dir . |
Като краен резултат, трябва в папката hlds да изглежда така:
Като допълнение към стандартната конфигурация на сървъра, ще добавим Metamod-P и Dproto.
Инсталиране на Metamod-P
Изтегляме и инсталираме Metamod-P от http://metamod-p.sourceforge.net/ с команда:
mkdir -p cstrike/addons/metamod/dlls wget http://prdownloads.sourceforge.net/metamod-p/metamod-p-1.19p32-linux_i586.tar.gz?download -O- | tar -xzvf - -C cstrike/addons/metamod/dlls/ |
Забележка: може да звучи странно, но за простота съм усложнил малко командите – по този начин не ви се налага ръчно да разархивирате файлове и да ги местите в съответните папки – от вас се изисква единствено да копирате и изпълните описаните команди една по една.
Активираме Metamod-P с команда:
sed -i 's/gamedll_linux "dlls\/cs_i386.so"/gamedll_linux "addons\/metamod\/dlls\/metamod_i386.so"/' cstrike/liblist.gam |
Инсталиране на Dproto
Става със следните команди:
wget "http://cs.rin.ru/forum/download/file.php?id=12029" -O/tmp/dproto.zip mkdir -p cstrike/addons/dproto/ unzip /tmp/dproto.zip dproto_i386.so -d cstrike/addons/dproto/ unzip /tmp/dproto.zip dproto.cfg -d ./ echo "linux addons/dproto/dproto_i386.so" > cstrike/addons/metamod/plugins.ini |
Стартиране на сървъра
Сървъра се стартира със следната команда (естествено, може да промените „+map de_aztec“ с избрана от вас карта):
./hlds_run -binary ./hlds_i686 -game cstrike -autoupdate +maxplayers 20 +map de_aztec |
Важно е да отбележим че параметъра „-binary ./hlds_i686″ е задължителен. Без него dproto не може да работи правилно.
Ето го и сървъра:
И вече съм вътре… макар и сам
Автоматично стартиране на сървъра
За целта изпълнете следната команда:
sudo nano /etc/init.d/cstrike-server |
Тя ще създаде един празен файл /etc/init.d/cstrike-server и ще го отвори за редактиране в редактора nano.
Копирайте следния скрипт, и го поставете в редактора:
#!/bin/bash # /etc/init.d/cstrike-server # version 0.1 2013-01-29 (YYYY-MM-DD) ### BEGIN INIT INFO # Provides: cstrike-server # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Dedicated Counter-Strike server # Description: Starts the dedicated Counter-Strike server ### END INIT INFO #Settings HLDS_PATH='/home/lokster/hlds' CS_USER=lokster DIR=/home/lokster/hlds PARAMS="-binary ./hlds_i686 -game cstrike -autoupdate +maxplayers 20 +map de_aztec" NAME=hlds PATH=/bin:/usr/bin:/sbin:/usr/sbin DAEMON=hlds_run DESC="Counter-Strike dedicated server" case "$1" in start) if [[ `su $CS_USER -c "screen -ls | grep $NAME"` ]] then echo "HLDS is already running!" else echo "Starting $DESC: $NAME" su $CS_USER -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS" fi ;; stop) if [[ `su $CS_USER -c "screen -ls | grep $NAME"` ]] then echo -n "Stopping $DESC: $NAME" kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'` echo " ... done." else echo "Coulnd't find a running $DESC" fi ;; restart) if [[ `su $CS_USER -c "screen -ls | grep $NAME"` ]] then echo -n "Stopping $DESC: $NAME" kill `ps aux | grep -v grep | grep -i $CS_USER | grep -i screen | grep -i $NAME | awk '{print $2}'` echo " ... done." else echo "Coulnd't find a running $DESC" fi echo -n "Starting $DESC: $NAME" su $CS_USER -c "cd $DIR; screen -m -d -S hlds ./$DAEMON $PARAMS" echo " ... done." ;; status) ps aux | grep -v grep | grep hlds_r > /dev/null CHECK=$? [ $CHECK -eq 0 ] && echo "HLDS is UP" || echo "HLDS is DOWN" ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac exit 0 |
В началото на скрипта, точно след „#Settings“ променете стойностите на HLDS_PATH и CS_USER така че да са съответно пътя до папката където сте инсталирали сървъра, и името на потребителя ви.
Параметърът PARAMS съдържа параметрите които се подават към hlds. Може да ги оставите така, или пък да ги промените.
Запишете файла с Ctrl+O и след това Enter, и затворете редактора с Ctrl+x.
Изпълнете:
sudo chmod a+x /etc/init.d/cstrike-server sudo update-rc.d cstrike-server defaults sudo apt-get update sudo apt-get install screen |
И готово – вече сървъра ще се стартира автоматично при всяко стартиране на системата.
Може ръчно да го спирате и пускате съответно с
sudo service cstrike-server stop
|
и
sudo service cstrike-server start
|
Инсталиране на AMX Mod X (незадължително)
Става със следните команди:
wget "http://sourceforge.net/projects/amxmodx/files/AMX Mod X Base/1.8.1/amxmodx-1.8.1-base.tar.gz/download" -O- | tar -xzvf - -C cstrike/ echo "linux addons/amxmodx/dlls/amxmodx_mm_i386.so" >> cstrike/addons/metamod/plugins.ini |
И така нататък… общо взето четете инструкциите за инсталиране на съответните плъгини Metamod – там си пише как се инсталират под Линукс. Принципа вече би трябвало да е ясен.