- [L4D2] Установка и настройка сервера под Linux
- Left 4 dead 2 dedicated server linux
- Загрузка и установка HldsUpdateTool
- Загрузка сервера с использованием HldsUpdateTool
- Запуск сервера
- Запуск сервера. Содержимое исполняемого файла:
- How To Setup Left 4 Dead 2 Server on Ubuntu
- Prerequisites
- Installing SteamCMD
- Installing the Left 4 Dead 2 server
- Running the Left 4 Dead 2 server
- Conclusion
- Want to contribute?
[L4D2] Установка и настройка сервера под Linux
Во первых, начну с разговора об автоматизации, среди протестированных скриптов запуска, контроля упал ли сервер или нет, я нашел самый удобный и рабочий: Linux Game Server Managers — Quick, simple deployment and management of various dedicated game servers Linux Game Server Managers, на этой базе и будем рассматривать установку и настройку.
Обращаю ваше внимание на то, что для VDS/VPS в качестве операционной системы рекомендуется Debian, в данном руководстве я рассматриваю Debian 8 X64.
- ExtraPuTTY — для входа на сервер через протокол SSH
- WinSCP — это файловый менеджер, через который мы будем работать с файлами.
Эта библиотека нужна расширению работы с mysql базами данных dbi.mysql.ext
Нужное для корректной работы скрипта:
dpkg --add-architecture i386; apt-get update; apt-get install tmux mailutils postfix ca-certificates curl file lib32gcc1 libstdc++6 libstdc++6:i386
Для запуска серверного Daemon HLstatsX:CE необходим модуль работы с базами данных:
apt-get install libdbd-mysql-perl
Чтобы HLstatsX:CE корректно распознавала местоположение игроков устанавливаем модуль Geo :: IP :: PurePerl
wget http://search.cpan.org/CPAN/authors/id/B/BO/BORISZ/Geo-IP-PurePerl-1.25.tar.gz tar -zxf Geo-IP-PurePerl-1.25.tar.gz cd Geo-IP-PurePerl-1.25 perl Makefile.PL make make test make install
apt-get install libgeo-ip-perl
Если у вас будет использоватся параметр -debug ставим дебагер, если его не будет сервер будет просить установить:
Создаем нового пользователя с названием сервера, можно как хотите это просто для понятности, т.к. под root не безопасно и крайне не рекомендуется самой Valve, в процессе вас попросят указать пароль, если пароль одинаков с названием учетной записи то, он спрашиваться не будет.
Заходим под только созданным пользователем:
wget http://gameservermanagers.com/dl/l4d2server
Теперь заходим в WinSCP заходим под учетной записью root админа и идем в каталог /home/ и переименовываем название скрипта l4d2server в желаемое название через файловый менеджер, допустим l4d2_test_coop, и после открываем этот файл двойным кликом мыши прямо в файловом менеджере.
В открывшемся окне, в разделе # Start Variables настраиваем:
- defaultmap — это начальная карта с которой стартует сервер
- maxplayers — максимальное кол-во игроков
- port — желаемый порт сервера.
- ip — ип текущего сервера.
parms="-game left4dead2 -strictportbind -ip $ -port $ +clientport $ +map $ +servercfgfile $ -maxplayers $"
parms="-game left4dead2 -ip $ -port $ +map $ -maxplayers $ +servercfgfile $"
т.к. из-за strictportbind сервер не видно в списках игровых серверов Steam в меню игры.
Сохраняем и переходим к следующему шагу.
Запускаем установку, и следуем указаниям:
В процессе установки скрипт сам настроит SteamCMD и положит все в папку созданного нами пользователя, файлы сервера будут располагаться в папке serverfiles, steamcmd в папке steamcmd ну в общем все достаточно понятно.
Автоматический мониторинг сервера:
0 5 * * * /home/l4d2_test_coop/l4d2_test_coop monitor > /dev/null 2>&1
Теперь наш сервер каждые 5 минут проверяется, и если он зависнет или упадет то запустится вновь.
Разберем команды управления сервером:
Официальная документация тут
Запуск:
Консоль сервера:
Для выхода из консоли сервера нажмите “CTRL+b d”.
Заметка: нажатие “CTRL+c” выключает сервер.
Настройка
Для того чтобы сервер корректно отображался и к нему можно было подключится нужно добавить конфиг сервера, он называется server.cfg и содержит:
// *Server settings* // // Название сервера hostname "l4d2_coop_server" sv_lan 0 sv_region 255 // Ваш ркон пароль rcon_password "l4d2_coop_server" // Кол-во неудачных попыток перед баном IP адреса того кто пытается зайти sv_rcon_maxfailures 5 sv_search_key "l4d2_coop_server" sv_tags "теги" sv_contact "сайт или почта" // *Additional settings* // // Разрешенные режимы игры,если их несколько то через запятую без пробелов sm_cvar sv_gametypes "coop,realism" sm_cvar sv_alltalk 1 sm_cvar sv_cheats 0 // *Slot and players settings* // // Allow or disallow the wait command on clients connected to this server sm_cvar sv_allow_wait_command 0 sm_cvar sv_allow_lobby_connect_only 0 sm_cvar sv_maxplayers 4 sm_cvar sv_visiblemaxplayers 4 sm_cvar sv_force_unreserved 1
Кладем server.cfg в папку /l4d2_test_coop/serverfiles/left4dead2/cfg и пробуем запустить, на этом все, удачных экспериментов!
Left 4 dead 2 dedicated server linux
Не буду писать особое вступительное слово, а сразу перейду к делу. Будем устанавливать сервер 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, жмем ентер. Архив распакуется.
Загрузка сервера с использованием HldsUpdateTool
Настоящий файл установщика сервера будет называться ./steam . Его нужно запустить с параметрами -command update –game left4dead2 . Дополнительно можно указать папку, в которую мы хотим установить наш сервер -dir <путь>. (Об этом можно почитать в теме установка и настройка выделенного сервера L4D под Windows).путь>
Процесс скачивания и установки сервера довольно долгий. (Чтобы прервать процесс, используйте комбинацию Ctrl+C. Возобновить загрузку можно по-идее той же командой).
Рассмотрим команду подробнее:
Ее синтаксис такой: ./steam -command [параметры] [флаги]
Команды:
-command update – установить/обновить сервер
-command version – посмотреть установленные версии
-command list – посмотреть доступные игры
Параметры:
-game – установить сервер игры
-dir – указать путь к каталогу, куда требуется установить сервер. Если каталог не будет указан, сервер будет установлен в последний активный каталог
-username – имя пользователя в Стиме (только для ограниченного контента)
-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. Здесь все делается точно так же.
Запуск сервера
Добрались до запуска. Запускается сервер исполняемым файлом srcds_run в папке ~/hlds/left4dead2/ . То-есть, мы переходим в эту папку и запускаем этот файл с параметрами, которые считаем нужными.
Command-line параметры:
-autoupdate Сервер будет искать обновления (Linux/Unix only). -debug Debug режим. -dev Показывать сообщения разработчика. -game
Консольные переменные
+ Устанавливает Cvar (или console variable) определенной настройки. Некоторые полезные переменные:
+hostname «Server Name» Имя сервера. +ip Указывает IP если установлено несколько сетевых карт (Устаревшая, но работает). +map Карта, с которой начнет сервер. +maxplayers Количество слотов, которые может содержать сервер (Устаревшая, но работает). +hostport Порт хоста (Использовалась раньше вместо -port, но можно использовать). +clientport Указывает порт клиента +sv_lan Если 1, сервер буден доступен только в локальной сети (LAN).
Командные параметры Linux в Left 4 Dead (2)
Linux сервер имеет возможность запускать несколько серверов сразу и использовать для них разные настройки. Например, если вы укажете +exec autoexec##.cfg , то первый сервер выполнит autoexec01.cfg , второй autoexec02.cfg , и т.д.
На самом деле рекомендуется указывать +servercfgfile mycustom.cfg, потому как с параметром +exec конфиг подгружается до загрузки плагинов, а в данном случае – после. А это чревато не выполнением команд плагинов из файла конфига.
-netconport <число>– Создает доступную удаленно консоль сервера на следующем порту. Может использоваться с приложениями типа telnet, и позволяет вводить команды так, будто в консоличисло>
-netconpassword «пароль» – если указана, пользователю нужно будет ввести PASS «пароль», чтобы использовать удаленную консоль
-fork <число>– за раз запускает несколько серверов. Каждый будет иметь доступный порт от 27015 и выше.Теперь можно просто создать пару исполняемых файлов на запуск и обновление сервера и запускать их в терминале.число>
Запуск сервера. Содержимое исполняемого файла:
echo «Starting left4dead2 server»
cd ~/Gameserver/left4dead2 -port 27015 +map c1m1_hotel +ip 192.168.56.101
Здесь +ip 192.168.56.101 – это ip адрес моей второй сетевой карты, на которой должен крутиться сервер.
echo «Starting left4dead2 server»
cd ~/Gameserver/
./steam -command update -game «left4dead2» -dir . -verify_all -retry
Остановить сервер можно командами exit или quit Далее настраиваем Sourcemod и Metamod на нашем сервере точно так же как описано в соответствующей статье. Вперед за нужными плагинами!
How To Setup Left 4 Dead 2 Server on Ubuntu
In this tutorial, you will learn how to setup a Left 4 Dead 2 server on Ubuntu. This guide was tested on Ubuntu server 15.10.
Prerequisites
- Update the packages: sudo apt-get update
- Upgrade the packages: sudo apt-get upgrade
- Install the required packages: sudo apt-get install lib32gcc1 libc6-i386
- Create a new user called «steam»: sudo adduser steam (this is for security purposes)
Installing SteamCMD
- Login to the newly created user: su steam
- Get out of the current directory: cd ..
- Go into the «steam» user directory: cd steam
- Download SteamCMD: wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
- Unzip SteamCMD: tar -xvzf steamcmd_linux.tar.gz
- Run SteamCMD: ./steamcmd.sh
Installing the Left 4 Dead 2 server
- Login to the Steam servers: login anonymous
- Set the install directory: force_install_dir ./l4d2/
- Download the L4D2 server files: app_update 222860 validate (the download may take some time)
Running the Left 4 Dead 2 server
- Exit out of SteamCMD: exit
- Go into the L4D2 server folder: cd l4d2
- Run the game server: screen ./srcds_run +ip YOURSERVERIP -port 27015 +map c1m4_atrium -secure
In this step, you can replace the map with any desired map.
Conclusion
Congratulations! You now have a working instance of L4D2 running! To connect to your server, launch the L4D2 game client, open up the developer console and type connect 1.2.3.4 (replace 1.2.3.4 with the IP address of your server).
Want to contribute?
You could earn up to $600 by adding new articles.