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

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

В этом руководстве предполагается, что вы вошли в систему со стандартной учетной записью пользователя и имеете права sudo. Мы будем использовать обычную учетную запись пользователя, потому что сборка пакетов с AUR не должна выполняться из учетной записи root.

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

Если вы используете 64-разрядную версию Arch Linux, очень важно, чтобы у вас был multilibвключен репозиторий. Если он не включен, SteamCMD не может загружать или запускать файлы игрового сервера. Чтобы включить multilib, просто раскомментируйте следующие строки в /etc/pacman.conf.

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

Это не относится к 32-битным системам Arch Linux.

Установить SteamCMD

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

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

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

sudo pacman -Sy lib32-gcc-libs

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

curl -O https://aur.archlinux.org/packages/st/steamcmd/steamcmd.tar.gz

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

tar -xvzf steamcmd.tar.gz
cd steamcmd

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

makepkg -ci

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

sudo pacman -U *.pkg.tar.xz

Теперь у вас установлен SteamCMD и вы можете загрузить сервер Counter-Strike: Global Offensive.

Установите Counter-Strike: Global Offensive Сервер

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

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

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

sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit

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

Настройка

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

Чтобы открыть / создать файл, используйте ваш любимый редактор. Я использую vim в этом примере.

sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg

Добавьте следующее. Дополнительные настройки можно найти на вики-сайте разработчиков 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

Вы можете запустить сервер с помощью следующей команды. Вы можете изменить карту при желании. Пожалуйста , прочитайте «Заключительные заметки» для получения дополнительной информации о game_typeи game_modeценностях. Этот пример для классического случайного сервера.

sudo -u csgo tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'

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

sudo -u csgo tmux attach -t csgo-console

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

Работает с systemd

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

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

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

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

#!/bin/sh

USER=$2

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

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; /var/lib/csgo/server/srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
    ;;

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

  *)
    echo "Usage: $0  user"
esac

exit 0

Теперь вам нужно сделать системный модуль.

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

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

[Unit]
Description=Counter-Strike: Global Offensive Server (SRCDS)
After=local-fs.target network.target

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

[Install]
WantedBy=multi-user.target

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

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

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

Начать:

sudo systemctl start csgo.service

Прекратить:

sudo systemctl stop csgo.service

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

sudo systemctl restart csgo.service

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

sudo systemctl enable csgo.service

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

sudo systemctl disable csgo.service

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

sudo -u csgo tmux attach -t csgo-console

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

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

sudo steamcmd +quit

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

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

Режим игры и тип игры в стартовой команде важны в зависимости от того, какой сервер вы хотите. Вот краткая таблица возможных значений.

      Game Mode      | game_type | game_mode
Classic Casual       | 0         | 0
Classic Competitive  | 0         | 1
Arms Race            | 1         | 0
Demolition           | 1         | 1
Deathmatch           | 1         | 2

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



Как установить 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 мы можем взять

Как установить 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 должна быть установлена. Таким образом, по умолчанию зависимости нужны только

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

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

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

Как установить 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. Прочтите эту статью, чтобы узнать больше