Мануал по поднятию CS 1.6 сервера под Linux, (c) сделано dcsk специально для c-s.net.ua |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
|
Мануал по поднятию CS 1.6 сервера под Linux, (c) сделано dcsk специально для c-s.net.ua |
dcsk
|
8.4.2007, 13:18
Сообщение
|
|
|
Первое - давайте учить матчасть.
1. Что мы будем использовать для работы с серваком? Первое: шелл клиент. 1.1.1 Если вы уж привыкли к виндам, то милости просим в WinSCP. Он предлагает фактически уникальную возможность заливки/выливки файлов через ssh. Это очень удобно т.к. например у меня на сервере нет фтп. 1.1.2 Нам все-таки нужен нормальный консольный клиент. Довольно удобно в связке с WinSCP работает PuTTY. Краткий список команд шелла который вам может понадобится: Код vi [filename] - ясно :) mkdir [dirname] - делаем директорию cd [dir] - переходим в дир. mv - (move) - передвигать файлы cp - (copy) - копировать rm (-rf) [dir] - команда удаления. Рекомендую если удаляем директорию, то использовать ключи -rf для рекурсивного удаления (r) и игнорирования всех ошибок и вопросов(f). chmod - изменение прав на запуск. Если коротко, то делайте 777 и не ошибетесь. Опять-таки используем ключ -R (именно большая) для рекурсивного удаления. chown - изменение владельца. Вроди все. ) Согласитесь, теперь перед нами стоит вопрос чем редактировать файлы? 1.2.1 Если вы выбрали WinSCP, то в принципе это не проблема - там есть встроеный редактор файлов. Но если все-таки вы выбрали шелл, то: 1.2.2 Vi - Выбор настоящих админов. Другое дело что его понять - не один день. На его тему есть даже шутка - "Vi имеет два режима работы - бибикать и все портить". В принципе не рекомендую. Итак, будем считать что первый пункт пройден - и мы таки зашли на сервер и готовы его мучать. To be continued.... |
Поблагодарили 10 раз
|
|
dcsk
|
8.4.2007, 14:11
Сообщение
|
|
|
PS забыл картинки... Ловите...
Прикрепленные файлы:
|
Поблагодарили 3 раз
|
|
dcsk
|
8.4.2007, 14:53
Сообщение
|
|
|
2.1 давайте сделаем нового юзера для запуска серверов(потому что запускать под рутом ето изврат)
Код useradd games У меня он называется геймс, хотя можно назвать как хотите :) 2.2 Ставить сервак я буду в /usr/games/hlds_dm (т.к. как раз нужен ЦСДМ сервак :)) ) Код stp-b:~# mkdir /usr/games/hlds_dm stp-b:~# chown games:games /usr/games/hlds_dm stp-b:~# cd /usr/games/hlds_dm/ Под рутом ясное дело. 2.3 После чего нам его права уже не понадобятся Код su games Итак, скачиваем наш сервак с оффа. Код stp-b:/usr/games/hlds_dm# wget http://storefront.steampowered.com/download/hldsupdatetool.bin 2.4 Даем файлу права на исполнение и выполняем его Код chmod +x hldsupdatetool.bin Код ./hldsupdatetool.bin Так как нам наплевать на вальв и его соглашения, то вводим yes :) После чего лично у меня вышли такие 2 последние строчки: Код Enter 'yes' to accept this agreement, 'no' to decline: yes extracting steam.tar.Z...done Если у вас не такое - то лучше задайте вопрос что сделали не так. 2.5 У нас после етого появился файлик 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 <game> -dir <installdir> <game> "cstrike", "dmc", "dod", "ricochet", "tfc", "valve", "Counter-Strike Source", or "hl2mp" <installdir> 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 <game> e) You can also install multiple copies of the server by specifying a different <installdir>. 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: http://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: http://www.steampowered.com/forums http://list.valvesoftware.com/mailman/listinfo Мой совет - сделать такую команду: Код rm hldsupdatetool.bin&&rm readme.txt Все равно ети 2 файла нам не понадобятся. 2.6 Ура, мы таки дошли до забирания будущего нашего сервера с вражеской територии. :) 2.6.1 Забираем файлы , которые надо стиму: Код ./steam Теперь можно ознакомится с тем что оно может. Код stp-b:/usr/games/hlds_dm# ./steam Checking bootstrapper version ... Use: steam -command <command> [parameters] [flags] Commands: update: Install or update HLDS parameters: -game <game> - Game name: use 'list' to see available games -dir <installdir> - HLDS Install dir (if dir not specified, will use value from last run of tool) flags: -verify_all - Verify all HLDS files are up to date -retry - Automatically retry every 30 seconds if the Steam Network is busy -remember_password - Remember password (if a username is supplied) For example: steam -command update -game cstrike -dir /hlds version: View installed versions list: View available games Optional parameters for all commands: -username <username> - Steam account username (only needed to access limited content) -password <password> - Steam account password (only needed to access limited content) 2.6.2 Забираем сам сервер: Код stp-b:/usr/games/hlds_dm# ./steam -command update -game cstrike -dir /usr/games/hlds_dm/ После чего можно попить чай - в зависимости от канала сервера. Код Downloading: /usr/games/hlds_dm/\valve\valvecomm.lst Downloading: /usr/games/hlds_dm/\valve\violence.cfg Downloading: /usr/games/hlds_dm/\valve\xeno.wad HLDS installation up to date stp-b:/usr/games/hlds_dm# У меня процесс закончился так. Теперь у нас есть работающий СТИМ цс 1.6 сервер. Код stp-b:/usr/games/hlds_dm# vi /usr/games/hlds_dm/cstrike/server.cfg И настраиваем под себя.Список настроек: Код 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) 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 в ярлыке запуска) (с) перто Ну и не забываем пропатчить наш сервер под ностим Цитата Для тех, у кого сервера на Linux, сделал нормальный патч (на Питоне) на основе своего старого nowon патча, который плюс к тому же исправляет некоторые дополнительные вещи: Исправляет работу в режиме LAN без использования Steam (так называемый no-WON patch) (нужен например, если у пользователей попросту нет Интернета), а также исправляет работу последних версий Cheating Death. Также я выключил дурацкое сообщение "NET_SendPacket ERROR:" которое у меня частенько выводится из-за того, что центральный сервер Valve недоступен из нашей локальной сети. Работает для библиотек engine_XXX.so, включая engine_amd64.so для версий начиная как минимум с версии 16 (Февраль 2005) вплоть до Linux Server Engine version 29 (Январь 2006), и с большой вероятностью будет работать для следующих версий (пока Valve опять что-нибудь не придумает чтобы усложнить жизнь честным пользователям). Большое спасибо Hand за то, что сделал самую сложную часть работы (а именно, нашел конкретные места с проверками) :-) Также в архиве есть скрипт steam_update, который обновляет в автоматическом режиме сервер через STEAM, тут есть такая тонкость, что перед обновлением неплохо бы восстановить первоначальное содержимое файлов engine_XXX.so, иначе он их скачивает по новой. Ну а после обновления, естественно, он их обратно исправляет (уже новые версии). Инструкция по эксплуатации внутри скриптов :-) (в кодировке 1251, уж такую я кодировку у себя в Linux использую, и другим рекомендую). Сам патч в аттаче. О запуске и донастройке расскажу в следующей части ;)
Прикрепленные файлы:
|
Поблагодарили 13 раз
|
|
dcsk
|
25.4.2007, 15:12
Сообщение
|
|
|
Скинь, интересно...
А то реально неудобно при 3 серверах на одной машине. |
|
|
|
Sobig
|
26.4.2007, 7:58
Сообщение
|
![]() |
|
|
|
|
CrazyFool
|
1.6.2007, 16:41
Сообщение
|
![]() |
|
|
|
|
dcsk
|
8.6.2007, 23:42
Сообщение
|
|
|
Код yum install uncompress попробуй, у тебя просто архиватора нет.
|
|
|
|
dcsk
|
11.6.2007, 18:39
Сообщение
|
|
|
/etc/rc.d/
Не в кронтаб, а лучше в автозапуск. =) |
|
|
|
Shift
|
20.6.2007, 8:48
Сообщение
|
|
|
Где можно скачать CS 1.6 под Debian 3.1(i386) в UA-IX.
ЗЫ: Комп с дебианом не подключен к инету... Что делать в таком случае? |
|
|
|
Shift
|
20.6.2007, 8:58
Сообщение
|
|
|
|
|
|
|
![]() ![]() |