Установка чистового сервера Counter-Strike Condition Zero на Linux

#1 2012.12.22 20:14:05

0

Создаем необходимую нам директорию. Я например ставил в /halflife/hlds_pub/

Скачаем необходимую утилиту для установки. Это можно сделать минимум двумя способами. Можно просто поставить на сервер любой браузер (Mozilla, Opera, Хром), так же можно и из консоли

/halflife/hlds_pub/# wget https://storefront.steampowered.com/download/hldsupdatetool.bin

Даем файлу права на исполнение (если необходимо) и выполняем его

chmod +x hldsupdatetool.bin

./hldsupdatetool.bin

Там будут что то спрашивать про соглашения и все такое… пишем естественно “yes”

После распаковки появиться 5 файлов.

steam

readme.txt

test1.so

test2.so

test3.so


Интерес представляет только файл readme.txt:
Half-Life Dedicated Server (Steam) Update Tool
[4.07.05]

HldsUpdateTool is an application that will update an existing Half-Life
Dedicated Server installation to the latest version or will download the
latest version (from scratch) if an existing version is not found.
To save time/bandwidth downloading files, it"s better to install
HldsUpdateTool into the root folder of an existing Half-Life Dedicated
Server installation.

Installation
1) Creating an account

It is no longer necessary to have a Steam account to use this tool.

2) Getting the latest version of the Dedicated Server

To download the latest version of the dedicated server to your machine:

a) Open a command prompt.

b) Change to the directory where the HLDS Update Tool is installed.

c) Run the HLDS Update Tool with the "update" command:

>HldsUpdateTool.exe -command update -game -dir

"cstrike", "dmc", "dod", "ricochet", "tfc", "valve", "Counter-Strike Source", or "hl2mp"

is the path where you want the files installed
e.g. . (for the current directory) or c:\hlserver

e.g.
>HldsUpdateTool.exe -command update -game cstrike -dir .

or

>HldsUpdateTool.exe -command update -game cstrike -dir c:\hlserver

(NOTE: that will be ./steam instead of HldsUpdateTool.exe for
Linux users)

d) Steam remembers the options you use, so when you need to update
next time you only need to run:

>HldsUpdateTool.exe -command update

e) You can also install multiple copies of the server by specifying a
different .

f) Half-Life mods (eg cstrike, dod) and Source mods (eg hl2mp) must
be installed to separate directories

3) Updating your Dedicated Server

If your dedicated server becomes out-of-date you will see the following
message in your server console and in the server log:

"Your server needs to be restarted in order to receive the latest update."

To update, stop your dedicated server and run the update commands described
in Section 2 (above).

4) Help

To see this info and info about other options of the tool, run it with "-?"
and it will print them on the screen.

About Steam
-----------
Steam is a broadband business platform for direct software delivery and
content management. At its core, Steam is a distributed file system and
shared set of technology components that can be implemented into any
software application.

Privacy
-------
Valve respects the privacy of its users. The details of our privacy policy
can be viewed at:

https://www.valvesoftware.com/privacy.htm


FAQ
---
1) Q: No one is connecting to my server/I get errors when I try to connect to
my server.

A: Run the HLDS Update Tool with the "update" command to make sure you
have the most recent version.

2) Q: When I first run the HldsUpdateTool I see a message about "Could not
create file: Permission denied". What"s wrong?

A: The HldsUpdateTool has the ability to auto-update itself, but to do
this it must be able to overwrite itself. Make sure the Windows user
you"re logged-in as has permission to overwrite the "HldsUpdateTool"
executable.

3) Q: Where can I get help?

A: Join the Steampowered forums or one of the Valve Server Admin Mailing
lists:

https://www.steampowered.com/forums

https://list.valvesoftware.com/mailman/listinfo

Для загрузки сервера с интернета нам потребуется следующая команда.

./steam -command update -game czero -dir /halflife//hlds_pub/

Поскольку сервер ставим под Condition Zero, то и указываем czero. Кто ставит что то другое соответственно пишет:"cstrike", "dmc", "dod", "ricochet", "tfc", "valve", "Counter-Strike Source"…

Теперь идем пить чай, можно конечно что то и покрепче.. все зависит от канала в Интернет!

HLDS installation up to date

Все УРА все что нужно нам от стима мы получили. Теперь настраиваем сервер под себя.

Находим файлик server.cfg. Открываем его и изменяем под себя.

//Server name
hostname "Название сервера на латине" - имя вашего сервера, которое будет видно в списке серверов

//Rcon password
rcon_password "ркон пасс" - пароль для управления сервером (д.б. известен только вам)

//settings
mp_allowspectators 1 - на сервере можно присутствовать спектатором
mp_autocrosshair 0 - автоаим (примитивный AimBot)
mp_autokick 0 - кик с сервера простаивающих игроков или Тимкиллеров
mp_autoteambalance 1 - автобаланс команд (перевес в количестве игроков одной команды над другой не может превышать количества игроков указанных командой mp_limitteams)
mp_buytime 0.5 - время закупки оружия в начале раунда в минутах
mp_c4timer 35 - время в сек. до взрыва установленной бомбы
mp_chattime 10 - Количество секунд, на которое сервер позволяет игрокам писать в общий чат после конца карты и до загрузки новой
mp_decals 200 - Количество отображаемых одновременно дыр от выстрелов , пятен крови и т.д
mp_fadetoblack 0 - включение после вашей смерти черного экрана до окончания раунда
mp_falldamage 1 - управляет кол-вом снимаемых HP при падении (но она по-моему уже давно убрана из HLDS)
mp_flashlight 1 - использование фонарика
mp_forcecamera 0 - установка камеры наблюдения за своей комадой после смерти
mp_forcerespawn 1 - принудительный быстрый респаун для убитого клиента (если убили не можешь двинутся с того места)
mp_fraglimit 0 - количество фрагов, при достижении которого игра на карте будет завершена
mp_freezetime 2 - время невозможности движения игрока в начале раунда в секундах
mp_footsteps 1 - слышимость шагов (при беге)
mp_friendlyfire 1 - повреждения при стрельбе по своим
mp_hostagepenalty 0 - количество убитых заложников до применения бана в игре
mp_limitteams 1 - максимальное количество превышения игроков одной команды над другой (от 1 и до бесконечности )
mp_maxrounds 0 - максимальное количество раундов, при достижении которого игра на карте будет считаться законченной
mp_playerid 1 - This variable controls what players see when they put their crosshair over an enemy, a hostage, or a teammate
mp_spawnprotectiontime 10 - кик игрока, сделавшего тимкилл в начале раунда в течении этого количества секунд
mp_roundtime 3 - время раунда в минутах
mp_startmoney 800 - стартовое количество денег в начале игры на карте
mp_timelimit 30 - длительность игры на одной карте в минутах
mp_tkpunish 0 - применение санкций при ТимКиле (пропуск следующего раунда)
mp_winlimit 0 - количество выигрышей одной команды при достижении которого игра на карте считается законченной

sv_airaccelerate 10 - задает значение сопротивления воздуха
sv_allowdownload 1 - возможность скачивания с сервера недостающих карт и т.д.
sv_allowupload 0 - возможность закачивания на сервер файлов игроков (спрей-логов, карт и т.д.)
sv_alltalk 0 - разговор в микрофон доступен всем играющим на сервере (включая трупы)
sv_cheats 0 - разрешение использования читов
sv_consistency 1 - проверка клиента, чтобы на сервере могли играть только со стандартными моделями ,звуками и.т.д
sv_contact ваша почта - контактный почтовый адрес администратора сервера
sv_enableoldqueries 1 - старый метод запросов для совместимости с программами статистики (например Психостат)
sv_footsteps 1 - слышимость шагов (при беге)
sv_friction 4 - Трение на карте
sv_gravity 800 - Гравитация карты
sv_maxrate 20000 - максимальная пропускная способность сетевого канала сервера с учетом клиентской стороны (значение считается по формуле)
sv_maxspeed 320 - скорость движения игрока по карте
sv_maxunlag 0.5 - максимальная лаг компенсация в секундах
sv_maxupdaterate 40 - Ограничивает частоту обновлений сервера. Чем выше значение,тем больше пакетов будет послано клиентам (зависит от sv_maxrate и также считается по формуле )
sv_minrate 0 - минимальная пропускная способность сетевого канала
sv_minupdaterate 10 - нижний предел частоты обновления сервера
sv_password "пароль" - пароль только для входа на сервер, например, на клановый сервер. Не должен совпадать с ркон паролем!
sv_pausable 0 - возможность паузы на сервере
sv_rcon_banpenalty 15 - количество в минутах блокирования доступа к серверу при неправильном определенном количестве попыток ввода ркон пароля
sv_rcon_maxfailures 5 - максимальное количество неправильно введенного rcоn_password-а (затем BAN)
sv_rcon_minfailures 5 - минимальное количество неправильно введенного rcоn_password-а (затем BAN)
Отредактировано: Panda 2022.08.04 12:20:51
#2 2012.12.22 20:19:30

0

sv_rcon_minfailuretime 30 - время, после которого счетчик (sv_rcon_maxfailures) сбрасывается
sv_specaccelerate 5 - настройка режима спектатора в режиме "привидения"
sv_specnoclip 1 - настройка режима спектатора в режиме "привидения"
sv_specspeed 3 - настройка режима спектатора в режиме "привидения"
sv_stats 1 - сбор статистики использования процессора
sv_stepsize 18 - размер шага игрока (если поставить 100-150 то можно на de_aztec, например, из воды прямо к бомбе подняться или на подвесной мост )
sv_stopspeed 75 - скорость остановки игрока
sv_timeout 30 - время ожидания ответа от клиента в секундах по истечении которого клиент будет отключен
sv_unlag 1 - возможность компенсации лагов
sv_voiceenable 1 - разрешить использовать микрофон или нет
decalfrequency 10 - время в секундах, через которое игроки могут наносить на поверхности своё следующее спрей-лого
host_framerate 0 - задает sys_tickrate сервера (аналог -tickrate в ярлыке запуска)

Запуск.

Итак, будем считать что случилось чудо и мы таки поставили сервер. Перед тем как до устанавливать плагины рекомендую сделать тестовый запуск.

./hlds_run -game czero +ip 194.8.*.* +port 27015 +maxplayers 16 +map de_dust2 -pingbooster 1

-game czero - запускаем сервер именноCondition Zero.

+maxplayers 17 - макс. к-во игроков (8 x 8 +hltv)

+port 27015 - порт для игры

+map de_dust2_cz - карта

-pingbooster 1 - linux сервер содержит встроеный бустер - от 0 до 3 (0 - наим. нагрузка)

Конечно каждый раз писать в командной строкую фразу умрешь. Да и зачем. Я для простоты написал небольшой скриптик:
#/bin/bash

export LD_LIBRARY_PATH=/halflife/hlds_pub:$LD_LIBRARY_PATH
./hlds_run -game czero +ip 194.8.*.* +port 27015 +maxplayers 16 +map de_dust2 -pingbooster 1


Теперь тестируем сервер ))

Установка плагинов.

Можно ставить metamod и amxmodx:

Качаем первое и второе соответственно с www.metamod.org и www.amxmodx.org

В папке czero делаем папки для них. А именно создаем папку addons, а в ней две папки metamod и amxmodx. Копируем скачанные с интернета файлы (предварительно распакованные) в эти папки. Теперь надо заставить контру увидеть эти плагины:

Находим файл czero/liblist.gam. И заменяем в нем строку:

gamedll_linux "dlls/cs_i386.so"

на

gamedll_linux "addons\metamod\metamod_i386.so"

Metamod установлен. Теперь дело за AmxmodX:

Для этого создаем файл czero/addons/metamod/plugins.ini и в него помещаем:

linux addons/amxmodx/dlls/amxmodx_mm_i386.so


Итак, установлены Amxmodx и Metamod. Теперь необходимо их настроить под себя. Рекомендуется перезапустить сервер, и убедиться в правильности его установки.