Настройка сервера Team Fortress 2 в Arch Linux

В этом руководстве объясняется, как настроить сервер Team Fortress 2 в Arch Linux. Я предполагаю, что вы вошли в систему с учетной записью без полномочий root, у которой есть доступ sudo. В этом руководстве для сборки пакетов используется AUR, и эту операцию не следует выполнять с учетной записью root.

Прежде чем вы начнете

Очень важно, чтобы у вас был multilibвключен репозиторий, если и только если вы находитесь на 64-битном (amd64) сервере. Если он не включен, SteamCMD не может запуститься, и вы даже не можете загружать файлы сервера. Для этого вы должны раскомментировать следующие строки в /etc/pacman.conf.

[multilib]
Include = /etc/pacman.d/mirrorlist

Если вы используете 32-битную (i686) Arch, вы можете спокойно это игнорировать.

Установить SteamCMD

Существует пакет AUR для SteamCMD, и это один из самых простых способов установить SteamCMD на Arch. Есть несколько странных вещей об этом, хотя:

  • Все относительные пути относительно /usr/share/steamcmd.
  • Чтобы обновить сам SteamCMD, вы должны быть пользователем root.

Если вы находитесь на 64-битном сервере, вы должны установить пакет lib32-gcc-libs.

sudo pacman -Sy lib32-gcc-libs

Теперь мы должны собрать пакет. Используя curl, скачайте tarball для пакета.

curl -O http://media.steampowered.com/installer/steamcmd_linux.tar.gz

После завершения загрузки распакуйте и перейдите в созданный каталог.

tar -xvzf steamcmd.tar.gz
cd steamcmd

Теперь, используя makepkg, соберите пакет.

makepkg -ci

Если вы не передали -iфлаг команде makepkg, используйте pacman для его установки.

sudo pacman -U *.pkg.tar.xz

Теперь у вас установлен SteamCMD и вы можете загрузить сервер Team Fortress 2.

Установите сервер Team Fortress 2

В этом руководстве для запуска сервера используется отдельный пользователь, поэтому мы создадим нового пользователя и группу tf2 с собственной домашней папкой в /var/lib.

sudo groupadd tf2
sudo mkdir /var/lib/tf2
sudo useradd -d /var/lib/tf2 -g tf2 -s /bin/bash tf2
sudo chown tf2.tf2 -R /var/lib/tf2

Теперь для установки сервера.

sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit

Как только это завершит загрузку, у вас будет установлен сервер.

Настройка

Хотя вы можете запустить сервер, необходимо выполнить некоторую настройку, чтобы сервер не был слишком универсальным. Основной файл, в который мы помещаем настройки, это server.cfgфайл. Ниже приведен очень простой server.cfgфайл.

Чтобы открыть / создать файл, используйте ваш любимый редактор. Здесь используется vim, но вы можете использовать любой текстовый редактор, например, nano.

sudo -u tf2 vim ~tf2/server/tf/cfg/server.cfg

Добавьте следующее. Дополнительные настройки можно найти на вики-странице Team Fortress 2 и на странице разработчиков Valve. Обязательно измените некоторые настройки в соответствии с вашими потребностями.

hostname "Server Name"
rcon_password "password"
sv_password ""
sv_contact "[email protected]"
sv_tags ""
sv_region "255"
sv_lan "0"

exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip

Запуск вашего сервера

Известно, что вам нужен мультиплексор, такой как GNU Screen или tmux, для запуска вашего сервера без присмотра. Здесь мы собираемся использовать tmux для запуска сервера, но если вы предпочитаете и знаете, как использовать экран, не стесняйтесь его использовать.

Установите tmux с помощью pacman.

sudo pacman -Sy tmux

Вы можете запустить сервер с помощью следующей команды. Вы можете изменить карту и maxplayers, если хотите.

sudo -u tf2 tmux new-session -d -s tf2-console -d '~tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'

Если вам когда-либо понадобится подключиться к консоли, выполните следующее.

sudo -u tf2 tmux attach -t tf2-console

Вы можете оставить консоль сервера, набрав CTRL + B , то отпуская эти кнопки , а затем нажав D .

Работает с systemd

Запуск сервера с помощью systemd удобен по многим причинам. Основным является то, что вы можете запустить его при запуске VPS. Это требует написания скрипта и системного модуля. Хотя это хорошая идея, она не обязательна .

Первое, что нужно написать, это стартовый скрипт. Чтобы создать сценарий, используйте ваш любимый редактор. Здесь используется vim, но вы можете использовать любой текстовый редактор, например, nano.

sudo -u tf2 vim ~tf2/server/tf2.sh

Добавьте следующее.

#!/bin/sh

USER=$2

if [ -z $2 ]; then
  USER="tf2"
fi

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s tf2-console -d '/var/lib/tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'
    ;;

  stop)
    sudo -u $ tmux send-keys -t tf2-console 'say Server shutting down in 10 seconds!' C-m
    sleep 10
    sudo -u $ tmux send-keys -t tf2-console 'quit' C-m
    sleep 5
    ;;

  *)
    echo "Usage: $0  user"
esac

exit 0

Теперь вам нужно сделать системный модуль. Чтобы создать модуль, используйте ваш любимый редактор. Здесь используется vim, но вы можете использовать любой текстовый редактор, например, nano.

sudo vim /usr/lib/systemd/system/tf2.service

Добавьте следующее.

[Unit]
Description=Team Fortress 2 Server (SRCDS)
After=local-fs.target network.target

[Service]
ExecStart=/var/lib/tf2/server/tf2.sh start
ExecStop=/var/lib/tf2/server/tf2.sh stop
Type=forking

[Install]
WantedBy=multi-user.target

Теперь убедитесь, что tf2.shфайл исполняемый.

sudo chmod +x ~tf2/server/tf2.sh

После всего этого вы можете использовать systemctlдля запуска и остановки сервера. Также вы можете использовать его для запуска при загрузке.

Начать:

sudo systemctl start tf2.service

Прекратить:

sudo systemctl stop tf2.service

Перезапустить:

sudo systemctl restart tf2.service

Чтобы включить при загрузке:

sudo systemctl enable tf2.service

Чтобы отключить при загрузке:

sudo systemctl disable tf2.service

Хотя systemd обрабатывает запуск и остановку сервера, вы все равно можете получить доступ к консоли с помощью следующей команды:

sudo -u tf2 tmux attach -t tf2-console

Финальные заметки

SteamCMD устанавливается в области, где только root может изменять файлы (см. Примечание в разделе «Установка SteamCMD»). Если вам когда-нибудь понадобится обновить сам SteamCMD, просто запустите его как root.

sudo steamcmd +quit

Если вам нужно обновить сервер. Сначала остановите сервер, а затем используйте SteamCMD для обновления (используйте ту же команду для установки).

sudo systemctl stop tf2.service
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
sudo systemctl start tf2.service

Есть много других тем по настройке, которые не рассматриваются в этом руководстве. Если вам нужна дополнительная информация, обратитесь к Team Fortress 2 Wiki и Valve Developer Wiki.



Как установить PHP 7.3 на веб-сервере Arch Linux

Как установить PHP 7.3 на веб-сервере Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер с доступом Apache или Nginx Sudo. Команды требуют

Как использовать HTTPS на веб-сервере Arch Linux

Как использовать HTTPS на веб-сервере Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo Требуются команды t

Настройка Mumble Server в Arch Linux

Настройка Mumble Server в Arch Linux

В этом руководстве объясняется, как настроить сервер Mumble (Murmur) в Arch Linux. Все, что сделано в этом уроке, сделано от имени пользователя root. Установка

Установка Arch Linux на сервере Vultr

Установка Arch Linux на сервере Vultr

Vultr предоставляет вам удивительные функциональные возможности, позволяющие вам использовать собственное изображение в дополнение к их отличным шаблонам, которые позволяют вам запускать

Установите Arch Linux со снимком Btrfs

Установите Arch Linux со снимком Btrfs

Предисловие Arch Linux - это дистрибутив общего назначения, известный своими передовыми технологиями и гибкой конфигурацией. С снимками Btrfs мы можем взять

Настройка сервера Counter-Strike: Global Offensive (CSGO) в Arch Linux

Настройка сервера Counter-Strike: Global Offensive (CSGO) в Arch Linux

Из этого туториала Вы узнаете, как настроить сервер Counter-Strike: Global Offensive в Arch Linux. В этом руководстве предполагается, что вы вошли со стандартным использованием

Как установить PostgreSQL 11.1 на Arch Linux

Как установить PostgreSQL 11.1 на Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Доступ в Sudo. Команды, необходимые для запуска с правами root, начинаются с префикса #, и один

Как установить Nginx 1.14 на Arch Linux

Как установить Nginx 1.14 на Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Доступ в Sudo. Команды, необходимые для запуска от имени пользователя root, начинаются с префикса #. Th

Установка 2019 Arch Linux на сервере Vultr

Установка 2019 Arch Linux на сервере Vultr

Введение Arch Linux имеет меньшие, но все же сильные, следующие более популярные дистрибутивы. Его философия совершенно другая, с преимуществами и

Использование Makepkg в Arch Linux

Использование Makepkg в Arch Linux

Если вы используете makepkg напрямую, это несколько загрязняет вашу систему. Группа пакетов base-devel должна быть установлена. Таким образом, по умолчанию зависимости нужны только

Как установить Apache 2.4 на Arch Linux

Как установить Apache 2.4 на Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux. Смотрите это руководство для получения дополнительной информации. Доступ в судо. Команды, необходимые для запуска от имени пользователя root

Настройка Spigot Server в Arch Linux

Настройка Spigot Server в Arch Linux

В этом руководстве объясняется, как настроить сервер Minecraft с помощью Spigot в Arch Linux. В этом руководстве предполагается, что вы обычный пользователь (не root) и имеете

Как установить Python 3.7 на веб-сервере Arch Linux

Как установить Python 3.7 на веб-сервере Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo: требуются команды

Как установить MongoDB 4.0 на Arch Linux

Как установить MongoDB 4.0 на Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью) Доступ к Sudo: Команды, необходимые для запуска с правами root, начинаются с префикса #, а один

Как установить MariaDB 10.3 или MySQL 8.0 в Arch Linux

Как установить MariaDB 10.3 или MySQL 8.0 в Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Доступ в Sudo: Команды, необходимые для запуска с правами root, начинаются с префикса #, а один

Сборка пакетов на Arch Linux (включая AUR)

Сборка пакетов на Arch Linux (включая AUR)

На Arch Linux официальными репозиториями являются: core, extra и community. Эти пакеты уже скомпилированы, и они устанавливаются через pacman. Для го

Как установить Perl 5.28 на веб-сервер Arch Linux

Как установить Perl 5.28 на веб-сервер Arch Linux

Предварительные условия Сервер Vultr, работающий до последней версии Arch Linux (см. Эту статью). Работающий веб-сервер, доступ к Apache или Nginx Sudo: требуются команды

Использование Devtools в Arch Linux

Использование Devtools в Arch Linux

Пакет Devtools изначально был создан для доверенных пользователей, чтобы правильно создавать пакеты для официальных репозиториев. Тем не менее, он может быть использован обычным пользователем

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше