Обновление кода25 сент. 2026 г., 00:55 GMT+3

Обновление CS2 (25 сент. 2026 г.)

Режим Rush получил прояснения правил и локализуемые названия комнат, интерфейс Major Hub & Shop стал стабильнее, а ряд серверных convar'ов и внутренних сетевых метрик обновлены.

Кратко

  • Правила режима Rush и названия комнат прояснены: защита при спавне отключена, а имена арен переведены через локализацию.
  • Интерфейс Major Hub & Shop получил структурированные вьюхи, предсказуемое поведение кнопок «назад/закрыть» и более понятный заголовок.
  • Несколько convar'ов, связанных с командным уроном и контролем раунда, стали `commandline_enforced`, что ужесточает способ их изменения.
  • Добавлены внутренние сетевые метрики для размеров netframe и числа сообщений, а у оружия появилось сетевое состояние `m_bReloadHeldSinceStart` для будущих настроек.
  • Заголовок окна "Report Player" теперь поддерживает HTML, и обновлены множество небольших строк движка и инструментов.

Небольшое обновление CS2 вносит правки в режим Rush, улучшает интерфейс Major Hub & Shop и делает ряд бэкенд‑изменений в сетевом отслеживании и серверных настройках, которые со временем заметят операторы серверов и технически подкованные игроки.

Улучшения интерфейса Major Hub & Store

  • Вход в раздел Major: Плитка Major в полноэкранном магазине теперь открывает централизованный попап через функцию OpenMajorHub() вместо старого прямого вызова устаревшего попапа магазина Major. На практике это значит, что из главного меню откроется единый «hub», которому можно передать активный идентификатор события.
  • Новый заголовок хаба: Над зоной Major в магазине используется новая локализуемая строка "major_hub_store_title_hud_store", которая отображается как {s:tournament_name} Major Hub & Shop. Это подчёркивает, что панель включает и информацию о событии, и магазин, а не только сам шоп.
  • Упорядоченная навигация внутри попапа Major:
    • Попап магазина Major (popup_major_store.js) формализует внутренние страницы как именованные вьюхи (VIEW_HOME, VIEW_CONTENT, VIEW_CHARMS, VIEW_TEAM, VIEW_SINGLE) и управляет ими через таблицу STORE_VIEWS.
    • Действия навигации — Home, Favorites, Charms и фильтр‑«see all» — теперь вызывают _ShowMainPanel с идентификатором вьюхи вместо жёстко прописанных ID панелей.
    • Логика обновления Home централизована в _RefreshHome, который перестраивает карусели и обновляет вкладки навигации при видимости домашнего экрана.
    • Список Favorites теперь использует общий контент‑вид (VIEW_CONTENT) и может подгружаться на месте без перехода между ad‑hoc функциями.
  • Поведение кнопок «назад» и «закрыть»:
    • Кнопка назад вызывает помощник _GoBack. Если у активной вьюхи определён backTarget (например, одиночный просмотр стикера возвращает в командный вид), навигация идёт туда; иначе выполняется действие Home.
    • Новая функция _UpdateFooterButtons следит за тем, чтобы на Home была видна кнопка закрытия, а кнопка назад — скрыта, и наоборот для вложенных вьюх. Это делает поведение футера более предсказуемым для многозвенного UI.
    • Нажатие общего «back» (escape/overlay back) внутри попапа Major теперь предпочитает шаг назад по иерархии магазина перед полным закрытием попапа, вместо немедленного возврата в главное меню.
  • Обновляемость командных и одиночных вьюх:
    • Магазин отслеживает, какая команда и какой набор стикеров отображаются в team и single вьюхах. Новые помощники _RefreshTeamView и _RefreshSingleView перестраивают видимые тайлы при обновлении вьюхи, вместо повторного вычисления состояния с нуля.
    • После закрытия полноэкранного просмотра предмета магазин вызывает _UpdateVisiblePanel(cp, true), что повторно выполняет логику обновления активной вьюхи, сохраняя состояние прокрутки. Это помогает избежать устаревших элементов при переходах между просмотром и каталогом.
  • Унификация фильтров:
    • Панель фильтров устанавливает атрибут filter-button для кнопок фильтра и прикрепляет единый обратный вызов fnRefilter ко всем ним, включая переключатели серий (SERIES_FILTERS). Любая активация кнопки фильтра запускает _UpdateItemsList один раз, упрощая поддержку системы фильтрации.
    • Слайдер «Keychains only» использует _EnableDisableFilterPanelBtns для включения/отключения остальных переключателей вместо дублирования логики inline, что снижает вероятность ошибок, когда какие‑то кнопки остаются в неверном состоянии.
  • Страница Charms: Страница брелоков/ключей теперь последовательно использует идентификатор VIEW_CHARMS, и как onShow, так и onRefresh этой вьюхи вызывают _SetUpKeyChainsPage, благодаря чему при переключениях вкладок контент брелоков остаётся синхронизированным.
  • Единый сниппет для одиночных тайлов: Одиночный вид стикера заменяет прямое создание ItemImage на общий Panel с использованием сниппета store-tile. Это помогает унифицировать взаимодействия и стилизацию с другими тайлами магазина (например, hover‑состояния и отображение цены).

В целом эти изменения указывают на то, что Valve делает магазин и хаб турниров более надёжными и похожими на полноценное приложение: чёткое разделение Home/Content, предсказуемое поведение кнопки назад и меньше специализированных путей в коде.

Окно «Report Player»: безопасное форматирование заголовка

  • HTML‑включённый заголовок: Метка заголовка попапа "Report Player" теперь имеет html="true", при этом текст остаётся "Reporting {s:target_player}".
  • Практический смысл:
    • Это позволяет системе UI использовать HTML‑форматирование в заголовке (например, стилизованные или цветные имена игроков, поступающие из других частей UI).
    • Поскольку изменение касается только интерпретации текста метки, это также может быть шагом к централизации экранирования и стилизации имён игроков в попапах. Игроки вряд ли сразу заметят визуальную разницу, но Valve получает больше гибкости при последующих правках отображения имён.

Rush: более понятные правила и локализуемые названия комнат

Режим Rush получил несколько правок, направленных на то, чтобы игрокам было яснее, каковы правила и где они сражаются.

Настройки геймплея

  • Отключена защита при спавне в Rush: Файл конфигурации gamemode_rush.cfg теперь явно устанавливает:
    • mp_spawnprotectiontime 0
  • Практический эффект: В Rush игроки больше не получают защиту при спавне, заданную глобальной cvar. Поскольку Rush — это быстрая последовательность небольших арен, это усиливает стиль игры с быстрыми стычками: сразу после появления вы можете и наносить, и получать полный урон.

Обновлённый текст правил в загрузочном экране

  • Новый текст загрузки: Текст загрузки Rush ("SFUI_Rules_Rush_Loading") переписан для точного описания режима:
    • "Advance through a gauntlet of battle arenas." (Продвигайтесь через полосу боевых арен.)
    • "To win the match, capture the enemy's castle or win 8 rounds." (Чтобы выиграть матч — захватите вражеский замок или выиграйте 8 раундов.)
    • "To win a round, control the tower when time expires." (Чтобы выиграть раунд — контролируйте башню при истечении времени.)
    • Короткий список основных настроек:
      • Можно покупать броню
      • Столкновения между игроками включены
      • Дружественный урон включён
  • Что это даёт игрокам: Текст прямо в загрузочном экране разъясняет условия победы и ключевые механики (контроль башни, общие правила), так что новые игроки лучше понимают цели и ожидания по режиму.

Локализуемые названия комнат Rush

  • Идентификаторы комнат в скрипте: Скрипт карты Rush (maps/scripts/rush_001.js) раньше содержал жёстко прописанные английские названия комнат (например, "Spire", "Wallbang", "Trainyard"). Теперь они заменены на ключи‑идентификаторы:
    • 101: "room_101", 102: "room_102" … 212: "room_212", а также 301: "room_301", 401: "room_401".
    • Комната convoy оставлена как "Convoy" в скрипте и сопоставляется с локализационной записью.
  • Новые записи локализации: Англоязычный файл локализации (csgo_english.txt) теперь содержит текст для этих ключей, например:
    • "room_101" → "Spire"
    • "room_102" → "Wallbang"
    • "room_103" → "Big Box"
    • "room_104" → "Madhouse"
    • "room_201" → "Sewer"
    • "room_202" → "Dogleg"
    • "room_203" → "Trainyard"
    • "room_204" → "Crane"
    • "room_205" → "Bloc"
    • "room_206" → "Hydro"
    • "room_207" → "Atomic"
    • "room_208" → "Medusa"
    • "room_209" → "Bear"
    • "room_210" → "Steel"
    • "room_211" → "Container"
    • "room_212" → "Drop"
    • "room_301" → "CT Castle"
    • "room_401" → "T Castle"
    • "convoy" → "Convoy"
  • Зачем это важно: Перенос имён в ключи локализации позволяет переводить названия комнат на все поддерживаемые языки, вместо фиксирования их на английском, и стандартизирует идентификаторы, чтобы элементы UI (например, подсказки на экране или оверлеи карты) ссылались на единые ID.

Небольшая чистка в скриптах Rush

  • Удалён оверрайд sv_full_alltalk: Скрипт карты раньше выполнял Instance.ServerCommand("sv_full_alltalk 0") при старте раунда. Эта строка удалена.
  • Влияние: Теперь Rush будет полагаться на глобальные серверные настройки голоса, вместо того чтобы принудительно задавать sv_full_alltalk 0 каждый раунд. Операторы серверов получите больше контроля над голосовым чатом в зависимости от их общей конфигурации.

Серверные правила и convar'ы: более жёсткий контроль над настройками против злоупотреблений/дружеского урона

Несколько переменных конфигурации, связанных с командным уроном и поведением спавна, помечены как commandline_enforced. Это не меняет их значения по умолчанию, но меняет способ их изменения во время работы сервера.

  • mp_ignore_round_win_conditions

    • Теперь помечена как commandline_enforced в списке convar'ов.
    • Управляет тем, игнорировать ли обычные условия выигрыша раунда.
    • Влияние для операторов серверов: Вероятно, теперь её нужно задавать через параметры запуска сервера, а не менять динамически во время матча. Это может снизить возможности злоупотреблений и повысить согласованность в официальных плейлистах.
  • mp_spawnprotectiontime

    • Также помечена как commandline_enforced (при этом сохраняет значение по умолчанию 5).
    • Контролирует окно времени, в течение которого ранний урон при спавне может приводить к кикам.
    • Влияние: Серверы, которые раньше меняли эту переменную в ходе матча, теперь, возможно, будут вынуждены задавать её при запуске.
  • Пороговые значения командного урона: Три convar'а, связанные с порогами предупреждений/киков за командный урон, переведены в commandline_enforced и больше не помечены как replicated в дампе:

    • mp_td_dmgtokick 300 — порог урона для кика.
    • mp_td_dmgtowarn 200 — порог урона для предупреждения.
    • mp_td_spawndmgthreshold 50 — порог раннего урона, ведущий к предупреждениям/кикам.
  • Практические последствия: Эти переменные по‑прежнему существуют и сохраняют значения по умолчанию, но, судя по всему, теперь их надо фиксировать при запуске сервера. Это шаг к повышению стабильности и согласованности защиты от гриферства в официальных и сообществованных серверах.

Сеть и статистика: расширенные метрики netframe

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

  • Новые поля в Steam‑статистике: В source2_steam_stats.proto добавлены опциональные поля в сообщение CMsgSource2NetworkFlowQuality:
    • netframes_size_uncompressed_p50
    • netframes_size_uncompressed_p95
    • netframes_size_uncompressed_p99
    • netframes_size_uncompressed_max
    • netframes_msgs_p50
    • netframes_msgs_p95
    • netframes_msgs_p99
    • netframes_msgs_max
  • Обновлённые строки движка: Соответствующие строки в engine2_strings.txt ссылаются на такие метрики, как:
    • "Uncompressed size . . : P50:%u"
    • "Msgs per frame. . . . : P50:%u"
  • Что это, вероятно, значит:
    • Valve теперь собирает процентильные статистики по размерам неупакованных netframe и по числу сообщений в них.
    • Эти метрики могут использоваться для выявления аномалий, настройки компрессии или отладки производительности сетевого кода в живых матчах.
    • Игроки напрямую этих полей не увидят, но на их основе могут приниматься дальнейшие улучшения сетевого кода.

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

Низкоуровневые схемы оружия получили новый булевый флаг в базовом классе как на клиенте, так и на сервере.

  • Новое поле оружия: m_bReloadHeldSinceStart появилось в CCSWeaponBase (сервер) и C_CSWeaponBase (клиент) в экспортируемых схемах.
  • Вероятная цель: Имя поля указывает, что движок теперь отслеживает, удерживается ли клавиша перезагрузки непрерывно с начала перезагрузки.
    • Это может быть использовано для будущих настроек, связанных с отменой перезагрузки, частичной перезагрузкой или сглаживанием анимаций, позволяя отличать быстрые нажатия от удержаний.
    • Строки, ссылающиеся на CNetworkVarBase@_NVNetworkVar_m_bReloadHeldSinceStart на клиенте и сервере, подтверждают, что это сетевое состояние.
  • Влияние на игрока: В этом обновлении прямых изменений поведения не подтверждено. Тем не менее эта инфраструктура может лечь в основу будущих правок того, как оружие реагирует на ввод перезагрузки и как синхронизируются анимации в демках и у наблюдателей.

Мелкие обновления строк движка и инструментов

Обновлены множества файлов строк для разных бинарников (сервер, клиент, движок, сеть, рендеринг и инструменты).

  • Примеры файлов:
    • server_strings.txt, client_strings.txt
    • networksystem_strings.txt, steamnetworkingsockets_strings.txt
    • Наборы строк, связанные с рендерингом для DX11/Vulkan
    • Инструментальные/ресурсные строки, например resourcecompiler_strings.txt
  • Характер изменений:
    • В основном это небольшие добавления/удаления внутренних имён символов или отладочных текстов, а также коррекции выравнивания или токенов указателей.
    • Есть и обновления строк, связанных с названиями статистик, покупкой патронов или загрузкой матчей, но ничего явно заметного для игроков в этом патче не добавлено.
  • Влияние: Эти правки — скорее хозяйственные: они держат отладочные выводы, логирование и инструменты в согласованности с изменениями движка и сети.

Общее влияние

Это обновление больше фокусируется на полировке и инфраструктуре, чем на громких фичах:

  • Rush становится понятнее: чёткие правила, локализуемые названия комнат и явное отключение защиты при спавне.
  • Major Hub & Shop ведёт себя как современное многоуровневое приложение: улучшены поведение кнопки назад, обработка вьюх и объединённый заголовок "Hub & Shop".
  • Операторы серверов увидят, что несколько convar'ов, связанных с анти‑гриферством и командным уроном, стали commandline_enforced, что заставляет фиксировать их при старте сервера.
  • За кулисами новые сетевые статистики и отслеживание состояния перезагрузки дают Valve дополнительные рычаги для тонкой настройки сетевого кода и геймплея в будущих патчах.

Большинство игроков почувствуют эти изменения как более гладкие интерфейсы и ясные инструкции, а не драматические изменения в геймплее, но эти правки закладывают основу для дальнейших улучшений Rush и турнирного контента.

Назад к обновлениям

Недавние обновления

Обновление кода26 сент. 2026 г., 00:59 GMT+3

Обновление CS2 (26 сент. 2026 г.)

Новый патч CS2 добавляет напоминание о токенах Major, улучшает поведение попапов и книги питомцев, расширяет звуковую часть куриц и вводит инфраструктуру для подсветки дыма и подавления звуков оружия.

  • Всплывающее окно баланса Major напоминает игрокам потратить оставшиеся токены и ведёт напрямую в Major hub.
  • Обработка попапов в главном меню переработана: лучше очищаются колбэки уведомлений и реже встречаются «залипающие» окна.
  • Книга питомцев и система косметики питомцев получили UX-правки, включая метки устаревших книг по месяцу/году.
  • Официальные аннотации карты de_train для региона LATAM обновлены — вероятны мелкие правки маркеров и текстов.
  • Для подсветки дыма добавлена серверная команда и новое поле в классе снаряда; скриптовая карта теперь запрашивает пересчёт подсветки при изменениях света.
  • Аудио куриц значительно расширено: новые звуки hen, pullet, panic, flap и scratch, с подстройками громкости и тона в игре и UI.
  • Звуки сопутствующего фолея у многих оружий получили единые настройки подавления для контроля наложения шума.
  • Добавлены форматы дат «только месяц/год» и внесены правки в протокол/метаданные для улучшения отображения временных периодов и категоризации команд.
Подробнее
Официальное обновление26 сент. 2026 г., 00:54 GMT+3

Обновление Counter-Strike 2 (26 сент. 2026 г.)

Небольшое обновление с исправлениями зазоров и клиппинга, правкой перезарядок, новой опцией для клан-тегов и изменением в лобби.

  • Различные исправления зазоров и правки клиппинга.
  • Исправлено поведение, при котором громкие перезарядки продолжались при попытке тихой перезарядки.
  • Добавлена опция `sv_clantags_enabled` для отключения клан-тегов на пользовательских серверах.
  • Яйца фоновых игроков в лобби главного меню теперь лежат в гнёздах.
Подробнее