Установка сервера CS 1.6 на Linux с помощью steamCMD

Для создания сервера Counter-Strike 1.6 понадобится сервер с минимум 1 ядром, 1 гигабайтом оперативной памяти и 10 гигабайтами дискового пространства. Само программное обеспечение занимает примерно 2 гигабайта. В этой статье пошагово разберём, как сделать такой сервер.

Доступы и начальные приготовления

Для начала необходимо заказать сервер с перечисленными параметрами. Рекомендуем сделать у нас: "Заказать VPS". В качестве операционной системы используем Debian (или Ubuntu). На дистрибутивах Linux игровые серверы будут работать быстрее, чем на Windows (в подавляющем большинстве случаев все серверы работают на Linux из за его стабильности и меньшем потреблении ресурсов, по сравнения с Windows).

После покупки сервера Вы получите доступы к серверу: логин (root) и пароль. Зайдите на сервер через ssh. Если работаете на windows, то используйте клиент PuTTY. Если вы работаете на дистрибутивах Linux, то откройте консоль и используйте команду "ssh root@ip_адрес_сервера", чтобы подключиться к серверу с логином root.

После получения доступа к серверу необходимо первым делом выполнить команду для обновления уже установленного программного обеспечения от лица root пользователя и добавить стандартные пакеты:
apt-get update
apt-get -y install htop
apt-get -y install screen
apt-get -y install nano
apt-get -y install sudo
apt-get -y install wget
После чего можно приступить к установке 32 разрадной библиотеки, без которой steamcmd не будет работать.
sudo apt install lib32stdc++6

Создание пользователя в Linux

На серверах крайне не рекомендуют запускать игровые (и иные) приложения от лица суперпользователя (root). Потому что при появлении уязвимости в приложении, которое запущено из-под root пользователя, злоумышленник может получить полный доступ к системе. Лучше создать пользователя с меньшими правами и запускать игровой сервер из-под него. Для этого зайдите на сервер через консоль, в учётную запись root. И создайте нового пользователя командой:
sudo useradd -m steam
В нашем случае пользователь будет иметь имя "steam". Ключ "-m" в команде означает, что будет создан домашний каталог /home/steam/. Теперь введём команду, чтобы перейти из сеанса суперпользователя в пользователя "steam":
su - steam
Перейдём к загрузке нужного ПО.
Рекомендуем ознакомиться со статьёй "Загрузка файлов на сервер с помощью FileZilla", в которой описан процесс работы с программой, которая может загрузить файл с вашего компьютера на сервер. А так же с одной из статей, описывающих редактор файлов на сервере: "Средство разработки: Notepad++" или "Средство разработки: Atom"

Загрузка сервера CS 1.6 на Linux через steamCMD

Создадим директории для загрузки программного обеспечения в домашней папке пользователя "steam", то есть в /home/steam/
mkdir ~/steamcmd && mkdir ~/steamcmd/cs16
Войдём в первую созданную директорию:
cd ~/steamcmd
Скачиваем в эту директорию архив с steamCMD, используя команду:
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
Распакуем скачанный архив командой:
tar xvfz *.tar.gz
Теперь создадим небольшой скрипт, который будет автоматически обновлять сервер игры. Назовём его "updateCS16.sh". Для создания этого скрипта можно выполнить такую команду:
echo "STEAMEXE=steamcmd ./steamcmd.sh +login anonymous +force_install_dir /home/steam/steamcmd/cs16 +app_update 90 validate +quit" > updateCS16.sh
Теперь необходимо разрешить выполнение этого файла. Делается это такой командой:
chmod +x updateCS16.sh
Всё готово. Теперь попробуем запустить наш скрипт. Он загрузит и установит сервер CS 1.6. Весь процесс займёт примерно 20 минут.
./updateCS16.sh

Запуск сервера CS 1.6

Сделаем предварительную небольшую настройку, которая поможет серверу загрузить steamclient.so. Для этого выполним следующие команды:
cd /home/steam/.steam/
mkdir sdk32
ln -s /home/steam/steamcmd/linux32/steamclient.so /home/steam/.steam/sdk32/
Теперь перейдём в папку с сервером:
cd /home/steam/steamcmd/cs16
Создадим скрипт для запуска классического сервера в фоновом режиме. Назовём файл скрипта для запуска сервера "start.sh". Создать этот скрипт можно следующей командой:
printf '#!/bin/sh \n./hlds_run -game cstrike -console +ip 256.256.256.256 +maxplayers 32 +map de_dust2 -secure -sv_lan 0 -autoupdate -port 27015 > /dev/null 2>&1 &' > start.sh
В этой команде вместо ip адреса "256.256.256.256" необходимо ввести внешний (белый) ip адрес вашего сервера.

После создания файла "start.sh" необходимо дать ему права для запуска, используя команду:
chmod +x start.sh
Всё готово. Можно запускать сервер. Для этого выполним команду:
./start.sh
В будущем можно будет использовать эту команду для запуска игрового сервера в фоновом режиме:
cd /home/steam/steamcmd/cs16 && ./start.sh
Но не забудьте, что запускать сервер стоит из-под пользователя "steam", а не из-под "root" .

Чтобы остановить сервер, необходимо убить процесс "hlds_linux". В консоли введите команду "top", появится список запущенных на сервере процессов. В первой колонке, под название "PID" будет стоят уникальный номер процесса. Необходимо найти процесс с значением в последнем столбце "COMMAND" равным "hlds_linux" и убить процесс, используя команду:
kill 1234
Где вместо 1234 подставьте PID процесса.

Конфигурация сервера CS 1.6 через файл server.cfg

Создадим файл конфигурации сервер с названием "server.cfg" в папке "/home/steam/steamcmd/csgo/csgo/cfg/". Теперь откроем файл в текстовом редакторе Nano и вставим в него следующее содержание. Для этого выполним команду:
nano /home/steam/steamcmd/cs16/cstrike/server.cfg
Добавим в содержание файла строку "rcon_password" и изменим название сервера в "hostname":
// Use this file to configure your DEDICATED server.
// This config file is executed on server start.

// disable autoaim
sv_aim 0

// disable clients' ability to pause the server
pausable 0

// default server name. Change to "Bob's Server", etc.
hostname "MouseDC.RU cs 1.6 server"

// maximum client movement speed
sv_maxspeed 320

// 20 minute timelimit
mp_timelimit 20

sv_cheats 0

rcon_password "12345678901" // пароль команды rcon, после которой можно выполнять серверные команды

// load ban files
exec listip.cfg
exec banned.cfg
Зная пароль, указанный в rcon_password, вы сможете отправлять любую команду на сервер, чтобы управлять процессом игры. К примеру, изменять карту или банить пользователей.

Осталось только добавить пару файлов, чтобы при запуске сервера не возникало ошибок. Их можно создать следущими командами:
touch /home/steam/steamcmd/cs16/cstrike/listip.cfg
touch /home/steam/steamcmd/cs16/cstrike/banned.cfg
Можно запускать сервер и пытаться подключиться к нему из клиента игры по ip адресу, используя команду в консоли клиент "connect 256.256.256.256" (вместо 256.256.256.256 вставьте ip адрес своего сервера).
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Была ли эта статья полезна? Есть вопрос?
Cмотрите другие статьи: