Установка сервера CS:GO на Linux
Скачиваем и устанавливаем STEAM
CODE adduser csgo
Вводим пароль, директория юзера и прочие настройки оставляем по умолчанию и пробиваем все ентером
Переходим в директорию пользователя
CODE cd /home/csgo
Скачиваем Steam для linux
CODE wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
Распаковываем наш скачанный архив
CODE tar xvfz *.tar.gz
Далее нам нужно запустить Steam следующей командой
CODE STEAMEXE=steamcmd ./steam.sh
Программа будет автоматически обновлена и будет выведена строка с надписью Steam>. Введите help для более подробной информации.
Далее нам нужно залогиниться используя свой Steam аккаунт. Для этого введите в командную строку:
CODE login vashloginvsteam
Нажмите ввод (Enter) и затем введите свой пароль. Обратите внимание! если Вы используете защиту стима Steam Guard (если защита не включена, можете дальше не читать. Но я настоятельно рекомендую включить ее для вашей же безопасности), авторизация будет провалена, - все в порядке, посмотрите ваш почтовый ящик и скопируйте оттуда КОД. Установите этот код в командной строке таким образом:
CODE Steam> set_steam_guard_code ВАШ_КОД
Далее повторите попытку авторизации заново (Steam>login vashloginvsteam) - на этот раз она должна быть успешной.
Или проще Steam>login anonymous
Переходим к скачиванию сервера
Зададим директорию по умолчанию для будущего сервера, я указал полный путь от корня сервера, можете поступить так же.
CODE force_install_dir /home/csgo
В таком случае структура Вашего сервера будет выглядеть следующим образом
CODE /home/csgo
csgo@Debian-60-squeeze-64-minimal:~$ ls -la
total 1928
drwxr-xr-x 10 csgo csgo 4096 May 12 06:25 .
drwxr-xr-x 5 root root 4096 May 12 05:42 ..
drwxr-xr-x 4 csgo csgo 4096 May 12 06:25 852513c258fb430b76a1a1c2497d65a4djtf4g
drwxr-xr-x 4 csgo csgo 4096 May 12 06:25 bin
drwxr-xr-x 14 csgo csgo 4096 May 12 06:25 csgo
drwxr-xr-x 2 csgo csgo 4096 May 12 06:24 depotcache
drwxr-xr-x 2 csgo csgo 4096 May 12 05:45 linux32
drwxr-xr-x 2 csgo csgo 4096 May 12 05:45 package
drwxr-xr-x 10 csgo csgo 4096 May 12 06:25 platform
drwxr-xr-x 2 csgo csgo 4096 May 12 05:45 public
-rwx------ 1 csgo csgo 99328 May 12 06:25 srcds.exe
-rwx------ 1 csgo csgo 10259 May 12 06:25 srcds_linux
-rwx------ 1 csgo csgo 11233 May 12 06:25 srcds_run
-rwxr-xr-x 1 csgo csgo 1964 May 8 14:08 steam.sh
-rw-r--r-- 1 csgo csgo 1715622 Apr 12 03:44 steamcmd.tar.gz
-rwx------ 1 csgo csgo 73216 May 12 06:25 thirdpartylegalnotices.doc
Если это Ваша первая установка запускаем команду
CODE app_update 740 validate
В будущем достаточно обновляться
CODE app_update 740
Полный список AppID
После завершения, введите quit для успешного завершения работы со Steam серверами.
Запуск сервера
Выходим из командной строки стима, и уже в терминале линукса (для тестов - строка запуска будет такой)
Classic Casual (классический режим):
CODE ./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_allclassic +map de_dust2
Classic Competitive (классический DeathMatch):
CODE ./srcds_run -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_allclassic +map de_dust2
Arms Race (классический GunGame):
CODE ./srcds_run -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map de_dust2
Demolition (разновидность GunGame, только не в режиме DeathMatch. За раунд достаточно убить одного противника, что бы в следующем получить следующие оружие):
CODE ./srcds_run -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_dust2
Deathmatch:
CODE ./srcds_run -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust
Также в строке запуска можно прописать следующие переменные:
CODE -tickrate "128"
+sv_lan "0"
+sv_pure "0"
+fps_max "1000"
-maxplayers_override "32" // Количество игроков на сервере. В конфигах может быть любое значение, но это будет главнее.
Для автоматического обновления сервера в конце дописываем.
CODE -autoupdate -steam_dir /home/SteamCMD -steamcmd_script /home/SteamCMD/start-update_csgo.txt (путь к вашему файлу обновления сервера)
Login Failure: No Connection
На Linux вы можете получить ошибку "Login Failure: No Connection". Она связана с отсутствующими правилами iptables. Необходимо прописать например
CODE 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
Установка Counter Strike Global Offensive Server (SteamCMD) на CentOS 5.8
При установке увидели такую ошибку?
CODE [00:35:11] [gamearmy@gamearmy test]$ ./steam.sh
./steam.sh: line 49: ulimit: open files: cannot modify limit: Operation not permitted
./steam.sh: line 56: /home/gamearmy/test/linux32/steam: No such file or directory
[00:35:12] [gamearmy@gamearmy test]$ STEAMEXE=steamcmd ./steam.sh
./steam.sh: line 49: ulimit: open files: cannot modify limit: Operation not permitted
/home/gamearmy/test/linux32/steamcmd: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.10' not found (required by /home/gamearmy/test/linux32/steamcmd)
/home/gamearmy/test/linux32/steamcmd: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/gamearmy/test/linux32/steamcmd)
Ругнулся на линию 54, удаляем ее из файла "steam.sh"
Проверяем. Пишет следующее.
CODE [00:36:15] [gamearmy@gamearmy test]$ ./steam.sh
./steam.sh: line 54: /home/gamearmy/test/linux32/steam: No such file or directory
Это легко исправить. Перейдите к линии 54 от "steam.sh" и заменить следующее:
CODE ${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/${STEAMEXE} "$@"
На это:
CODE ${DEBUGGER} "${STEAMROOT}"/${PLATFORM}/steamcmd "$@"
Теперь ошибки будут следующие:
CODE [00:39:25] [gamearmy@gamearmy test]$ ./steam.sh
/path/to/steamsh/linux32/steamcmd: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.10' not found (required by /path/to/steamsh/linux32/steamcmd)
/path/to/steamsh/linux32/steamcmd: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /path/to/steamsh/linux32/steamcmd)
Одну из них вы можете решены путем загрузки libstdc.so.6.0.9 которые можно взять здесь.
CODE Libstdc + + so.6.0.9.tar
wget http://dbiers.me/wp-content/uploads/2012/08/libstdc++.so_.6.0.9.tar.gz
tar -zxvf libstdc++.so_.6.0.9.tar.gz
rm -f libstdc++.so_.6.0.9.tar.gz
Затем вам нужно будет поместить его в /USR/Lib и связать его с запрашиваемой версией:
CODE chmod 755 libstdc++.so.6.0.9
cp libstdc++.so.6.0.9 /usr/lib/.
cd /usr/lib/
unlink libstdc++.so.6
ln -s libstdc++.so.6.0.9 libstdc++.so.6
/sbin/ldconfig
Как только это будет завершено, вам все равно придется еще решить одну ошибку. Чтобы исправить это, вам нужно будет скачать пакет из Fedora 10.
x86 (32-bit): CODE http://rpm.pbone.net/index.php3/stat/4/idpl/10502724/com/libstdc++-4.3.2-7.i386.rpm.html
x64 (64-bit): CODE http://rpm.pbone.net/index.php3/stat/4/idpl/10505303/com/libstdc++-4.3.2-7.x86_64.rpm.html
x86 (32-Bit)
CODE rpm -ivh libstdc++-4.3.2-7.x86_64.rpm --replacefiles
x64 (64-Bit)
CODE rpm -ivh --replacefiles libstdc++-4.3.2-7.x86_64.rpm
Теперь можно приступать к установке самого сервера CS:GO
CODE [00:48:01] [gamearmy@gamearmy csgotest]$ STEAMEXE=steamcmd ./steam.sh
./steam.sh: line 53: ulimit: open files: cannot modify limit: Operation not permitted
Installing breakpad exception handler for appid(steam)/version(1345149945)
[ 0%] Checking for available updates...
[ 0%] Download complete.
[----] Verifying installation...
unlinked 0 orphaned pipes
removing stale semaphore last operated on by process 19612 with name 0eBlobRegistryMutex_E16D90A478D322868F42C740015851FD
removing stale semaphore last operated on by process 19612 with name 0eBlobRegistrySignal_E16D90A478D322868F42C740015851FD
Steam Console Client (c) Valve Corporation
-- type 'quit' to exit --
Loading Steam3...OK.
Loading Steam2...OK.
Steam>
Для Linux x64 нужно установить библиотеки x86:
Debian, Ubuntu, Mint и т.д.:
CODE apt-get install ia32-libs
Если выходит ошибка:
The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch but it is not installable E: Unable to correct problems, you have held broken packages.
CODE sudo dpkg --add-architecture i386
CODE sudo apt-get update
перед запуском
CODE apt-get install ia32-libs
Red Hat, RHEL, Fedora, CentOS и т.д.:
CODE yum install glibc.i686 libstdc++.i686
Arch Linux:
Вначале включаем репозиторий multilib
и пишем это
CODE pacman -S lib32-gcc-libs
На Linux мне очень сложно обновлять сервер. Каждый раз глючит вход в стим аккаунт.
Облегчил и ускорил обновление скрипт, который прописываю при обновлении сервера.
Создайте файл в паке SteamCmd с названием update_csgo.txt
Вписываем следующее для SteamCmd в файл:
CODE @ShutdownOnFailedCommand 1
@NoPromptForPassword 1
@sSteamCmdForcePlatformType windows - данный параметр может быть linux или macos, в зависимости от ОС вашего компа.
login anonymous
force_install_dir /Home/csgo
app_update 740 validate
exit
Запускаем SteamCmd с параметром +runscript.
CODE STEAMEXE=steamcmd ./steam.sh +runscript update_csgo.txt
P.S. Если у вас возникает ошибка ERROR! Failed to install app 'xxxxxx' (No subscription)
Значит нужно в параметре login указать логин и пароль. Анонимно не будет качаться. Это при скачивании файлов сервера для любой игры.
Своя группа карт в gamemodes_server.txt
В строке запуска укажите название своей группы +mapgroup mg_all
В файле gamemodes_server.txt
Находим внизу в разделе настройки режима "mapgroupsMP" и вставляем.
"mg_all" ""
Чтобы получилось
// Map groups for online modes
CODE "mapgroupsMP"
{
"mg_all" ""
"mg_bomb" "0"
"mg_hostage" "1"
"mg_de_train" "2"
"mg_de_dust" "3"
"mg_de_dust2" "4"
"mg_de_aztec" "5"
"mg_de_inferno" "6"
"mg_de_nuke" "7"
"mg_de_vertigo" "8"
"mg_cs_italy" "9"
"mg_cs_office" "10"
}
Ищем ниже раздел групп карт "mapgroups"
Добавляем свою группу со списком карт.
CODE "mg_all" // mapgroup definition
{
"name" "mg_all"
"maps"
{
"cs_office" ""
"cs_italy" ""
"de_dust2" ""
"de_train" ""
"de_inferno" ""
"de_dust" ""
"gg_office" ""
"de_aztec" ""
"gg_dust" ""
"de_nuke" ""
}
}
Дополнительные параметры запуска
CODE -tickrate
Устанавливает FPS сервера. Стандартное значение 64. Рекомендуемое для более комфортной игры 128, но это увеличит потребление ресурсов.
-insecure
Отключение VAC. Лучше этого не делать, если только вы не собираетесь собрать у себя на сервере самых отборных читеров
+net_public_adr 111.222.333.444
Задать внешний IP-адрес сервера. Полезно, если у Вас стоит роутер.
-port 27015
Задать порт сервера. ПО умолчанию 27015
Режимы игры
По умолчанию сервер запустится в режиме Classic casual(Классический обычный),
Чтобы изменить режим игры, нужно дописать параметры game_type и game_mode.
CODE Классический обычный (Casual): +game_type 0 +game_mode 0
Классический соревновательный (Competitive): +game_type 0 +game_mode 1
Гонка вооружений (GunGame): +game_type 1 +game_mode 0
Уничтожение объекта (GunGame с бомбой - Demolition): +game_type 1 +game_mode 1
Бой насмерть (Deathmatch): +game_type 1 +game_mode 2
Для каждого режима игры на сервере созданы по умолчанию файлы конфигурации.
CODE cfg/gamemode_armsrace.cfg
cfg/gamemode_casual.cfg
cfg/gamemode_competitive.cfg
cfg/gamemode_deathmatch.cfg
cfg/gamemode_demolition.cfg
Они все включаются по умолчанию от выбранного режима игры, который вы прописали в строке запуска сервера. Для каждого режима есть отдельные блоки настроек в /csgo/gamemodes.txt
Настройка сервера
Стандартная конфигурация каждого игрового режима определена в файле /csgo/gamemodes.txt. Изменять этот файл не рекомендуется. Если вы хотите изменить что-то в игровом режиме, используйте файл gamemodes_server.txt.example и сохраните его например gamemodes_server1.txt. Это пример файла настройки игровых режимов. Пропишите его в строке запуска сервера для параметра -gamemodes_serverfile
CODE -gamemodes_serverfile "gamemodes_server1.txt"
Поправим в файле только конфиг игрового режима сервера:
Значения из этого файла перезапишут стандартные значения из gamemodes.txt
не буду отображать содержимое всего файла, только самую суть.
CODE "GameModes_Server1.txt"
{
"gameTypes" //типы игрового режима
{
"classic" //классические режимы
{
"gameModes" //игровой мод
{
/////////////////////////////////////////
// Соревновательный
/////////////////////////////////////////
"competitive"
"exec"
{
// Выполнение вашего конфига server_last.cfg. Будет выполнен после server.cfg и перезапишет его параметры.
// Можно добавить свои конфиги, дописав
// В этом режиме по умолчанию используется конфиг cfg/gamemode_competitive.cfg или cfg/gamemode_competitive_server.cfg
// Я рекомендую его отредактировать как вам нужно и сохранить отдельным файлом, например gamemode_competitive_server1.cfg
// "exec" "название конфига.cfg"
"exec" "server_last.cfg"
"exec" "gamemode_competitive_server1.cfg"
}
/////////////////////////////////////////
// Обычный
/////////////////////////////////////////
"casual"
{
"exec" // В этом режиме по умолчанию используется конфиг cfg/gamemode_casual.cfg или cfg/gamemode_casual_server.cfg
{
// Укажем и создадим для этого режима новый файл конфигурации cfg/gamemode_casual_server1.cfg
"exec" "gamemode_casual_server1.cfg"
}
"gungame" // "Gungame" режимы
{
"gameModes"
{
/////////////////////////////////////////
// Гонка вооружений, gungame без бомбы ARMS RACE
/////////////////////////////////////////
"gungameprogressive"
{
"exec" // В этом режиме по умолчанию используется конфиг cfg/gamemode_armsrace.cfg или cfg/gamemode_armsrace_server.cfg
{
"exec" "gamemode_armsrace_server1.cfg"
}
/////////////////////////////////////////
// Уничтожение объекта, gungame с бомбой
/////////////////////////////////////////
"gungametrbomb"
{
"exec" // В этом режиме по умолчанию используется конфиг cfg/gamemode_demolition.cfg или cfg/gamemode_demolition_server.cfg
{
"exec" "gamemode_demolition_server1.cfg"
}
/////////////////////////////////////////
// DeathMatch Бой насмерть
/////////////////////////////////////////
"deathmatch" // Deathmatch режим. По умолчанию он отсутствует в файле.
{
"exec" // В этом режиме по умолчанию используется конфиг cfg/gamemode_deathmatch.cfg или cfg/gamemode_deathmatch_server.cfg
{
"exec" "gamemode_deathmatch_server1.cfg"
}
///////////////////////////////////////////////////////////////////////////////
// Группы карт. Вы можете создать свою группу карт, и добавить в нее карты, которые вам нравятся.
// Если вы используете Sourcemod, то, скорее всего, будете использовать какой-нибудь плагин управления картами, и этот раздел вам не понадобится.
///////////////////////////////////////////////////////////////////////////////
"mapgroups"
{
"mg_bomb_se" // Название группы карт
{
"name" "mg_bomb_se"
"maps"
{
"de_dust_se" ""
"de_dust2_se" ""
"de_nuke_se" ""
"de_train_se" ""
"de_inferno_se" ""
"de_aztec_se" ""
}
ЦИТАТА
|
АКТИВНЫЕ ТЕМЫ
Nikolay
10 Июня 2024 в 16:23
O JI E Ж K A
26 Декабря 2023 в 13:22
G3ntEZ
04 Января 2024 в 14:23
micro_killer
09 Сентября 2022 в 16:58
Bober
05 Июня 2022 в 07:55
micro_killer
23 Февраля 2020 в 11:54
O JI E Ж K A
11 Января 2020 в 17:23
O JI E Ж K A
14 Ноября 2019 в 18:48
O JI E Ж K A
22 Июня 2018 в 11:01
MRWhite9
06 Января 2021 в 12:47
Популярные темы
micro_killer
01 Августа 2018 в 19:03
Salazar
04 Июня 2018 в 14:59
G3ntEZ
04 Января 2024 в 14:23
micro_killer
23 Февраля 2020 в 11:54
micro_killer
23 Февраля 2020 в 12:13
micro_killer
15 Октября 2017 в 13:08
O JI E Ж K A
09 Января 2021 в 13:40
micro_killer
16 Февраля 2020 в 14:13
DarkZone
01 Июля 2019 в 12:24
micro_killer
05 Апреля 2023 в 16:31
|