Как создать сервер TF2

Игровые сервера  /   /  От: Extrim25  /  717 просмотров
Как вам статья?

Многие проводя многочисленные часы в Team Fortress 2 сами или с друзьями порой задумывались о поднятии своего сервера. Для игры с друзьями, создания своего игрового проекта (со своими модами, админкой и конфигами) или просто попробовать и пощупать, чтобы понять как это делается. В этой статье я расскажу вам, как создать сервер TF2 при помощи SteamCMD и базово настроить его.

Я буду рассказывать на примере OS Debian 7 версии 64 разрядная. Вообще сейчас все слегка усложнилось по сравнению с тем как было ранее (2008-2009) год. Тогда было достаточно скачать исполняемый .bin файл и запустить его с параметрами, и через 20-30-40 мин. (в зависимости от скорости интернет-соединения) у вас на сервере уже находился скачанный сервер, той же tf2, к примеру. Но и сейчас процедура не шибко тяжелая. Нам потребуется 5,7 гб памяти на жестком диске, и *желательно* базовые знания о принципах управления файлами и папками при помощи консоли (для лучшего понимания какая папка и где создалась).

1. Обновляем системные пакеты.

Это необходимо чтобы получить из репозиториев последнюю версию необходимых библиотек. Выполняем команду:

  • 1.
    apt-get update
  • 2.
    apt-get upgrade

2. Установка дополнительных библиотек.

Для полноценного запуска утилиты выделенного сервера на системах под архитектурой х64 нам потребуются дополнительные библиотеки. Для 32 разрядных данный пункт не имеет необходимость. Проверить разрядность своей системы можно при помощи команды:

uname -a

Для 64 битных систем ее вывод будет примерно следующим:

Linux Debian-78-wheezy-64-minimal 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux

После того как мы определились нужна нам библиотека или нет, выполняем следующую команду:

  • 1.
    apt-get install lib32gcc1
Имеем:

Установка библиотеки lib32gcc1 Debian

Соглашаемся, после чего происходит установка пакета. Теперь переходим к моментам безопасности.

3. Добавление пользователя в систему, от которого будет производиться установка и обслуживание сервера.

Как правило, вы заходите в систему под логином root. Это суперюзер, который имеет право делать ЧТО УГОДНО с файлами сервера. По-этому, если внезапно через ваш сервер, запущенный от логина root, будет найдена брежь в коде программы или плагинов, и злоумышленник получит доступ к выполнению команд от этого пользователя, он может точно так же сделать что угодно. От полного удаления файлов, до редактирования конфигурации и использования вашей машины в своих целях. Именно для этого мы создадим отдельного пользователя, который будет запускать наши сервера и который не будет иметь доступа ни к чему другому, кроме файлов сервера team fortress 2.

Выполняем следующую команду, которая добавит пользователя с логином server:

  • 1.
    adduser server

В самом начале вас попросит ввести два раза пароль. Сам пароль видно не будет. После этого попросят ввести различную информацию (Имя, Телефон и прочее), этого можно не делать просто нажимая Enter и оставляя поля пустыми. После всего этого подтверждаем введенную информацию вводя «Y» и жмем ентер. Все, пользователь создан.

Добавление пользователя для SRCDS

Как видно из вывода консоли, его домашняя директория /home/server. Если вы хотите, чтобы добавляемый пользователь имел другую домашнюю директорию:

  • 1.
    useradd –d /путь_к_директории
Если нужно изменить директорию существующего пользователя:
  • 1.
    usermod -d /путь_к_новой_директориилогин

4. Входим под новым пользователем из под root. Скачивание и установка SteamCMD.

Теперь мы можем зайти под нашим пользователем либо открыв новую SSH-сессию и ввести его имя и пароль, либо же прямиком через уже открытую сессию:

  • 1.
    su server
Переходим в нашу домашнюю директорию:
  • 1.
    cd /home/server
Создаем отдельную директорию для steamcmd и переходим в нее:
  • 1.
    mkdir steamcmd
  • 2.
    cd steamcmd
Скачиваем и распаковываем архив с steamcmd (устанавливаем содержимое):
  • 1.
    wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
  • 2.
    tar -xvzf steamcmd_linux.tar.gz
Видим примерно следующее:

Скачивание SteamCMD

5. Запуск, логин в SteamCMD. Конфигурирование и начало скачки сервера.

Для запуска в том же каталоге набираем команду:

  • 1.
    ./steamcmd.sh
Видим, что пошел процесс ее обновления:

Обновление SteamCMDПосле пред нами предстает уже запущенная программа, которая встречает надписью Steam>. Логинимся как аноним:

  • 1.
    login anonymous
Большинство серверов скачивается в анонимном режиме, но бывает, что для скачки нужен аккаунт в Steam. В этом случае выполняем команду
  • 1.
    login <логин>
Далее вводим пароль. Если включен Steam Guard, то ждем письмо на указанную почту. Одновременно можно быть залогиненым и на вашем компьютере и на сервере, но Valve рекомендуют для серверов создавать отдельные аккаунты.

Переходим к определению директории установки сервера:

  • 1.
    force_install_dir /home/server/tf2
И наконец, скачивание (и проверка скачанных файлов) сервера:
  • 1.
    app_update 232250 validate
Видим общее состояние и процент загруженного:

Процесс скачивания сервера Team Fortress 2

После фразы «Success! App ‘232250’ fully installed» мы можем вводить в консоль quit, тем самым выходя из SteamCMD.

В дальнейшем можно использовать более короткую команду:

  • 1.
    ./steamcmd.sh +login anonymous +force_install_dir /home/server/tf2 +app_update 232250 +quit

Или настроить запуск следующего скрипта:

  • 1.
    // tf2_update.txt
  • 2.
    //
  • 3.
    @ShutdownOnFailedCommand 1 //set to 0 if updating multiple servers at once
  • 4.
    @NoPromptForPassword 1
  • 5.
    login <username> <password>
  • 6.
    //for servers which don't need a login
  • 7.
    //login anonymous
  • 8.
    force_install_dir /home/server/tf2
  • 9.
    app_update 740 validate
  • 10.
    quit
Выполнив его командой:
  • 1.
    ./steamcmd.sh +runscript tf2_update.txt

6. Запуск сервера.

Переходим в папку со скачанным сервером:

  • 1.
    cd /home/server/tf2
Теперь мы можем запустить сервер:
  • 1.
    ./srcds_run -console -game tf +map cp_dustbowl -maxplayers 16
Сервер успешно запустился:

Запуск TF2 сервера

 

И доступен из вне:

Статистика ТФ2 сервера

7. Возможные ошибки.

steamcmd: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory:

  • 1.
    apt-get install lib32stdc++6
The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable E: Unable to correct problems, you have held broken packages:
  • 1.
    dpkg --add-architecture i386
  • 2.
    apt-get update
  • 3.
    apt-get install lib32gcc1
Login Failure: No Connection:
  • 1.
    iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
  • 2.
    iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll:
  • 1.
    ln -s steamcmd/linux32/steamclient.so ~/.steam/sdk32/steamclient.so
На этом данный туториал о том как поднять сервер tf2 (team fortress 2) окончен. Далее мы рассмотрим как сделать так, чтобы сервер запускался в фоновом режиме, а так же его дальнейшую настройку. Stay tuned.

ОБРАТИТЕ ВНИМАНИЕ

Reign of Kings: как создать...

Как создать свой сервер в...

Как вам статья? ...