Вернуться назад

Как создать сервер Counter Strike 2

В этой статье опишем как создать сервер Counter-Strike 2 на Linux. Проверено, что на этой ОС серверы в целом работают быстрее, чем на Windows, при этом потребляют меньше ресурсов. В плане железа минимальными требованиями будут: 2 гб оперативной памяти и 30 гб на жестком диске. Давайте проведем пошаговую установку сервера.

Начинаем установку сервера

Для начала арендуйте сервер с вышеперечисленными параметрами. Также как упоминали, в качестве ОС будет Debian или Ububtu — обе на дистрибутивах Linux.

После оплаты сервера вам отправят логин и пароль. В Linux откройте консоль и введите команду: ssh root@ip адрес вашего сервера

Теперь, когда получили доступ, обновим ПО. Последовательно введите в консоли команды:

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

  1. Теперь установим 32-х разрядную библиотеку. Она необходимо для работы steamcmd. Введите  в консоли:

sudo apt install lib32stdc++6

Создаем пользователя с меньшими правами 

Чтобы не подвергнуть систему опасности, не запускайте игры от суперпользователя. Лучше создайте юзера с ограниченными правами. Это убережет от того, что кто-либо мог получить через этого пользователя доступ ко всей системе. Вот как это сделать

Откройте учетную запись root через консоль. Впишите команду:

sudo useradd -m steam

В этом примере пользователь получит имя "steam". Ключ "-m" означает, что путь /home/steam/ будет создан в в качестве домашнего каталога. Теперь перейдем из сеанса безар с root правами в пользователя с уменьшенными. То есть, в нашем примере — это "steam":

su - steam

Перекидываем нужное ПО на сервер с помощью FileZilla

Теперь нам предстоит загрузить на сервер нужные программы. начнем с начала:

  1. Если у вас еще нет FileZilla, сначала загрузите и установите его с официального сайта
  2.  
  3. После установки запустите FileZilla.
  4.  
  5. В верхней части интерфейса введите данные для подключения к серверу: хост (IP-адрес сервера), имя пользователя, пароль и порт. Эти данные предоставит хостинг-провайдер.
  6.  
  7. Введите данные для подключения к FTP-серверу, предоставленные вашим хостинг-провайдером: хост (IP-адрес сервера), имя пользователя, пароль и порт. 
  8.  
  9. Нажмите кнопку "Quickconnect" (или нажмите Enter). FileZilla попытается установить соединение с вашим сервером на основе предоставленных данных.
  10.  
  11. В левой части FileZilla  увидите файлы и папки на компьютере, а в правой части — на сервере.
  12.  
  13. Перейдите в папку на вашем компьютере, откуда хотите загрузить файлы. В правой части выберите папку на сервере, куда вы хотите загрузить файлы.
  14.  
  15. Выделите необходимые файлы на вашем компьютере.
  16.  
  17. Перетащите их в правую часть окна (область сервера) в созданную вами подпапку для сервера CS:GO.
  18.  
  19. Удостоверьтесь, что файлы успешно загружены на сервер, следя за логами внизу окна FileZilla.
  20.  
  21. Когда передача завершится, вы увидите сообщение об успешном завершении в логах FileZilla.

Скачаем сервер CS2 со steamCMD

Сперва создаем папку в /home/steam/. Сюда будем загружать ПО. Пропишите в консоли:

mkdir ~/steamcmd && mkdir ~/steamcmd/csgo

Войдите в первую папку:

cd ~/steamcmd

Скачайте в нее файл архива со steamCMD. Для этого впишите:

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz

Распакуйте файл:

tar xvfz *.tar.gz

Теперь создайте скрипт для автоматического обновления игрового сервера. Назовите "updateCSGO.sh". Впишите команду:

echo "STEAMEXE=steamcmd ./steamcmd.sh +login anonymous +force_install_dir /home/steam/steamcmd/csgo +app_update 740 validate +quit" > updateCSGO.sh

Теперь разрешите выполнение файла с помощью команды:

chmod +x updateCSGO.sh

Теперь, этот скрипт сначала загрузит, а потом скачает сервер игры. Это займет чуть менее получаса:

./updateCSGO.sh

Получим токен для сервера CS2

Steam не позволят юзерам создавать серверы без пароля (токена). Чтобы получить его, следуйте инструкциям: steamcommunity.com/dev/managegameservers

Запускаем сервер CS2

Теперь нам понадобится steamclient.so. Чтобы его загрузить, введите:

cd /home/steam/.steam/

mkdir sdk32

ln -s /home/steam/steamcmd/linux32/steamclient.so /home/steam/.steam/sdk32/

Теперь перейдите в директорию с сервером:

cd /home/steam/steamcmd/csgo

Создадим скрипт для старта классического сервера в фоновом режиме. Введите команду:

printf '#!/bin/sh \n./srcds_run srcds -game csgo -console -hostport 27015 -usercon +sv_setsteamaccount WYERIRITO-net_port_try 1 +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2 > /dev/null 2>&1 &' > start.sh

Здесь вместо "WYERIRITO" введите токен который получили от Steam. 

Теперь когда создали этот файл "start.sh", дадим права запуска. Впишите команду: 

chmod +x start.sh

Наконец, мы сделали все чтобы наконец можно было запустить сервер. Введите:

./start.sh

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

cd /home/steam/steamcmd/csgo && ./start.sh

Дайте серверу около двух минут на соединение со Steam.

Как остановить сервер?

Для остановки нужно деактивировать процесс srcds_linux. Для этого:

  1. Введите в консоли top. Вы увидите текущие процессы на сервере. В столбце COMMAND найдите srcds_linux. В колонке PID соответствующей этому процессу вам нужен номер.

  2. Впишите команду: kill 2364 (здесь впишите соответствующий процессу номер PID)

Все, теперь вы остановили сервер.

Устраняем возможные ошибки

Возможные проблемы чаще всего касаются, что вы работаете на 64-х разрядной системе, где не поддерживается 32x. Это решается легко. Достаточно установить нужные библиотеки. На Debian пропишите команду:

sudo apt-get install ia32-libs

На CentOS:

sudo yum install glibc.i686 libstdc++.i686

Еще проблемы могут быть с srcds_run и srcds_linux. Тогда им нужно предоставить права. Пропишите: 

sudo chmod +x /opt/csgo_server/srcds_linux

А затем:

sudo chmod +x /opt/csgo_server/srcds_run

Настроим сервер CS2

Создайте файл настроек сервера — "server.cfg". Директория: "/home/steam/steamcmd/csgo/csgo/cfg/". Сделаем это вписав команду:

nano /home/steam/steamcmd/csgo/csgo/cfg/server.cfg

Теперь откройте файл в текстовом редакторе Nano и вставьте следующие строки:

sv_setsteamaccount "232423URRERT"

hostname "MouseDC.ru - server CS:GO" //название сервера

host_name_store 1

host_info_show 1

host_players_show 2

sv_lan 0

sv_region 3

sv_tags "rank, ffa, msk, spb, ekb, nsk, dd2, dust2, ru, rus"

motdfile 1

 

// RCON

rcon_password "w7WMEbFXI8bEbVK0ZPbIqQ6d7" // пароль команды rcon, после которой можно выполнять серверные команды

 

// Баланс

mp_autoteambalance 1 // автоматический баланс игроков по командам

 

// Чат

sv_alltalk 1 // 1 - разрешаем разговоры между обеими командами. 0 - только свои

sv_deadtalk 0 // 1 - разрешаем разговоры живых и мертвых

sv_ignoregrenaderadio 1 // игнорируем сообщения броска гранаты

sv_spec_hear 1 // наблюдатели слышат других

 

// Действие в конце матча

mp_endmatch_votenextmap 0 // 0 - отключаем стандартное голосование на смену карты в конце матча

mp_endmatch_votenextleveltime 15 // время на голосование за новую карту

mp_match_end_changelevel 1 // 1 - в конце матча смена карты

mp_endmatch_votenextmap_keepcurrent 0 // 1 - убрать отыгранную карту из голосования

 

// Игровые настройки сервера

mp_forcecamera 1 // разрешать ли смотреть за игроками другой команды после смерти? 0-да 2-нет 

mp_freezetime 5 // задержка до начала раунда (в секундах) 

mp_startmoney 800 // деньги, с которыми игрок начинает играть после присоединения к игре 

mp_maxmoney 16000 // максимальное количество денег

mp_timelimit 30 // время до конца карты в минутах

mp_buytime 0.25 // изменить время закупки (в минутах) (по умолчанию 15 секунд - 0.25) 

mp_c4timer "35" // изменить время, на которое закладывается бомба на de_ картах (в секундах) 

 

// Рейты сервера

sv_maxrate 128000 // максимальное количество байт за одну секунду времени, которые сервер посылает клиенту

sv_minrate 128000 // минимальное количество байт за одну секунду времени, которые сервер посылает клиенту

sv_minupdaterate 20 // минимальная частота отсылки обновлений от сервера к клиенту. Влияет на фпс и загрузку сервера. Если сервер отошлёт клиенту, к примеру, 40 обновлений за 1 секунду, у клиента фпс будет 40 либо ниже.

 

// Огонь по своим

mp_friendlyfire 1 // включен ли friendlyfire (атака по своим) 1-да, 0-нет 

 

// Управление ботами

bot_quota 0 // установить минимальное количество ботов на сервере

bot_difficulty 2 // сложность бота: 0 - Легкий, 1 - Нормальный, 2 – Тяжелый, 3 - Профессионал.

bot_chatter "off" // как часто бот использует радиокоманды

bot_join_after_player 1 // бот ждет, когда человек подключится и только тогда подключается сам.

 

// Бэкапы (отключены, чтобы не занимать место на диске)

mp_backup_round_file 0

mp_backup_round_file_last 0

mp_backup_round_file_pattern 0

В первой строке sv_setsteamaccount номер 232423URRERT нужно заменить на ваш токен.

На этом все.  Вы полностью настроили сервер CS2 и готовы к игре!



0 Комментариев