Linux HLDS Manual


Значит что нам требуется. Нам требуется отдельная ( а то) машинка с Linux( любым. у меня серв вертится на ubuntu server 8.10)
Для удобства советую создать отдельного пользователя под запуск сервера. Пусть это будет hlds
*Изначально подразумевается что на машинку вы заходите по ssh( ну по крайней мере у меня так, хотя установка на локальную машину не сильно будет отличаться ;) *

Ну-с , приступим-с.
Для начала запускаем консоль с правами root( ибо иначе система просто не даст нам создать пользователя)
$ sudo bash
root@linuxmachine:

Уже в этой консоли пишем:
root@linuxmachine: adduser hlds

Дальше идет лог вопросов скрипта, который будет собирать инфо о новом юзвере
root@linuxmachine:/home# adduser hlds
Adding user `hlds' ...
Adding new group `hlds' (1002) ...
Adding new user `hlds' (1002) with group `hlds' ...
Creating home directory `/home/hlds' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ---тут пишем пароль
Retype new UNIX password: ---тут пароль повторяем
passwd: password updated successfully
Changing the user information for hlds
Enter the new value, or press ENTER for the default
Full Name []: тут что угодно
Room Number []:тут что угодно
Work Phone []:тут что угодно
Home Phone []:тут что угодно
Other []:тут что угодно
Is the information correct? [Y/n] y
root@linuxmachine:/

Так. Пользователя мы создали. Теперь нам нужно установить собственно сервер ^^
Так же ничего сложного.
*Не забываем выходить из под рута.;))
root@linuxmachine:/ exit
user@linuxmachone:/

Теперь заходим под новым пользователем и приступаем к установке.(сначала кусок команд, потом пояснения)
hlds@linuxmachine:/
hlds@linuxmachine:/ cd /home/hlds
hlds@linuxmachine:/ mkdir Server
hlds@linuxmachine:/ cd Server
hlds@linuxmachine:/ wget http://storefront.steampowered.com/download/hldsupdatetool.bin
hlds@linuxmachine:/ chmod +x http://storefront.steampowered.com/download/hldsupdatetool.bin
hlds@linuxmachine:/ ./hldsupdatetool.bin

Теперь поясняю что мы сделали.
Первая строка это приглашение консоли к действию xD
Вторая: мы заходим в свою домашнюю папку(по идее почти во всех дистрибутивах линукса вы изначально находитесь в домашней папке, но всякое бывает…)
Третья : мы создаем директорию для сервера( имейте ввиду, что в отличие от винды, в юникс-подобных системах очень важен регист(т.е. размер буквы(строчная/прописная))
Четвертая : заходим в папку, которую только что создали
Пятая : Скачиваем туда утилиту hldsupdatetool, с помощью которой будем ставить сервер
Шестая : даем скачанному файлу права на исполнение
Седьмая: собственно исполняем файл.

После того как мы все это проделали, мы видим на экране текст лицензионного соглашения. На него конечно отвечаем согласием(нажимаем на Y)
После этого в папке появляются еще несколько файлов : steam и readme.
Нам требуется только steam.
hlds@linuxmachine:/ ./steam

После этой команды — утилитка начинает качать себе обновления. Если скорость не очень, то можно успеть даже чаю себе заварить.С плюшками xDD
Как только утилита обновится, мы опять видим приглашение командной строки.Это нам и надо.
hlds@linuxmachine:/ ./steam -command update -game cstrike -dir /home/hlds/Server

Сервер начал скачиваться. За то время пока он будет качаться вы успеете( в зависимости от скорости инета) попить чаю , сходить пыхнуть, вернуться обратно и заварить чаю.
Как только сервер скачался, видим опять приглашение ком.строки.Впринцпипе это все что требуется чтобы поставить сервер. Вы уже можете его запустить(как и обычный виндовый — специальным батником — исполняемым файлом.)
Заходим в папку с сервером.
*я советую ставить mc тем , кто только знакомится с линуксом, ибо очень удобно + ностальгия по нортоновским временам :
эта команда актуальна только для debian-based дистрибутивов
sudo apt-get install mc

если mc нету, а желания ставить тем более, то можно обойтись и без него. заходим в папку /Server. Там имеютсяч исполняемые файлы для запуска сервера под разные архитектуры процессора ну и куча всего\ :
core_i386.so InstallRecord.blob
crack last_update
cstrike libsteam_api_c_linux.so
engine_amd.so libsteam_api_linux.so
engine_i486.so libsteamvalidateuseridtickets_i486.so
engine_i686.so libtier0_s_linux.so
filesystem_stdio_i386.so libvstdlib_s_linux.so
hlds_amd linuxreadme.txt
hlds_i486 proxy_i386.so
hlds_i686 reslists
hlds_run steam_appid.txt
hlshield-install.sh steamclient_linux.so
hlshield.so steam
hlshield-version.txt valve
hltv

*внимательный и въедливый читатель уже наверно заметил, что присутствует папка crack и файл-скрипт hlshield-install.sh , но об этом чуть ниже*
Зайдя в папку ( cd /Server)
Нам достаточно написать следующее для запуска сервера :
hlds@linuxmachine:/ ./hlds_run -nomaster -insecure -game cstrike +port 27015 +ip ваш_IP(коммент.1) +map de_dust2 +maxplayers 12 > hlds.log 2>&1 &

коммент.1 : пишите тот ип, на который будут подсоединяца,т.е. если сервер интернетный, вам нужно писать именно интернет ИП.про владельцев домашних роутеров я молчу
И так. Давайте разберем что же мы собственно натворили.
[i]./hlds_run — специальный скрипт, который выбирает архитектуру процессора и большинство настроек для архитектуры(советую запускать именно через него, а не напрямую через бинарник)
-nomaster — не палимся в вальве))
-insecure — VAC off
-game cstrike — игра именно cstrike
+port 27015 — сервер запущен на 27015 порту
+ip — ваш ip. об этом писал выше.
+map de_dust2 — карта при запуске сервера
+maxplayers 12 — максимальное количество игроков на сервере 12
а теперь самое интересное
> hlds.log 2>&1 & — это значит что весь вывод сервера(т.е. все сообщения которые он будет выдать(например ошибки и пр.) будут писаться в файл hlds.log, который будет находится в корневой папке сервера (т.е. /Server), а вывод на экран информации о сервере — полностью отключен.(предупреждаю сразу, если это приписано к команде запуска — доступ к консоли сервера сразу же отпадает.управлять им посдле этого можно только с помощью rcon_password и rcon command из самой игры, либы через HLSW. но в любом случае только через rcon)
Вот и все. Сервер запущен
Но ведь всем известно что в каждой софтине есть свои дырки. Поэтому надо поставить какой то патч, который эти дырки закрывает. Мы ставим hlshield smile.gif)
Для этого нам достаточно скачать файл «hlshield-install.sh» из аттача ^^
Скачав файл — заливаем его в папку /home/hlds/Server
После этого выполняем следующую команду(предварительно перейдя в папку ;)) )
hlds@linuxmachine:/ sh hlshield-install.sh

Видим примерно следующее :
--------------------------------------------------
Check HLShield forum for more informations
http://hobby.sarichioi.com/
--------------------------------------------------
Checking version...
>> available: 1.14
>> installed: 1.14
Your HLShield is already updated.

*при первой утсановке оно конечно будет выглядеть чуть-чуть по другому, но именно чуть-чуть^^*
Теперь у нас есть установленный hlds-linux сервер, с установленным патчем от эксплойтов и прочей заразы.
А дальше установка в точности повторяет установку для венды : правка server.cfg, установка metamod,amxx и других плагинов. ( нельзя забывать что для hlds-liunux требуются модули с расширением .so а не .dll. Дллки наш мальчик не кушает, потому что кушать их не умеет)
Вот примерный liblist.gam для hlds-linux, чтобы использовался metamod
game "Counter-Strike"
url_info "www.counter-strike.net"
url_dl ""
version "1.6"
size "184000000"
svonly "0"
secure "0"
type "multiplayer_only"
cldll "1"
hlversion "1111"
nomodels "1"
nohimodel "1"
mpentity "info_player_start"
gamedll_linux "addons/metamod/dlls/metamod_i386.so"

ВСЕ
PS. Чтобы выключить сервер — достаточно из под этого же пользователя(или из под рута) набрать
killall hlds_run
killall hlds_архитектура_процессора

Примечание.
Хочу сказать, что сервер под линуксом иметь намного удобнее чем под виндой,т.к. у линукса намного больше возможностей хотя бы для удаленного управления. + он намного лучше работает с серверным софтом. Куски кода и все остальное — писал сам и/или копировал из своих файлов/конфигов.
Советую также использовать screen для запуска сервера,т.к. он позволяет не терять вывод консоли сервера, но при этом свободно продолжать работу.Пути, названия файлов могут отличаться от тех что были названы в этой статье.
Кроспоссте куда хотите, но все таки желательно чтобы оставляли ссылки на оригинал, т.е. на этот пост ;)
Надеюсь хоть кому то статья пригодится
© bazil11

© 2010 — 2011, 3aB}{o3. Все права защищены.

Распечатать страницу

Запись от 23rd Февраль, 2010 года
  • 1 bazil11 написал(а) Фев 18, 2011 в 03:55

    а вот это вот точно мое :D *CRAZY*

  • 2 bazil11 написал(а) Фев 18, 2011 в 03:55

    блеа,Зав,вордпресс-пресс говна имхо >.<

  • 3 3aB}{o3 написал(а) Фев 21, 2011 в 02:08

    Да это твое копирайты же стоят видно,возможно ты и прав есть какие то другие предложения?

  • 4 3aB}{o3 написал(а) Мар 14, 2011 в 13:58

    Нет ты не прав….нужно уметь его готовить *CRAZY*