Не буду писать особое вступительное слово, а сразу перейду к делу. Будем устанавливать сервер L4D 2 на Linux. Вот и виртуальную машину подготовил с Ubuntu 10.10 на борту. Linux сервер L4D 2 ставлю впервые, значит будем пробовать это сделать вместе. :)
Загрузка и установка HldsUpdateTool
Для начала нам нужно убедиться, что у нас есть пакет ia32-libs, если мы используем x64. Итак, открываем терминал. Вводим туда sudo apt-get update, а затем sudo apt-get install ia32-libs. У меня x86, делать этого не буду.
Теперь нам нужно выбрать или создать папку для нашего сервера. Создадим ее выполнив команду mkdir hlds. И перейдем в нее cd hlds. В строке отбразится ~/hlds$
Теперь загрузим файл сервера на компьютер в эту папку.
Выполняем wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Далее установим на файл право на выполнение chmod +x hldsupdatetool.bin и запустим его ./hldsupdatetool.bin. На соглашение мы ответим yes, жмем ентер. Архив распакуется.
Выполняем wget http://storefront.steampowered.com/download/hldsupdatetool.bin
Далее установим на файл право на выполнение chmod +x hldsupdatetool.bin и запустим его ./hldsupdatetool.bin. На соглашение мы ответим yes, жмем ентер. Архив распакуется.
Загрузка сервера с использованием HldsUpdateTool
Настоящий файл установщика сервера будет называться ./steam. Его нужно запустить с параметрами -command update –game left4dead2. Дополнительно можно указать папку, в которую мы хотим установить наш сервер -dir <путь>. (Об этом можно почитать в теме установка и настройка выделенного сервера L4D под Windows).
./steam -command update -game left4dead2 –dir ./Gameserver
Процесс скачивания и установки сервера довольно долгий. (Чтобы прервать процесс, используйте комбинацию Ctrl+C. Возобновить загрузку можно по-идее той же командой).
Рассмотрим команду подробнее:Ее синтаксис такой: ./steam -command <команда> [параметры] [флаги]
Команды:
-command update – установить/обновить сервер
-command version – посмотреть установленные версии
-command list – посмотреть доступные игры
Параметры:
-game <game> – установить сервер игры <game>
-dir <installdir> – указать путь к каталогу, куда требуется установить сервер. Если каталог не будет указан, сервер будет установлен в последний активный каталог
-username <username> – имя пользователя в Стиме (только для ограниченного контента)
-password <password> - пароль аккаунта в Стиме
Флаги:
-remember_password – запомнить пароль, если он был указан
-verify_all – проверить обновление всех файлов HLDS
-retry – новая попытка через 30 секунд, если сервера Стим заняты
После установки мы выполним проверку недостающих файлов и обновлений.
Выполним команду ./steam -command update -game left4dead2 -verify_all –retry
На самом деле без проблем не обошлось, т.к. обновление пришлось прервать, а по возобновлению процесс подвисал и не хотел заканчиваться. В таких случаях рекомендуют зайти в скрытую папку ~/.steam и удалить там ClientRegistry.blob. Пишут, что проблема возможна из-за загруженности серверов Valve. (Так или иначе, сервер запустился и заработал. Поэтому пришлось смириться с зависанием проверки обновления).
В конце концов мы получаем почти готовый сервер. Осталось его сконфигурировать. Конфиг файл сервера находится по пути ~/hlds/Gameserver/left4dead2/left4dead2/cfg/server.cfg. Его нужно будет предварительно создать. Примерное содержание файла можно посмотреть в теме Установка и настройка выделенного сервера L4D под Windows. Здесь все делается точно так же.
На самом деле без проблем не обошлось, т.к. обновление пришлось прервать, а по возобновлению процесс подвисал и не хотел заканчиваться. В таких случаях рекомендуют зайти в скрытую папку ~/.steam и удалить там ClientRegistry.blob. Пишут, что проблема возможна из-за загруженности серверов Valve. (Так или иначе, сервер запустился и заработал. Поэтому пришлось смириться с зависанием проверки обновления).
В конце концов мы получаем почти готовый сервер. Осталось его сконфигурировать. Конфиг файл сервера находится по пути ~/hlds/Gameserver/left4dead2/left4dead2/cfg/server.cfg. Его нужно будет предварительно создать. Примерное содержание файла можно посмотреть в теме Установка и настройка выделенного сервера L4D под Windows. Здесь все делается точно так же.
Запуск сервера
Добрались до запуска. Запускается сервер исполняемым файлом srcds_run в папке ~/hlds/left4dead2/. То-есть, мы переходим в эту папку и запускаем этот файл с параметрами, которые считаем нужными.
./srcds_run +hostport 27015 +map c1m1_hotel -game left4dead2 -ip 10.10.10.10
Command-line параметры:
- -autoupdate
- Сервер будет искать обновления (Linux/Unix only).
- -debug
- Debug режим.
- -dev
- Показывать сообщения разработчика.
- -game <game or path>
- Определяет игру для запуска. Либо путь к gameinfo.txt, или одно из этих значений.
- -insecure
- Запустит сервер без Valve Anti-Cheat.
- -ip
- Задает адрес, используемый для связывания (2) системных вызовов, которые контролируют возможность подключится по заданному адресу. Должен указываться либо локальный адрес (адрес, на котором работает сервер), либо 0.0.0.0. Это не имеет ничего общего с внешне-видимыми адресами в NAT настройках.
- -maxplayers <number>
- Количество игровых слотов сервера.
- -nobots
- Без ботов.
- -nohltv
- Отключить SourceTV и закрыть его порт (обычно 27020).
- -norestart
- Не будет пытаться рестартовать сервер.
- -port
- Порт сервера.
- -timeout <number>
- Таймаут <number> сек. перед перезапуском сервера.
- +<console variable> <arg>
- Устанавливает Cvar (или console variable) определенной настройки.
- +hostname "Server Name"
- Имя сервера.
- +ip
- Указывает IP если установлено несколько сетевых карт (Устаревшая, но работает).
- +map <map>
- Карта, с которой начнет сервер.
- +maxplayers <number>
- Количество слотов, которые может содержать сервер (Устаревшая, но работает).
- +hostport <port>
- Порт хоста (Использовалась раньше вместо -port, но можно использовать).
- +clientport <port>
- Указывает порт клиента
- +sv_lan <0/1>
- Если 1, сервер буден доступен только в локальной сети (LAN).
Командные параметры Linux в Left 4 Dead (2)
Linux сервер имеет возможность запускать несколько серверов сразу и использовать для них разные настройки. Например, если вы укажете +exec autoexec##.cfg, то первый сервер выполнит autoexec01.cfg, второй autoexec02.cfg, и т.д.
Linux сервер имеет возможность запускать несколько серверов сразу и использовать для них разные настройки. Например, если вы укажете +exec autoexec##.cfg, то первый сервер выполнит autoexec01.cfg, второй autoexec02.cfg, и т.д.
На самом деле рекомендуется указывать +servercfgfile mycustom.cfg, потому как с параметром +exec конфиг подгружается до загрузки плагинов, а в данном случае – после. А это чревато не выполнением команд плагинов из файла конфига.
-netconport <число> – Создает доступную удаленно консоль сервера на следующем порту. Может использоваться с приложениями типа telnet, и позволяет вводить команды так, будто в консоли
-netconpassword "пароль" – если указана, пользователю нужно будет ввести PASS "пароль", чтобы использовать удаленную консоль
-fork <число> – за раз запускает несколько серверов. Каждый будет иметь доступный порт от 27015 и выше.Теперь можно просто создать пару исполняемых файлов на запуск и обновление сервера и запускать их в терминале.
Запуск сервера. Содержимое исполняемого файла:
#!/bin/sh
echo "Starting left4dead2 server"cd ~/Gameserver/left4dead2 -port 27015 +map c1m1_hotel +ip 192.168.56.101
#!/bin/sh
echo "Starting left4dead2 server"cd ~/Gameserver/
./steam -command update -game "left4dead2" -dir . -verify_all -retry
Остановить сервер можно командами exit или quit
Далее настраиваем Sourcemod и Metamod на нашем сервере точно так же как описано в соответствующей статье. Вперед за нужными плагинами!