Установка выделенного сервера CS GO

Установка Игр в Debian

Установка выделенного сервера CS GO

Сообщение Sunderland93 » 12 апр 2015, 11:41

Что такое выделенный сервер? Это такой сервер, все мощности которого полностью отдаются его клиенту. К примеру если клиенту нужно запускать множество ресурсоёмких задач, то гораздо эффективнее использовать выделенный сервер, нежели виртуальный. Для чего может пригодиться выделенный игровой сервер? Да, собственно для тех же целей. Вместо того, чтобы создавать сервер на своей локальной машине, где вы играете, и к которой подключаются другие игроки, гораздо лучше будет отдать для этих целей отдельный компьютер, обладающий достаточными мощностями. При этом, в отличии от первого варианта, игроки не будут зависеть от вашего компьютера (не будет лагов, вам не нужно будет всё время держать компьютер включённым и т. д.). На выделенный сервер устанавливается только серверная часть игры. Как правило, если эта серверная часть доступна на Unix-системах, предпочитают их. В этой статье, я опишу настройку официального игрового выделенного сервера на примере игры Counter Strike: Global Offensive.

ВНИМАНИЕ! Данное руководство предполагает наличие навыков работы в командной строке Linux, а также начальные навыки администрирования сервера. Также для работы сервера в вашем роутере должен быть проброшен UDP порт 27015 (о том как это сделать смотрите в руководстве вашего роутера или в Google :) )

1) Первым делом, нужно установить необходимые для работы 32-х битный библиотеки (если у вас 64-х битный дистрибутив):
Код: выделить все
sudo apt-get install lib32gcc1

Рекомендуется создать отдельного пользователя, от которого будет запускаться сервер:
Код: выделить все
sudo useradd -m steam
passwd (зададим пароль)
su – steam

2) Теперь нам нужно установить консольный клиент Steam, или SteamCMD. Создадим директорию, куда распакуем steamcmd и перейдём в неё:
Код: выделить все
mkdir ~/steamcmd
cd  ~/steamcmd

Создадим директорию для игры:
Код: выделить все
mkdir ~/.cs_go

Скачиваем, распаковываем и запускаем SteamCMD:
Код: выделить все
wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
./steamcmd.sh

Утилита автоматически обновится и отобразит приглашение Steam>
Для загрузки большинства серверов можно войти анонимно:
Код: выделить все
login anonymous

Если анонимный вход не работает для конкретной игры, вам нужно войти в аккаунт Steam:
Код: выделить все
login <имя_пользователя>

Введите ваш пароль. После этого вам на почту должен прийти ключ SteamGuard, который необходимо будет ввести далее. (Это надо делать один раз для каждого компьютера/пользователя в Linux)
Вы должны увидеть сообщение о том, что вход выполнен.
3) Теперь загрузим сервер игры CS GO:
Код: выделить все
force_install_dir ~/.cs_go
app_update 740 validate

740 это ID игры в Steam. Validate проверит игру после установки. Если вы хотите участвовать в бета-тестах, можете добавить ключ -beta.
После завершения, введите quit для корректного отключения от серверов Steam.
4) Запуск сервера.
Игра поддерживает несколько режимов:
Код: выделить все
Classic Casual:
./srcds_run  -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2

Classic Competitive:
./srcds_run  -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2
 
Arms Race:
./srcds_run  -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots

Demolition:
./srcds_run  -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake

Deathmatch:
./srcds_run  -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust

5) Скрипты.
Существует простой скрипт для Linux, позволяющий создать, обновить, запустить, остановить и перезагрузить сервер. Скрипт, с подробным описанием (на английском) доступен на GitHub https://github.com/crazy-max/csgo-server-launcher
csgoserver
Данные скрипты также позволяют упростить настройку и обслуживание сервера. Возможности:
Код: выделить все
Установка сервера.
Запуск/Остановка/Перезагрузка сервера.
Обновление сервера.
Мониторинг (включая оповещения по e-mail)
Резервное копирование.
Серверная консоль

Подробнее http://danielgibbs.co.uk/scripts/csgoserver/
Автоматизация запуска сервера.
Создайте файл в директории ~/steamcmd с именем csgo_ds.txt
Добавьте туда следующий список команд:
Код: выделить все
// update_csgo_ds.txt
//
@ShutdownOnFailedCommand 1 //Установите 0 для обновления нескольких серверов за раз
@NoPromptForPassword 1
login <username> <password>
//для загрузки серверов, не требующих авторизации
//login anonymous
force_install_dir ../csgo_ds
app_update 740 validate
quit

Запуск скрипта производится командой:
Код: выделить все
./steamcmd.sh +runscript csgo_ds.txt

Настройка сервера.
Для изменения названия сервера, rcon пароля, пароля на сервер и других команд, к которым у вас есть доступ, используется файл server.cfg, который находится в ~/.cs_go/csgo/cfg. Пример конфига:
Код: выделить все
hostname "Counter-Strike: Global Offensive Dedicated Server" 
 rcon_password "ваш пароль rcon" 
 sv_password "" // Устанавливает пароль для захода на сервер 
 log on // Включает логирование информации на сервере
mp_freezetime 5 // Время перед началом раунда 
 mp_join_grace_time 15 // Время, втечение которого
 игроки могут присоединиться к команде после начала раунда 
 sv_cheats 0 
 sv_lan 0 
 //**Некоторые команды для настройки ботов 
 bot_difficulty 1 
 bot_chatter "off" 
 bot_join_after_player 1 
 bot_quota 10 
 bot_quota_mode "fill" 
 //**Следующие команды отвечают за баны 
 writeid 
 writeip 
 exec banned_user.cfg 
 exec banned_ip.cfg

gamemodes.txt
Файл gamemodes.txt находится в в папке \csgo\. Это основной файл для конфигурации сервера. Вы можете управлять такими вещами, как время, раунды, дружественный огонь, ущерб от орудий, максимальное количество игроков и т.д. Далее мы обсудим некоторые основные моменты по использованию этого файла. Каждая секция файла разделена по типам игры. Среди них Casual, Competitive, Arms Race (Gun Game) и Demolition (gungametrbomb). Найдите секцию, которую вы хотите отредактировать, и вы сможете увидеть список переменных, которые можно изменить. Замечание: Этот файл перезаписывается после каждого обновления сервера. Не забывайте каждый раз делать резервную копию перед запуском обновления!
Боты
Вы можете изменить количество ботов; способ, по которому боты заполняют сервер; а так же их способность переговариваться, используя следующие переменные:
Код: выделить все
"bot_quota_mode" "fill" 
 "bot_defer_to_human_items" "1" 
 "bot_defer_to_human_goals" "0" 
 "bot_difficulty" "1" 
 "bot_dont_shoot" "0" 
 "bot_chatter" "normal" 
 "bot_autodifficulty_threshold_low" "-2.0" // Значение между -20.0 и 20.0 
 "bot_autodifficulty_threshold_high" "0.0" // Значение между -20.0 и 20.0

Переменные раунда
Для настройки раундов используются следующие переменные. Вы можете изменить тип смены карты "по количеству раундов" на смену "по времени", как долго игроки будут ждать перед началом раунда, зафиксировать камеру наблюдения только на игроков своей команды. Каждая переменная устанавливается на каждый тип игры отдельно, поэтому нужно пройтись по всем типам игры, чтобы переменная изменилась везде!
Код: выделить все
"mp_afterroundmoney" "0" 
 "mp_playercashawards" "1" 
 "mp_teamcashawards" "1" 
 "mp_maxrounds" "30" 
 "mp_timelimit" "0" 
 "mp_roundtime" "2" 
 "mp_freezetime" "15" 
 "mp_buytime" "45" 
 "mp_forcecamera" "1" // Установите 1, чтобы следить только за своей командой. 
 "mp_defuser_allocation" "0" 
 "mp_death_drop_gun" "1" // 0=нет, 1=лучшее, 2=текущее или лучшее 
 "mp_death_drop_grenade" "2" // 0=нет, 1=лучшее, 2=текущее или лучшее 
 "mp_death_drop_defuser" "1"

Смена орудий в Gun Game и Demolition
Вы можете найти переменные, которые отвечают смену орудий в обоих Gun Game модах. Вы можете установить порядок выдачи орудий и количество убийств, необходимых для смены орудия. Эти переменные уникальны для каждой команды, так что не забывайте менять их для обеих команд, чтобы не создать дисбаланс между командами.
Для примера, ниже приведён список орудий:
Код: выделить все
 в Arms Race для одной из команд:
"mp9" { "kills" "1" } 
 "mac10" { "kills" "1" } 
 "mp7" { "kills" "1" } 
 "bizon" { "kills" "1" } 
 "ump45" { "kills" "1" } 
 "p90" { "kills" "1" } 
 "nova" { "kills" "1" } 
 "mag7" { "kills" "1" } 
 "xm1014" { "kills" "1" } 
 "sawedoff" { "kills" "1" } 
 "galilar" { "kills" "1" } 
 "famas" { "kills" "1" } 
 "ak47" { "kills" "1" } 
 "m4a1" { "kills" "1" } 
 "sg556" { "kills" "1" } 
 "aug" { "kills" "1" } 
 "awp" { "kills" "1" } 
 "m249" { "kills" "1" } 
 "negev" { "kills" "1" } 
 "glock" { "kills" "1" } 
 "hkp2000" { "kills" "1" } 
 "tec9" { "kills" "1" } 
 "p250" { "kills" "1" } 
 "deagle" { "kills" "1" } 
 "fiveseven" { "kills" "1" } 
 "elite" { "kills" "1" } 
 "knifegg" { "kills" "1" }

Пример для мода Demolition для одной из команд:
Код: выделить все
"m4a1" { "kills" "1" } 
 "p90" { "kills" "1" } 
 "ump45" { "kills" "1" } 
 "deagle" { "kills" "1" } 
 "nova" { "kills" "1" } 
 "fiveseven" { "kills" "1" } 
 "hkp2000" { "kills" "1" } 
 "ssg08" { "kills" "1" } 
 "awp" { "kills" "1" } 
 "Scar20" { "kills" "1" }

Если что-то упустил — напишите в комментариях. Добавлю (или исправлю).
Русскоязычная страница SteamCMD https://developer.valvesoftware.com/wiki/SteamCMD:ru
Sunderland93
 
Стаж: 47 лет 8 месяцев 24 дня

Установка выделенного сервера CS GO

Спонсор

Спонсор
 

Вернуться в Игры

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1