Dedicated Servers
![Icon-delisted.png](/w/images/thumb/6/67/Icon-delisted.png/32px-Icon-delisted.png)
Здесь представлена историческая и техническая справка.
На этой странице описаны основы настройки и запуска выделенного сервера Counter-Strike: Global Offensive.
Contents
- 1 Ограничения
- 2 Полезные консольные команды(en) для устранения неполадок
- 3 Скачивание выделенного сервера CS:GO
- 4 Регистрация токена входа на игровой сервер
- 5 Запуск сервера
- 6 csgosl - графический интерфейс CSGO для Windows/Linux
- 7 Сценарии Linux
- 8 Программное обеспечение/скрипты для Windows
- 9 Расширенная конфигурация
- 10 Трансляция GOTV
- 11 Шифрование сетевых каналов
- 12 Мастерская Steam
- 13 Поиск неисправностей
- 13.1 SteamUpdater: проблема с ошибкой
- 13.2 SteamCMD всегда завершает работу при запуске
- 13.3 Мне удалось загрузить или обновить пакет сервера с помощью SteamCMD, но сервер не запускается
- 13.4 Клиенты не могут подключиться к серверу. Они получают сообщение об ошибке «Не удалось получить данные сеанса».
- 13.5 Как определить, нужно ли внести изменения в autoexec.cfg, server.cfg или gamemodes_server.txt?
- 13.6 Maxplayers не работает/переопределено
- 13.7 Если количество игроков достигает 25, новые игроки не могут подключиться к серверу.
- 13.8 Информация на экране подключения клиента в игре неверна
- 13.9 На моем сервере установлен пароль, и он должен быть закрытым, но как только один игрок присоединяется, сервер заполняется из-за подключений в лобби.
- 13.10 Как заставить сервер перезагружать gamemodes_server.txt после запуска сервера?
- 13.11 Как я могу запустить несколько/разных экземпляров сервера из одной установки?
- 13.12 Проблемы с SourceMod/Metamod
- 13.13 sv_consistency сообщает, что модели запрещены
- 13.14 Лаг round_end
- 13.15 mp_autoteambalance 0
- 13.16 Включение камеры убийства
- 13.17 Отключение MOTD
- 13.18 Обновление/скачивание выделенного сервера CS:GO
- 13.19 игроки переключаются между командами добавляет ботов
- 13.20 Прогресс оружия
- 13.21 неправильное количество пользователей или население, отображаемое в браузерах серверов
- 13.22 weapon_revolver не работает с кварами mp default_secondary
- 13.23 некоторые люди за дымом видны на радаре при использовании параметра запуска -nobots
- 13.24 Отключение: #GameUI_Disconnect_DeltaEntMessage при подключении к серверам с более чем 1500 указами.
- 13.25 несоответствие скобок во включенном файле gamemodes_server.txt.example
- 13.26 Нет данных (истекло время ожидания отправки данных).
- 14 Ссылки
Ограничения
Полезные консольные команды для устранения неполадок
Чтобы сервер работал лучше, он должен делать как можно меньше. Важно учитывать такие факторы, как entitycount и сообщения между ними. Слишком большое количество этих факторов приведет к деградации сервера или даже к его аварийному завершению.
ent_messages_draw 1
- Покажет вводы и выводы в реальном времени в мире.
physics_report_active
- Перечисляет все активные физические объекты.
report_cliententitysim
- Перечисляет все клиентские симуляции и время - сообщит и отключится.
report_clientthinklist
- Перечисляет все клиентские объекты, мыслящие и время - сообщит и отключится.
report_entities
- Перечисляет все объекты.
report_simthinklist
- Перечисляет все моделирующие/мыслящие объекты.
report_soundpatch
- Сообщает о количестве звуковых патчей.
report_touchlinks
- Список всех сенсорных ссылок.
См. также edict и предел объектов .
Скачивание выделенного сервера CS:GO
Здесь описывается процесс обновления приложения для выделенного сервера CS:GO. Эти действия необходимо выполнять при каждом обновлении игры. Чтобы автоматизировать этот процесс для будущих обновлений, см. SteamCMD#Automating SteamCMD.
1. Скачайте и установите SteamCMD.
2. Запустите SteamCMD. В поле Steam> укажите каталог установки выделенного сервера CS:GO.
![Icon-Bug.png](/w/images/thumb/b/b4/Icon-Bug.png/10px-Icon-Bug.png)
Например:
- Windows:
force_install_dir c:\csgo-ds\ force_install_dir .\csgo-ds\
- Linux:
force_install_dir /full/path/to/csgo-ds/
3. Войдите анонимно
login anonymous
4. Установите или обновите CS:GO. Если установка выполняется впервые или вы пытаетесь проверить целостность файлов сервера:
app_update 740 validate
Если это просто обновление существующего выделенного сервера CS:GO:
app_update 740
4. После завершения введите quit в поле Steam>, чтобы корректно выйти из серверов Steam.
Регистрация токена входа на игровой сервер
Игровые серверы CS:GO и ретрансляторы GOTV, не вошедшие в постоянную учетную запись игрового сервера с помощью Game Server Login Token (GSLT), будут разрешать клиентам подключаться только с тех же адресов RFC1918 в локальной сети (10.0.0.0-10.255.255.255,172.16.0.0-172.31.255.255,192.168.0.0-192.168.255.255). Если ваш сервер имеет публичный маршрутизируемый IP-адрес и клиентам необходимо подключаться извне локальной сети сервера, то вам необходимо зарегистрироваться в GSLT.
Для создания GSLT посетите утилиту создания GSLT и следуйте приведенным здесь инструкциям: управление аккаунтами серверов игр Steam
Каждый GSLT ограничен для использования только на одном выделенном экземпляре сервера и должен быть передан в командной строке со значением +sv_setsteamaccount ТутВашGSLT. Также можно использовать параметр командной строки -net_port_try 1, чтобы избежать случайного повторного использования экземплярами одного и того же GSLT.
Каждый игровой сервер, работающий с вашим GSLT, должен соответствовать изложенным здесь рекомендациям по эксплуатации игровых серверов: http://blog.counter-strike.net/index.php/server_guidelines/
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Запуск сервера
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
./srcds_run
вместо srcds
.![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
+sv_setsteamaccount ТутВашGSLT -net_port_try 1
,чтобы использовать свой GSLT. ТутВашGSLT относится к управление аккаунтами серверов,
где необходимо создать токен для входа в игру с помощью вашего аккаунта steam
Обычный:
srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2
Соревновательный:
srcds -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_active +map de_dust2
Гонка вооружений:
srcds -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots
Уничтожение:
srcds -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake
Смертельный бой:
srcds -game csgo -console -usercon +game_type 1 +game_mode 2 +mapgroup mg_allclassic +map de_dust
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
csgosl - графический интерфейс CSGO для Windows/Linux
Github Wiki (с изображениями) Скачать
csgosl — это графический пользовательский интерфейс для выделенного сервера Counter Strike Global Offensive (далее сервер CSGO). csgosl поддерживает установку, обновление, запуск и остановку сервера одним щелчком мыши на платформах windows и linux (поддерживаемых платформах). Если вы хотите получить собственный сервер CSGO, который будет запущен в кратчайшие сроки, то это место для вас. csgosl поддерживает большинство основных вариантов сервера. Расширенный режим позволяет опытному пользователю получить доступ к большинству cvar, а пользовательские cvar позволяют добавлять cvar в графический интерфейс.
Особенности csgosl:
- Полностью автоматическая установка (steamcmd + srcds + metamod/sourcemod/plugins)
- Обновление сервера, автоматическое или ручное
- Запуск/мониторинг/остановка сервера
- Запуск нескольких серверов на одном хосте
- Размещение только локальных или общедоступных серверов
- Добавление карт мастерской и группы карт
- Управление всеми картами и создание собственных групп карт с помощью редактора групп карт
- Удобный просмотр и выбор всех установленных карт с помощью предпросмотра карт
- Значительно упрощённые настройки сервера с разумными значениями по умолчанию
- Режим расширенных настроек для Control Freak (поддерживает все cvars с текстами справки в приложении)
- Управление RCON с помощью специальной консоли или кнопок быстрого доступа
- Переопределение настроек в одном месте для всех режимов/типов игры
- Онлайн-справка, легко доступная из приложения
- Поддержка пользовательских cvar
- Поддержка GOTV
- Поставляется с предустановленными sourcemod и metamod, а также некоторыми плагинами.
Сценарии Linux
Docker
Если ваш сервер работает под управлением Docker, вы можете просто использовать:
docker run -d --net=host --name=csgo-dedicated -e SRCDS_TOKEN={ВАШТОКЕН} cm2network/csgo
SRCDS_TOKEN обязательно должен быть указан; управление аккаунтами серверов игр Steam
Контейнер будет автоматически обновлять игру при запуске, поэтому в случае обновления игры достаточно перезапустить контейнер.
Конфигурация находится здесь: /home/steam/csgo-dedicated/csgo/cfg
Если вы хотите запустить другой экземпляр, вы можете увеличить переменные среды, используя -e (--env):
docker run -d --net=host -e SRCDS_PORT=27016 -e SRCDS_TV_PORT=27021 -e SRCDS_TOKEN={ВАШТОКЕН} --name=csgo-dedicated2 cm2network/csgo
SRCDS_TOKEN обязательно должен быть указан; Управление аккаунтами серверов игр Steam
Соответствующую страницу Docker Hub можно найти здесь: https://hub.docker.com/r/cm2network/csgo/
CSGO Server Launcher
CSGO Server Launcher — это простой bash-скрипт для создания и запуска выделенного сервера Counter-Strike: Global Offensive.
Образ Docker 🐳 также доступен.
Протестировано на дистрибутивах на базе Debian (Ubuntu, Mint, ...)
💥 Особенности
- start - Запустите сервер с переменной PARAM_START на экране.
- stop - Остановите сервер и закройте загруженный экран.
- status - Отображение состояния сервера (экран вниз или вверх)
- restart - Перезапуск сервера (stop && start)
- console - Отображение консоли сервера, на которой можно вводить команды.
- update - Обновление сервера на основе PARAM_UPDATE, затем сохранение лог-файла в LOG_DIR и отправка письма на LOG_EMAIL, если var заполнен.
- create - Создание сервера (сначала необходимо настроить скрипт).
📚 Документация
💡 Дополнительная информация: https://github.com/crazy-max/csgo-server-launcher
CS:GO Multiserver
Сценарий запуска и обновления, аналогичный CSGO Server Launcher, с поддержкой нескольких серверов, работающих на одной машине. Он был разработан, чтобы сделать проведение LAN-турниров максимально безболезненным и эффективным.
Основные направления включают:
- Пошаговая установка и обновление игры (csgo-server setup, csgo-server update)
- Игровые файлы распределяются между экземплярами, экономя место на диске и пропускную способность.
- Подробные параметры конфигурации для каждого экземпляра
- Дополнительный контроль при запуске с помощью переменных окружения (MAPS="de_inferno de_cache de_train" csgo-server @myinstance start)
- Доступ к консоли и поддержка лог-файлов
Дополнительная информация и скачивание: CS:GO Multiserver на GitHub: https://github.com/dasisdormax/csgo-multiserver
LinuxGSM CSGO Server
LinuxGSM - это инструмент командной строки для быстрого, простого развертывания и управления выделенными игровыми серверами под управлением ОС Linux.
Особенности
- Резервное копирование
- Консоль
- Подробности
- Установщик (SteamCMD)
- Монитор
- Оповещения (Email, Pushbullet)
- Обновление (SteamCMD)
- Запуск/остановка/перезапуск сервера
Поддерживаемые серверы
Поддерживается 100+ различных игровых серверов, и их число постоянно растёт. Полный список можно найти на сайте.
Ссылки
Сайт: https://linuxgsm.com/lgsm/csgoserver/
GitHub Repo: https://github.com/GameServerManagers/LinuxGSM
Программное обеспечение/скрипты для Windows
SteamCMD GUI
Этот инструмент позволяет использовать SteamCMD под Windows без командных строк и/или пакетных файлов.
GitHub Repo: https://github.com/DioJoestar/SteamCMD-GUI.git
pyr0s-csgo-server-launcher
Простой скрипт для запуска 3-х разных серверов в любом из 4-х доступных режимов игры. Моя первая попытка написать скрипт.
Ссылка: http://code.google.com/p/pyr0s-csgo-server-launcher/
Расширенная конфигурация
Настройка вашего нового сервера Counter-Strike: Global Offensive отличается от того, что администраторы серверов видели на предыдущих выделенных серверах. Есть некоторые основные различия, которые мы рассмотрим здесь.
autoexec.cfg
Файл должен быть создан в \csgo\cfg.
Этот файл выполняется перед запуском первой карты. В файле valve.rc выполняется файл autoexec.cfg, а в следующей строке - команда stuffcmds, которая будет выполнять параметры с + из командной строки.
В вашем autoexec.cfg вы можете установить cvars, которые должны быть установлены только один раз:
log on // Эта настройка включает ведение журнала! Не помещайте это в файл server.cfg hostname "Выделенный сервер Counter-Strike: Global Offensive" rcon_password "вашrconпароль" sv_password "" // Установите это, только если вы собираетесь иметь частный сервер! sv_cheats 0 // Это значение всегда должно быть установлено, чтобы вы знали, что оно не включено sv_lan 0 // Это значение всегда должно быть установлено, чтобы вы знали, что оно не включено exec banned_user.cfg exec banned_ip.cfg
server.cfg
Файл server.cfg находится в разделе \csgo\cfg. (создайте если его нет)
Этот файл выполняется при каждом изменении карты и перед файлами игровых режимов, перечисленными ниже. Приведем пример очень простого файла server.cfg:
mp_autoteambalance 1 mp_limitteams 1 writeid writeip
gamemodes.txt
Этот файл находится в папке \csgo\
По сути, этот файл определяет стандартные "правила" Valve для каждого режима игры. Например, в классической обычной игре комплекты обезвреживания выдаются CT автоматически, а в классической соревновательной игре их можно купить, как в предыдущих версиях CS. Не следует редактировать этот файл, поскольку Valve может в любой момент принять решение об изменении правил для того или иного игрового режима. Если вы настроите этот файл, то ваши изменения будут удалены в любой момент, когда Valve решит опубликовать обновление этого файла.
Несмотря на то, что редактировать этот файл не следует, его все же полезно использовать для определения того, как именно следует вносить те или иные изменения в convar. Найдите раздел, который вы хотите отредактировать, и вы увидите группу соответствующих конваров, которые вы можете установить. Опять же, необходимо внести изменения в файл gamemodes_server.txt.
Каждая секция файла разделяется по типу игры. Типы игр: обычная, соревновательная, гонка вооружений (gungameprogressive), уничтожение (gungametrbomb) и бой насмерть.
gamemodes_server.txt
Этот файл должен быть создан или иным образом сгенерирован из gamemodes_server.txt.example в папке \csgo\ Этот файл позволяет администратору сервера настраивать каждый игровой режим для своего сервера. Он переопределяет значения по умолчанию, установленные Valve в gamemodes.txt. С помощью этого файла, например, вы можете изменить максимальное количество раундов для типа игры по умолчанию или включить дружественный огонь, но уменьшить количество урона, наносимого союзникам.
ВАЖНО ПОДДЕРЖИВАТЬ ТУ ЖЕ ИЕРАРХИЮ И СИНТАКСИС, ЧТО И GAMEMODES.TXT!!! В комплект установки вашего сервера входит файл gamemodes_server.txt.example, который поможет вам изучить синтаксис. В стандартной установке сервера нет файла с именем gamemodes_server.txt. Вы должны переименовать, скопировать или создать новый файл с именем gamemodes_server.txt, чтобы иметь возможность настраивать режимы игры.
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Боты
Вы можете изменить количество ботов, то, как боты заполняют сервер и насколько они болтливы, обновив приведенные ниже конвары:
"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 (величина, превышающая средний балл вклада человека, при превышении которой бот должен снизить сложность)
Конвары раунда
Следующие конвары могут быть изменены, чтобы обновить порядок проведения раундов. Можно менять ограничения по раундам, по времени, по времени, заставлять игроков застывать на месте, покупать, заставлять камеру показывать членов команды только в мертвом состоянии. Каждый конвар устанавливается специально для каждого типа игры, так что вам придется пройтись по всем режимам игры, чтобы обновить их все! Они могут быть переопределены настройками в файлах cfg/gamemode_XXX.cfg и cfg/gamemode_XXX_server.cfg, подробности которых приведены ниже.
"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 Progression
На сервере доступны конвары для обновления информации о прохождении отдельных игроков через оружие в обоих режимах Gun Game. Для перехода к следующему оружию можно установить очередность оружия и требования к количеству убитых. Эти конвары разделены по командам, поэтому будьте осторожны, внося изменения для обеих сторон, иначе это может привести к дисбалансу матчей на вашем сервере.
В качестве примера приведем список конваров прогрессии оружия на гонке вооружений для одной команды:
"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" }
Ниже приведен пример развития оружия на уничтожение для одной команды:
"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" }
Обратите внимание, что в гонке вооружений по умолчанию используется случайное оружие. Чтобы принудительно использовать пользовательский список, установите для mp_ggprogressive_use_random_weapons
значение 0
.
gamemode_casual_server.cfg
Файлы gamemode_casual_server.cfg и gamemode_casual.cfg находятся в папке cfg. Последний (gamemode_casual.cfg) настраивается Valve и содержит конвары, которые устанавливаются в начале каждого матча в классическом обычном (они устанавливаются каждый раз, когда сервер загружает карту). Аналогичный файл существует для каждого режима игры (замените casual на соответствующий режим, т.е. competitive, или armsrace). Формат этого файла прост, это "convar setting //необязательный комментарий
". Например, из файла gamemode_casual.cfg:
bot_autodifficulty_threshold_high 0.0 // Значение от -20,0 до 20,0 (Кол... cash_player_bomb_defused 200
Администраторы не должны изменять файлы gamemode_XXX.cfg. Принятое компанией Valve соглашение об именовании файлов предполагает, что эти файлы могут быть изменены в будущем, и ваши настройки могут быть перезаписаны. Вместо этого изменяйте свой созданный файл, заканчивающийся на _server.cfg.
Каждый файл gamemode_XXX.cfg может иметь соответствующий файл gamemode_XXX_server.cfg в папке cfg. Согласно принятому в Valve соглашению об именовании файлов, файлы _server.cfg не будут перезаписываться будущими обновлениями. Любые настройки, указанные в файле _server.cfg, отменяют настройки в исходном файле конфигурации, поскольку файл _server.cfg выполняется после него. Этот порядок можно увидеть в файле gamemodes.txt.
Настройки в файлах gamemode_XXX.cfg и gamemode_XXX_server.cfg, похоже, переопределяют настройки в файлах gamemodes_server.txt и server.cfg. Кроме того, из-за форматирования проще изменять настройки в файле gamemode_XXX_server.cfg.
При изменении настроек количество пробелов или табуляций между словами convar и setting вроде бы не имеет значения, но они должны быть. Комментарии являются однострочными в стиле C++ и должны идти только после символа //.
После запуска выделенного сервера можно ввести следующую команду для вывода всех доступных конваров, которые могут быть изменены:
// Выходной файл будет расположен в папке csgo вашего выделенного сервера cvarlist log cvarlist.txt
Карты
В игре больше не используются файлы maplist.txt, а карты, на которых вы играете, теперь управляются группами карт. Сервер должен быть запущен с mapgroup или workshop_collection, иначе карты будут циклиться некорректно. Пример группы карт см. в прилагаемом файле gamemodes_server.txt.example.
Трансляция GOTV
Серверы Counter-Strike: Global Offensive поддерживают трансляцию GOTV на основе сообщений UDP напрямую подключенным клиентам или через дерево выделенных серверов, сконфигурированных как ретрансляторы GOTV. Более современное решение для трансляций, позволяющее передавать и воспроизводить потоковые игровые данные по протоколу HTTP, в первую очередь через CDN, является новым для CS:GO. Для получения более подробной информации, посетите страницу трансляции CS:GO .
Шифрование сетевых каналов
Сетевые каналы Counter-Strike: Global Offensive поддерживают шифрование пакетов клиент-сервер. Клиентское программное обеспечение сторонних производителей может устанавливать ключи шифрования в процессе работы клиента CS:GO для подключения к определенным серверам сторонних производителей. Для получения более подробной информации, пожалуйста, посетите страницу Шифрование сетевых каналов CS:GO .
Мастерская Steam
Как разместить карты мастерской на выделенном сервере CS:GO
ПРИМЕР КОМАНДНОЙ СТРОКИ:
Это запустит сервер с "se + mirage collection" и установит начальную карту на de_dust2_se.
srcds -game csgo -console -ip ТУТ.ВАШ.АДРЕС.PUBLIC.IP +game_type 0 +game_mode 1 +host_workshop_collection 125499818 +workshop_start_map 125488374 -authkey ТУТВАШAUTHKEY
Получение ключа авторизации Web API
Для загрузки карт из мастерской вашему серверу необходим доступ к steam web api. Для этого потребуется ключ авторизации, который можно сгенерировать здесь.
После получения ключа запустите свой сервер с параметром командной строки '-authkey XXXXXXX', где XXXXXXX - ключ. Также можно добавить ключ в виде одной строки в файл webapi_authkey.txt в папке csgo.
Ваш ключ авторизации привязан к вашей учетной записи Steam, так что держите его в тайне!
Размещение карт мастерской
Существует два возможных способа добавления карт, размещённых в мастерской, на ваш сервер.
- Добавление fileids или collectionids в соответствующие файлы конфигурации.
- Использование команд движка для размещения карт на лету. (Предпочтительный способ)
Использование списков подписки
Эти файлы автоматически загружаются при запуске и при каждом вызове ds_get_newest_subscribed_files. в результате чего перезагружаются файлы webapi_authkey.txt, subscribed_collection_ids.txt и subscribed_file_ids.txt. и извлекает последнюю версию этих файлов мастерской.
Эти два файла ищутся в папке csgo (каталог мода, где находятся cfg, материалы и т.д.) или в папке platform (не проверено).
. └── csgo ├── subscribed_collection_ids.txt └── subscribed_file_ids.txt
Эти файлы содержат по одной строке на каждый идентификатор файла/коллекции, о том, как их получить, смотрите следующий раздел.
Например для subscribed_file_ids.txt:
155303655 122521875 157224448
Использование команд движка
![Note.png](/w/images/thumb/c/cc/Note.png/10px-Note.png)
Консольная команда для размещения карты мастерской имеет следующий вид
host_workshop_map <id файла>
Обратите внимание, что это также можно добавить в командную строку srcds в виде
+host_workshop_map <id файла>
Вы можете найти id карты мастерской в URL-адресе страницы мастерской.
Эта команда загрузит последнюю версию карты, создаст mapgroup с этой картой в качестве единственного элемента и разместит ее на хостинге.
Аналогичным образом можно размещать коллекции мастерских. Используйте команду
host_workshop_collection <collectionid>
где collectionid — это число, найденное так же, как и выше, но в URL-адресе страницы коллекции. Эта команда загрузит все карты в коллекции и создаст из них mapgroup, а затем разместит на хостинге.
Обновления карты
При смене уровней на карте мастерской ваш сервер сначала проверит, доступна ли более новая версия, и при необходимости загрузит ее. Клиенты будут уведомляться в чате о загрузке и ходе ее выполнения. С помощью этих конваров можно управлять этими сообщениями и их частотой:
sv_broadcast_ugc_downloads <0|1> sv_broadcast_ugc_download_progress_interval <секунд>
В процессе подключения клиенты загружают последнюю версию карты хостинга.
Официальные карты CS:GO и карты _SE (упрощённое издание)
Карты _SE (или S импровизированная E версия) больше не распространяются в CS:GO. Официальные карты CS:GO и _SE можно добавить из официальных предметов мастерской CS:GO.
Карты, такие как версии совместимости или карты в файлах игры, которые были недавно обновлены, являются самой новой версией[1]. Старые версии совместимости и версия с пометкой «официальный контент, входящий в состав Counter-Strike: Global Offensive». обычно следует избегать, если вы не знаете, что делаете, например, смотрите старые демо . ("Официальный контент" карты Vertigo, Militia, Dust и Aztec были сломаны, когда эти карты были удалены из игры, выбрать версию совместимости?)
Официальный сайт CS:GO сделал коллекцию, которую вы можете использовать. Кроме того, вы можете использовать любые файлы, созданные сообществом.
http://steamcommunity.com/sharedfiles/filedetails/?id=125499590
рекомендации
- Dust II_se
- Inferno_se
- Nuke_se
- Train_se
- Mirage
чтобы использовать эту коллекцию, добавьте
+host_workshop_collection 125499590
в свою командную строку.
Сообщения ошибок и отладки
Для того чтобы включить подробный вывод информации, установите
sv_debug_ugc_downloads 1 developer 1
При этих настройках сервер будет выдавать результаты, которые он получает от steam. При работе вы увидите вывод, подобный этому:
Fetched 1076 bytes via HTTP: response { result int( 1 = 0x1 ) resultcount int( 1 = 0x1 ) publishedfiledetails { 0 { publishedfileid int( 123868347 = 0x76214BB ) result int( 1 = 0x1 ) creator 76561197975050072 creator_app_id int( 745 = 0x2E9 ) consumer_app_id int( 730 = 0x2DA ) filename mymaps/de_aztec_proper.bsp file_size int( 26420720 = 0x19325F0 ) file_url http://cloud-2.steampowered.com/ugc/XXX/XXXXXXX/ hcontent_file 884098750744150125 preview_url http://cloud-2.steampowered.com/ugc/XXX/XXXXXX/ hcontent_preview 884098750744170633 title De_Aztec_Proper description Aztec with adjusted visibility. A rebalanced underpass area,two new routes and many other changes remove the map's CT bias. time_created int( 1359545920 = 0x51090640 ) time_updated int( 1359545920 = 0x51090640 ) visibility int( 0 = 0x0 ) banned int( 0 = 0x0 ) ban_reason subscriptions int( 3 = 0x3 ) favorited int( 1 = 0x1 ) lifetime_subscriptions int( 3 = 0x3 ) lifetime_favorited int( 1 = 0x1 ) views int( 13 = 0xD ) tags { 0 { tag Classic } } } } }
При возникновении ошибки вы можете увидеть примерно следующее:
host_workshop_map 122439431 Fetched 140 bytes via HTTP: response { result int( 1 = 0x1 ) resultcount int( 0 = 0x0 ) publishedfiledetails { 0 { publishedfileid int( 122439431 = 0x74C4707 ) result int( 9 = 0x9 ) } } } Failed to parse file details KV for id 122439431. Result enum: 9 File id 122439431 not found. Probably removed from workshop
Это распространенная ошибка (result 9, file not found), которая может возникнуть, если файл удален из мастерской или если права доступа изменены на только для друзей или приватно. Эта ошибка также возникает, если есть проблема с вашим ключом аутентификации.
Другая распространенная ошибка может проявляться следующим образом:
Fetched 1042 bytes via HTTP: CDedicatedServerWorkshopManager: received file details for id 125499818: 'Collection Title'. Skipping download for file id 125499818:'Collection Title' - version on disk is latest. Setting mapgroup to '125613177' CModelLoader::Map_IsValid: No such map 'maps/workshop/125499818/1360205838_collection_branding.bsp' changelevel failed: workshop/125499818/1360205838_collection_branding not found
Это происходит из-за передачи id коллекции в 'host_workshop_map' вместо 'host_workshop_collection'. Убедитесь, что в 'host_workshop_map' передается только id карты, а в 'host_workshop_collection' - только id коллекции.
Не смешивайте команды 'subscription lists' и host_workshop. При возникновении проблем попробуйте удалить файлы списка подписок.
Другой способ сделать это, как объяснил пользователь Reddit
Прежде всего, перейдите в мастерскую CS:GO в steam. (Примечание. Чтобы продолжить, необходимо войти в Steam.)
Найдите понравившиеся карты и щелкните на них. (Я предпочитаю открывать их на разных вкладках).
Добавьте карты в избранное.
После того, как добавили в избранное все карты которые по вашему мнению понадобятся, перейдите на вкладку «Коллекции» в мастерской CS:GO.
Нажмите «Создать коллекцию».
Добавьте все нужные файлы из списка избранных. Вот мои коллекции, чтобы вы могли посмотреть как они выглядят.
При создании коллекции вы будете определять порядок карт (mapcycle.txt не работает в GO). Карты можно перемещать вверх или вниз по списку, но это очень медленно, поэтому я предпочитаю просто заполнять список в том порядке, в котором они мне нужны изначально.
Как только вы добавите элементы, на самой последней странице пошагового руководства по созданию вашей коллекции появится кнопка «Опубликовать». Он будет находиться в верхней части окна (даже если все кнопки «Продолжить» находились внизу). Не забудьте нажать на неё.
Как только вы это сделаете, вы получите ссылку, которая выглядит следующим образом: http://steamcommunity.com/sharedfiles/filedetails/?id=125645871
Строка цифр в конце - это id коллекции вашей мастерской.
Также можно указать карту запуска с помощью команды +workshop_start_map #############, где ########## - id карты. Например, dust_se это 125498851, который можно найти по ссылке.
После этого необходимо запустить сервер с помощью комбинации команд такого типа:
-authkey ########### +host_workshop_collection 125652555 +workshop_start_map 125488374
Перезапустите свой сервер, и он пройдёт через процесс загрузки всех карт из вашей коллекции на сервер. ВЫ можете посмотреть это в выводе консоли, чтобы убедиться, что всё работает правильно.
Источник: http://www.reddit.com/r/GlobalOffensive/comments/186z0g/map_workshop_and_servers/c8cantc
Поиск неисправностей
SteamUpdater: проблема с ошибкой
Иногда вы можете столкнуться с такой проблемой на некоторых машинах с некорректной конфигурацией Internet Explorer.
Установите флажок «Автоматически определять настройки» на вкладке «Локальная сеть» в параметрах Internet Explorer в вашей операционной системе.
SteamCMD всегда завершает работу при запуске
Обратитесь к приведённому выше SteamUpdater: проблема с ошибкой. Это часто вызвано неправильными настройками IE.
Мне удалось загрузить или обновить пакет сервера с помощью SteamCMD, но сервер не запускается
Общие причины:
- В некоторых дистрибутивах Linux путь не может содержать заглавных букв.
Клиенты не могут подключиться к серверу. Они получают сообщение об ошибке «Не удалось получить данные сеанса».
Вероятно, это вызвано указанием недопустимой группы карт в командной строке запуска. Например, обновление от 10 августа 2012 г. удалило группу карт «mg_allclassics». Сменив на действительную группу карт, например mg_active, может решить проблему.
Как определить, нужно ли внести изменения в autoexec.cfg, server.cfg или gamemodes_server.txt?
Здесь в игру вступает файл gamemodes.txt (а не gamemodes_server.txt). Найдите значение, которое вы хотите изменить, и если оно существует в этом файле, то сделайте переопределение в gamemodes_server.txt (обратите внимание на иерархию и синтаксис!!!). В противном случае, большинство других изменений следует делать в server.cfg.
Maxplayers не работает/переопределено
- Начиная с обновления от 14 августа, Valve услышала крики своих людей и добавила аргумент командной строки «-maxplayers_override», который переопределяет любые другие определения maxplayers. И было много радости.
Прогресс конфигурации maxplayers через бета-версию:
- Вначале (до CS:GO) Valve создала аргумент командной строки +maxplayers. Обычно это позволяло провайдерам игровых серверов устанавливать значение, которое операторы серверов не могли переопределить через файлы конфигурации (и, таким образом, получать доступ к большему количеству слотов для игроков, чем они заплатили). Valve и GSP увидели, что это хорошо.
- [Это верно?] Затем Valve создала CS:GO и удалила +maxplayers из командной строки. Таким образом, Valve сказала: "Вы больше не будете устанавливать maxplayers через командную строку. Вместо этого мы создали переменную maxplayers в gamemodes.txt. Вы должны определить максимальное количество игроков в gamemodes_server.txt следующим образом:"
"GameModes_Server.txt"
{
"gameTypes"
{
"classic"
{
"gameModes"
{
"competitive"
{
"convars"
{
maxplayers "24"
}
}
}
}
}
}
Поскольку теперь это позволило операторам серверов легко устанавливать максимальное количество игроков из общего и легко редактируемого текстового файла, GSP забеспокоились. Послышался плач и скрежет зубов.
- Начиная с обновления [10 августа?], Valve снова перенесли расположение maxplayers. Хотя он всё ещё находился в gamemodes/gamemodes_server.txt, он был перемещен на один уровень выше из раздела convars, то есть:
"GameModes_Server.txt"
{
"gameTypes"
{
"classic"
{
"gameModes"
{
"competitive"
{
maxplayers "24"
}
}
}
}
}
Если количество игроков достигает 25, новые игроки не могут подключиться к серверу.
Кажется, это ошибка. Это проблема с картой?
Информация на экране подключения клиента в игре неверна
Кажется, есть способ настроить отображаемую здесь информацию (разделы пользовательского интерфейса в gamemodes.txt/gamemodes_server.txt). Кто-нибудь знает, как?
На моем сервере установлен пароль, и он должен быть закрытым, но как только один игрок присоединяется, сервер заполняется из-за подключений в лобби.
Ошибка. В качестве обходного пути удалите свой сервер из списка подбора игроков с помощью переменной sv_steamgroup_exclusive 1.
Как заставить сервер перезагружать gamemodes_server.txt после запуска сервера?
В настоящее время это может быть невозможно без перезапуска сервера.
Как я могу запустить несколько/разных экземпляров сервера из одной установки?
Параметр командной строки -gamemodes_serverfile позволяет указать файл, отличный от используемого по умолчанию gamemodes_server.txt.
Проблемы с SourceMod/Metamod
Посетите эту тему.
sv_consistency сообщает, что модели запрещены
- -В данный момент просто установите sv_consistency на 0.
Лаг round_end
- Наиболее заметно, когда round_end срабатывает, когда все игроки мертвы.
- По-видимому, настройка srcds для работы только на 1 ядре устраняет эту проблему, однако это не подтверждено, поскольку у меня такая же проблема на одном ядре.
- Я цитирую: Я просто проверял это снова и снова, и пришел к выводу, что affinity влияет на сервер csgo (у меня также Windows 2008 R2, моя виртуальная машина). С включенной привязкой к одному из 4 ядер я не заметил никакого отставания в конце раунда по сравнению с тем, когда это было раньше, когда все ядра были включены.
mp_autoteambalance 0
- Если вы запустите сервер с mp_autoteambalance 0, боты не присоединятся, и вы получите сообщение об ошибке, говорящее, что игра заполнена, когда вы попытаетесь добавить их. Кроме того, к каждой команде может присоединиться только 1 человек. Если третий игрок пытается присоединиться к команде, он получает сообщение «Команда заполнена» для обеих команд при попытке присоединиться. Только началось после обновления от 21 мая.
Включение камеры убийства
- Если вы хотите включить killcams, GOTV должен быть включен (запустите сервер с параметром -hltv +tv_enable 1). Затем убедитесь, что для параметра spec_replay_enable установлено значение 1. Камеры убийства не будут работать ни с ботами, ни с конкурентами.
Отключение MOTD
- Чтобы отключить MOTD, просто удалите motd.txt в папке csgo.
Обновление/скачивание выделенного сервера CS:GO
- При запуске «app_update 740» или «app_update 740 validate» вы получаете следующую ошибку.
App state (0x10102) reconfiguring, progress: -nan (0 / 0) Error! App '740' state is 0x1 after update job.
- Используйте команду force_install_dir и повторите попытку.
- Если вы получаете следующую ошибку после успешного входа в учетную запись при запуске «app_update 740» в Linux:
ERROR! Failed to request AppInfo update, not online or not logged in to Steam.
- Удалите/переименуйте папку «Steam» из домашней папки текущих учетных записей пользователей и повторно запустите steamcmd.
игроки переключаются между командами добавляет ботов
- В «Гонке вооружений» независимо от того, равно ли bot_quota 0 или какое значение имеет bot_quota_mode, когда кто-либо меняет команду, он добавит 1 к bot_quota и добавит бота. На некоторых серверах, если кто-то быстро переключается между командами, это приведет к сбою сервера. Это может произойти и в классическом режиме во время разминки.
- Sylwester из alliedmods.net создал плагин SourceMod для решения этой проблемы. Я проверил и убедился, что это работает.
- - Система быстрого возрождения CSGO использует команды добавления ботов, Valve нужно исправить это. Вот плагин SourceMod для остановки этого. [[Ru/|]]https://github.com/ambaca/Bacardi-Dumpster-of-SM-Plugins/tree/master/CSGO%20Bug%20Fix%20Bot%20Add%20Jointeam GitHub --Bacardi 20:32, 5 April 2020 (UTC) , альтернативный источник
Прогресс оружия
- Изменение прогресса оружия в файле gamemodes_server.txt не изменит прогресс оружия. Вы также должны удалить этот раздел из файла gamemodes.txt, чтобы изменения в gamemodes_server.txt вступили в силу.
неправильное количество пользователей или население, отображаемое в браузерах серверов
- отключить ботов или надо исправить host_info_show 2?
weapon_revolver не работает с кварами mp default_secondary
некоторые люди за дымом видны на радаре при использовании параметра запуска -nobots
Отключение: #GameUI_Disconnect_DeltaEntMessage при подключении к серверам с более чем 1500 указами.
- После обновления от 29 апреля 2015 года, когда игрок пытается присоединиться к серверу, на котором присутствует более 1500 указов, он будет отключен от сервера с этим сообщением. Сохранение количества указов (сущностей, таких как реквизит, оружие и т. д.) ниже 1500 предотвратит появление этой ошибки.
- Об этой ошибке сообщалось в репозитории Valve csgo-osx-linux github некоторое время назад.
несоответствие скобок во включенном файле gamemodes_server.txt.example
- Удалите файл gamemodes_server.txt.example и обновите сервер (или игру заново), вы получите новый, исправленный файл. --Bacardi 08:46, 6 April 2020 (UTC)
Нет данных (истекло время ожидания отправки данных).
- Сервер, использующий GOTV и режим гибернации, не будет отображать текущую карту в браузере серверов. Неиспользование гибернации — единственный известный обходной путь.
Ссылки
- kr0tchet (talk) - После загрузки официального контента (7 февраля 2013 г.) и более поздней версии Dust II для совместимости (1.23.1.2, 4 июля 2013 г.) в мастерской Steam и извлечения сжатого файла BSP первый (официальный) оказался самым старым из доступных в мастерской. Последняя версия всегда будет исходить из самих файлов игры (при условии, что она была проверена вручную или обновлена автоматически).[user-generated source]
|