Установка сервера Team Fortress 2 на Linux с помощью steamCMD

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

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

Для начала необходимо заказать сервер с перечисленными параметрами. Рекомендуем сделать у нас: "Заказать 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"

Загрузка сервера Team Fortress 2 на Linux через steamCMD

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

Создание токена для Team Fortress 2

По текущим правилам платформы Steam невозможно создать сервер Team Fortress 2 без специального пароля-токена. Для этого необходимо следовать инструкции на этой странице: steamcommunity.com/dev/managegameservers. Создание токена возможно только на аккаунте с подтверждённым номером телефона. Подтвердить свой номер телефона можно через SMS код в настройках профиля Steam.

Запуск сервера Team Fortress 2

Сделаем предварительную небольшую настройку, которая поможет серверу загрузить steamclient.so. Для этого выполним следующие команды:
cd /home/steam/.steam/
mkdir sdk32
ln -s /home/steam/steamcmd/linux32/steamclient.so /home/steam/.steam/sdk32/
Теперь перейдём в папку с сервером:
cd /home/steam/steamcmd/tf2
Создадим скрипт для запуска классического сервера в фоновом режиме. Назовём файл скрипта для запуска сервера "start.sh". Создать этот скрипт можно следующей командой:
printf '#!/bin/sh \n./srcds_run -console -game tf +map cp_dustbowl -maxplayers 16 > /dev/null 2>&1 &' > start.sh
После создания файла "start.sh" необходимо дать ему права для запуска, используя команду:
chmod +x start.sh
Всё готово. Можно запускать сервер. Для этого выполним команду:
./start.sh
В будущем можно будет использовать эту команду для запуска игрового сервера в фоновом режиме:
cd /home/steam/steamcmd/tf2 && ./start.sh
Но не забудьте, что запускать сервер стоит из-под пользователя "steam", а не из-под "root" .

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

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

Создадим файл конфигурации сервер с названием "server.cfg" в папке "/home/steam/steamcmd/tf2/tf/cfg/". Теперь откроем файл в текстовом редакторе Nano и вставим в него следующее содержание. Для этого выполним команду:
nano /home/steam/steamcmd/tf2/tf/cfg/server.cfg
Изменим в содержании файла строку "rcon_password". Зная пароль, указанный в rcon_password, вы сможете отправлять любую команду на сервер, чтобы управлять процессом игры. К примеру, изменять карту или банить пользователей. Также изменим в этом файле название сервера, которое находится напротив "hostname".

Можно запускать сервер и пытаться подключиться к нему из клиента игры по ip адресу, используя команду в консоли клиент "connect 256.256.256.256" (вместо 256.256.256.256 вставьте ip адрес своего сервера).
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб

⇡ наверх