ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить Counter-Strike: GO-сервер на CentOS 7

Как установить Counter-Strike: GO-сервер на CentOS 7

Counter-Strike: Global Offensive, также известный как “GO” или “CS: GO” для краткости, это четвертая игра в популярной серии игр Counter-Strike, разработанный Valve и распределенной на его платформе онлайн, Steam. Способен работать как на игровой консоли в Windows, MacOSX, и совсем недавно, Linux, Counter-Strike: GO представляет собой шутер от первого лица, который имеет совершенно новые карты, персонажей и режимов игры наряду с классическим содержанием Counter-Strike. Эта игра примечательна тем, что она позволяет игрокам размещать свои собственные серверы, что приводит к высокой степени возможного игрового процесса за счет возможности ввести индивидуальную настройку. Высокая гибкость в геймплее благодаря личным серверам делает Counter-Strike: GO игра, которая будет развлекать большинство людей, и может обеспечить хороший перерыв от тяжелого рабочего дня.

Если вы заинтересованы в настройке сервера CentOS 7 для запуска Counter-Strike: Global Offensive, это руководство покажет вам необходимые шаги.

Начало работы

Следующее условие необходимо для успешной установки:

В этом учебном пособии, новый пользователь также создаст специально для запуска игры. Если вы хотите включить онлайн – игру, вам дополнительно необходимо следующее ( по желанию):

  • Аккаунт Steam
  • Игра Counter-Strike: Global Offensive

Руководство

Прежде чем мы сможем приступить к фактической установки и настройки процесса Counter-Strike: GO для вашего сервера, это хорошая практика, гарантировать, что у вас есть самая последняя информация из хранилища пакетов Linux относительно доступных пакетов и версий пакетов. Используя стандартный менеджер пакетов по умолчанию, yum, мы можем обновить доступные пакеты. Убедитесь, что система находится в актуальном состоянии, выполнив эти две команды. Если вы не являетесь привилегированным пользователем, то используем дополнительную команду sudo, чтобы выполнить его как root. Вам может быть предложено ввести пароль суперпользователя при использовании sudo.

yum update
yum upgrade

 

Counter-Strike: GO использует цифровую платформу Steam, которую также разработала Valve. Для того, чтобы иметь возможность получить доступ к Steam, а также завершить остальную часть обучающей программы, вам нужно будет установить следующие предварительные библиотеки и пакеты с помощью yum, на этот раз с помощью команды установки:

yum install glibc.i686 libstdc++.i686 wget nano tar screen

 

Теперь настало время для создания нового пользователя в нашей системе для обработки всех Steam, связанных с содержанием. Убедитесь, что вы вошли в систему с правами администратора или можете использовать sudo, а затем выполнить следующие две простые команды. Первая команда создаст нового пользователя, в то время как вторая установит пароль. В нашем учебнике мы будем называть пользователя “CSGO”, но вы можете заменить текст ниже, на какое нибудь имя, которое вы выберете. Это также относится и к паролю, который для случая простоты мы сохранили такой же, как имя пользователя.

adduser csgo
passwd csgo

 

Установка Steam и Counter-Strike: GO

На данный момент в руководстве, мы перейдем к пользователю Steam, который мы только что создали с командой su. После ввода этой команды вам будет предложено ввести пароль пользователя в Steam. После этого, мы перейдем в домашний каталог этого пользователя с помощью клавиш ~:

su csgo
cd ~

 

Как пользователь GO, вам необходимо будет установить программное обеспечение SteamCMD для того, чтобы иметь возможность установить сервер Counter-Strike. Это программное обеспечение позволит вам взаимодействовать с цифровой платформой Steam, чтобы загружать и управлять играми и приложениями, таких как Counter-Strike: Global Offensive. Загрузите пакет SteamCMD как архив с помощью веб-утилиты wget:

wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

 

Файл загруженный выше, представляет собой сжатый архив TAR, и является контейнером установщика SteamCMD. Для того, чтобы иметь возможность получить доступ к его содержимому и запустить скрипт установки, вам нужно будет разархивировать файл, используя команду tar.

tar xf steamcmd_linux.tar.gz

 

Далее, мы открываем интерфейс командной строки Steam, из которого мы сможем установить Counter-Strike: GO-сервер. Во-первых, убедитесь, что вы находитесь в правильном каталоге, который имеет скрипт SteamCMD. Этот каталог должен быть расположен по следующему адресу в домашнем хранилище CSGO:

cd ~/Steam

 

Откройте интерфейс SteamCMD, запустив сценарий steamcmd.sh из разархивированного пакета:

./steamcmd.sh

 

Выполнив steamcmd.sh, вы откроете терминала оболочки для SteamCMD. В этом интерфейсе командной строки необходимо выполнить следующие команды, в которых вы авторизуетесь в Steam как анонимный пользователь, чтобы заставить установить Counter-Strike: GO в каталог /CSGO. Обратите внимание, что 740 в последней строке относится к приложению Counter-Strike: GO и его идентификационный код для обновлений.

login anonymous
force_install_dir ./csgo
app_update 740 validate

 

Процесс установки завершится, когда после загрузке, на экране появится следующее сообщение:

Success! App '740' fully installed

 

После завершения установки, вам нужно будет вернуться к оболочке пользователя CSGO. Для выхода из интерфейса SteamCMD, введите следующую команду и нажмите клавишу Enter:

quit

 

Обратите внимание, что для обновления вашего Counter-Strike: GO-server, вам необходимо будет выполнить приведенные выше команды в SteamCMD каждый раз, когда вы хотите обновить.

По мере того как установщик SteamCMD установил Counter-Strike: GO в местоположении пользователя в Steam, мы переключимся обратно к пользователю CSGO, чтобы завершить оставшуюся часть установки для Counter-Strike: GO. В качестве напоминания, вы можете переключиться обратно к корневому пользователю в любое время, открыв новую оболочку корневого пользователя или путем выхода из текущей оболочки пользователя CSGO. Чтобы открыть новую корневую оболочку, когда вам это нужно, введите следующую команду и укажите корневой пароль при запросе:

su

 

Настройка дистанционной игры

Текущие настройки без каких-либо дополнительных настроек будут ограничивать игроков только локальных соединений, известных как LAN. Это означает, что другие игроки на той же сети, смогут получить доступ к серверу, но он будет недоступен для других сетей. Для того, чтобы иметь возможность подключения к Интернету и играть удаленно с другими пользователями, вам нужно, получить то, что называется “Game Server Login Token» или GSLT. Этот маркер может быть получен только если у вас есть учетная запись Steam, и собственно игра Counter-Strike: Global Offensive. Для получения дополнительной информации вы можете увидеть страницу вики-Valve, которая охватывает то, что нужно, чтобы играть в онлайн.

Мы кратко рассмотрим, как зарегистрировать логин маркер игрового сервера, также известный как “GSLT,” если у вас на самом деле есть учетная запись Steam, и вы являетесь владельцем оригинальной игры. В соответствии с инструкциями, вики-страницы, вы должны получить доступ к следующей URL:

http://steamcommunity.com/dev/managegameservers

 

На приведенном выше URL, вам необходимо войти в систему Steam, который обладает Counter-Strike: GO. Там вы найдете утилиту создания. Следуйте инструкциям на экране, с помощью App ID 730. Обратите внимание, что хотя само приложение 740 (как и в случае при обновлении с SteamCMD выше), вам нужно будет использовать идентификатор 730 для маркера регистрации онлайн. Утилита создания также предложит вам установить дополнительную памятку с описанием нового сервера. После проверки формы, вы будете обеспечены с GSLT и некоторой информацией о сервере, например, последнего соединения. Эта страница должна выглядеть примерно следующим образом:

Game
Authentication token (GSLT)
Last connection
Memo
730 *********************************

 

После того, как вы скопировали маркер, вам нужно будет использовать команду sv_setsteamaccount для того, чтобы дать возможность играть онлайн. Заменить LOGIN_TOKEN в строке ниже с собственным значением маркера и выполните следующую команду:

sv_setsteamaccount LOGIN_TOKEN

 

Важно предоставить информацию токенов для Counter-Strike: GO до конфигурационного файла для сервера, как подробно описано далее в этом руководстве. Причина заключается в том, что файл server.cfg используется для конфигурации сервера и выполняется слишком поздно в процессе запуска для GLST, в результате чего ваш сервер неисправен при входе в систему.

Настройка Counter-Strike: GO Сервер

Конфигурационный файл сервера Counter-Strike: Global Offensive позволит вам внести изменения, которые необходимы на вашем сервере. Откройте и/или создайте этот файл для редактирования с помощью текстового редактора nano или vim в том же месте, что и ваше хранилище CS: GO пользователя:

nano ~/csgo/csgo/cfg/server.cfg

 

В этом файле добавьте следующие строки, заменив текст ServerName и RconPassword с заданными значениями для сервера. Они будут использоваться отдельными лицами для того, чтобы получить доступ к нему:

hostname "ServerName"
rcon_password RconPassword

 

Помимо этих двух базовых настроек, вы можете найти гораздо больше в вики разработчиков для Counter-Strike: Global Offensive. Сохраните и закройте файл, чтобы изменения вступили в силу. Вы можете начать свой CS: GO сервер в любое время, с помощью следующей команды:

cd /home/csgo/csgo/
screen -dmS csgo ./srcds_run -game csgo -console -port 27015 +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_nuke -autoupdate

 

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

nano ~/startcsgo.sh

 

Отредактируйте этот файл.

#!/bin/sh
cd /home/csgo/csgo
screen -S "Counter-Strike: Global Offensive Server" ./srcds_run -game csgo -usercon +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust2

 

Обратите внимание на то, что команда выше используется значение 1 для game_mode и 0 для game_type. Эти два варианта используется для определения игры на сервере. У вас есть следующие возможные комбинации для изменения игры:

Mode game_mode game_type
Classic Casual 0 0
Classic Competitive 0 1
Arms Race 1 0
Demolition 1 1

 

После того как вы настроили файл, можете сохранить и закрыть. Для того, чтобы в состоянии выполнить этот файл, вам нужно будет изменить права доступа с помощью команды chmod, добавить +х для “исполняемого файла” к сценарию:

chmod +x ~/startcsgo.sh

 

Так как мы создали этот файл, теперь мы можем также использовать его вместо указанной выше команды, чтобы запустить сервер, запустив его как пользователь CS: GO:

cd ~/ && ./startcsgo.sh

 

На CentOS 7, Systemd отвечает за запуск различных программ при загрузке системы. Вы можете использовать systemd для того, чтобы ваш Counter-Strike: GO-сервер запускается при загрузке системы. Для этого нам нужно будет создать новый сервис с именем CS: GO. В качестве корневого пользователя, используйте nano, чтобы открыть следующий файл в папке для systemd:

nano /lib/systemd/system/csgo.service

 

Введите следующий текст в файл, чтобы создать демона для systemd. Заменитt текст GSLT_CODE на фактический код вашего маркера. Вы можете изменить, если хотите в соответствии с инструкциями ниже, простой сценарий запуска.

[Unit]
Description=My CSGO Server
[Service]
Type=simple
User=steam
Group=steam
Restart=on-failure
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
ExecStart=/home/steam/csgo/srcds_run srcdds -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2 +sv_setsteamaccount GSLT_CODE -net_port_try 1
ExecStop=killall -TERM srcds_linux
[Install]
WantedBy=multi-user.target

 

Измените и закройте файл. Теперь необходимо обновить систему CentOS 7 с информацией о новой услуге, которую мы только что добавили. Взаимодействие с Systemd с помощью команды systemctl как root:

systemctl --system daemon-reload
systemctl start csgo.service
systemctl enable csgo.service

 

Теперь вы можете легко проверить, что Counter-Strike: GO сервер работает одним простым вызовом systemctl, чтобы проверить его состояние:

systemctl status csgo.service

 

Настройка брандмауэра

Если у вас есть брандмауэр, запущенный на сервере, который работает по умолчанию для установки свежих серверов, вам также потребуется открыть некоторые порты, для сервера Counter-Strike: GO и иметь возможность получить доступ. У вас есть два варианта на данный момент: выбор остаться с firewalld, или перейти к конфигурации IPtables. Мы рекомендуем придерживаться firewalld, как по умолчанию поставляется с CentOS 7. Тем не менее, те, кто ранее имел опыт работы с IPTables могут предпочесть его, чтобы мы также предоставили инструкции по настройке брандмауэра.

Рекомендуемый Firewall Опция: firewalld

Следующие строки кода добавят TCP и порты UDP 27015 для брандмауэра перед загрузкой брандмауэра.

firewall-cmd --zone=public --add-port=27015/tcp --permanent
firewall-cmd --zone=public --add-port=27015/udp --permanent
firewall-cmd --reload

 

Мы открыли в предыдущем шаге порты необходимые для обеспечения возможности воспроизведения на сервере. Конкретные порты используются для Counter-Strike: GO подробно описаны ниже:

UDP 27000 to 27015: Game client traffic
UDP 27015 to 27030: Typically Matchmaking and HLTV
UDP 4380: Steamworks P2P Networking and Steam voice chat

 

Альтернативный вариант брандмауэра: Iptables

Если вы предпочитаете использовать IPTables, классическое пользовательское приложение для управления брандмауэров Linux, а не для изменения портов, вам придется внести некоторые изменения в вашу систему в первую очередь. Это происходит потому, что в CentOS 7, Iptables был заменен на firewalld. Если вы все еще хотите использовать IPTables, вам придется отключить работу брандмауэра и использовать менеджер пакетов yum, чтобы установить необходимый пакет и дать ему возможность работать при загрузке:

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables

 

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

systemctl [stop|start|restart] iptables

 

Модификация портов с использованием IPTables будет иметь следующую форму, как показано в этом примере, чтобы открыть TCP на порт 3030:

iptables -I INPUT -p tcp --dport 3030 -j ACCEPT

 

Для каждого порта в инструкции по firewalld, вам нужно будет повторить эти команды, используя синтаксис, показанный в приведенном выше примере для TCP порта 3030:

iptables -A INPUT -p udp -m udp --sport 27000:27030 --dport 1025:65355 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 4380 --dport 1025:65355 -j ACCEPT

 

Вы можете легко найти более подробную информацию в Интернете о том, как применять конфигурации для IPTables, если вы хотите узнать больше о его использовании. Для сохранения новой конфигурации IPtables, используйте:

service iptables save

 

Независимо от того, выбираете ли вы остаться с firewalld или используете IPTables, выполняя эти шаги позволят соединения, которые будут сделаны на сервер для удаленного игрового процесса.

Итог

Поздравляем! После установки и настройки Counter-Strike: GO-сервер на вашем CentOS 7, вы теперь свободны, чтобы наслаждаться настраиваемым игровым опытом! Если это руководство было полезным для вас, пожалуйста, поделитесь им с другими, которые также могут быть заинтересованы в создании своих собственных серверов Counter-Strike.

[huge_it_gallery id=”2″]

Exit mobile version