Atualização do CS2 (4 de out. de 2026)
Uma atualização do backend do CS2 atualiza definições de entidades e rede, controles de luz, bindings Pulse, manifests de ferramentas e inclui mapas comunitários curados nos depots oficiais.
Resumo rápido
- Definições de entidade e rede foram atualizadas, expondo mais dados de animação, iluminação e paths para ferramentas e FGDs.
- Entidades de luz agora mostram um conjunto completo de controles avançados no Hammer, incluindo cascaded shadows, proxies de AO e interação com fog.
- Novos bindings Pulse ligam eventos de gameplay, luzes e partículas ao sistema de scripting node-based no cliente e no servidor.
- Manifests de recursos cliente e servidor organizam agents, pós-processamento, HUD e assets do pipeline de render de forma mais explícita.
- Metadados do toolchain foram reorganizados em `bind_targets` e manifests, padronizando câmeras, hotkeys e widgets de preview nas ferramentas CS2.
- Manifests de depot do Steam listam binários reconstruídos para Windows/Linux e VPKs comunitários empacotados (ex.: `cs_shelter`, `de_boulder`, `de_debris`, `de_eldorado`, `de_fachwerk`, `de_poseidon`).
Uma atualização nos bastidores do CS2 altera definições de engine, rede, iluminação e infraestrutura de ferramentas — mudanças que devem beneficiar criadores de conteúdo, mapeadores e quem trabalha com Workshop ou servidores comunitários.
Atualizações nas definições de rede e entidades da engine
- Novos dumps de esquema de rede: Descrições de rede frescas para
clienteservercobrem diversos tipos de engine, incluindo caixas de colisão, configurações de modelos, dados de animação e atributos de itens. Isso indica que a visão interna do que é trafegado entre servidor e cliente foi alinhada com os binários atuais, o que pode ajudar modders e autores de ferramentas que dependem de informações precisas sobre entidades e netvars. - Ligação da animação esclarecida: O networking cliente/servidor agora inclui explicitamente estruturas
AnimGraph2(por exemplo receitas de pose serializadas,playbackratee modo de loop). Isso deve facilitar para ferramentas e fluxos de debug entenderem como animações de jogadores e props são replicadas e atualizadas. - Baseclass para operações de sequência: Foi adicionada uma descrição base compartilhada
CNetworkedSequenceOperation(ciclo, nome de sequência, índice de sequência) tanto para clientes quanto para servidor. Ferramentas personalizadas ou lógica de mapa que consultam o estado de animação podem usar isso para inferir o que uma entidade está reproduzindo.
Suporte FGD mais completo para mapeamento e scripting
- Expansão do layout de entidade base: Os arquivos
client.fgdeserver.fgd(usados pelo Hammer e outras ferramentas) agora expõem mais do nó de cenaC_BaseEntity/CBaseEntity:- Origem/local e ângulos em coordenadas locais/mundo
- Nome de anexo do pai e alvo do pai
- Flags para usar offsets locais, bounds de render do pai e posicionamento em espaço local
- Campos de escala (
scales,local.scales, escala escalarscaleeModelScale)
- VScripts como keyfields formais: A propriedade
vscriptsem entidades base agora aparece como um keyfield adicionado em cliente e servidor. Isso confirma que bindings de script devem ser definidos via keyvalues e pode melhorar a integração do editor (campos expostos, validação ou helpers) para entidades scriptadas. - Componentes da entidade de modelo base:
basemodelentitydocumenta explicitamente componentes de render e hitbox, além de campos de instância de esqueleto como conjunto de hitbox, velocidade, eixo de rotação e velocidade. Definições do Hammer que capturam esses campos podem dar aos criadores uma visão mais clara de como modelos animados irão se comportar em jogo. - Dados de props: Várias classes de prop (
breakable_prop,func_breakable,prop_ragdolle a classe base de prop) estão agora anotadas com umCPropDataComponent. A saúde (health) é removida como key direta no tipo base de prop, reforçando que o comportamento de dano deve passar pelo propdata padronizado. - Novos datamaps auxiliares: Definições base adicionais aparecem para:
HullFlags_t(flags de tipo de hull de IA: human, small, wide, tall)hudtextparms_t(canal de HUD, efeito, x/y)- Esses campos podem ajudar usuários avançados ou ferramentas a introspectar comportamentos de IA e HUD com mais precisão.
Controles detalhados de entidades de luz expostos
- Componente completo de luz nas FGDs: A entidade
light_omniem cliente e servidor agora expõe um bloco abrangenteCLightComponent, incluindo:- Cor & intensidade: cor primária/secundária, brilho, escala de brilho, alcance, falloff.
- Atenuação & cones:
attenuation0/1/2, ângulos de cone interno/externo. - Sombras & cascades: número de cascades, distâncias e resoluções por cascade, opção de renderizar estáticos nas sombras, crossfade e distance fade, tamanho da textura de sombra, prioridade de sombra, índices de sombra baked e flags para usar baked shadowing.
- Opções de renderização: toggles separados para diffuse, specular, transmissive; largura/altura ortográfica da luz;
stylee string depattern; luz direta e bounce light combounce scale. - Comportamento de fade: distâncias mín/max de fade e shadow fade, bounds pré-computados (mins, maxs, origem OBB, ângulos, extent) e flag indicando validade desses campos pré-computados.
- Névoa e ambiente: modo de iluminação por fog, contribuição do fog, plano de recorte próximo, cor/intensidade do céu, e bounce ambient do céu.
- Opções avançadas: uso de cor secundária, comprimento de cápsula, sombras mistas, minimum roughness, e um conjunto de parâmetros de proxy de ambient occlusion (força e ângulos de cone).
- Flags especiais:
allow_sst_generation(server) ebaked_light_indexingalém de IDs que ligam luzes a caminhos de luz e indexação de lightmaps.
- Impacto prático para mappers: Esse nível de detalhe nas FGDs permite que o Hammer e outros editores apresentem muito mais das capacidades de iluminação do motor como propriedades editáveis. Mapeadores poderão controlar desempenho (resolução de sombras, cascades, proxies de AO) e aparência (interação com fog, sombras mistas, cones avançados) sem recorrer tanto a suposições ou ferramentas customizadas.
Opções de animação e câmera expostas
- Campos do controller BaseAnimGraph: A pointclass
baseanimgraphem cliente e servidor referenciaCBaseAnimGraphController, expondo:playbackratecomo um float quantizado e networkedanimgraph2_identifiercomo string de símbolo global Isso indica que mais controle sobre qual recursoAnimGraph2é usado e a velocidade de reprodução pode ficar visível para ferramentas e diagnósticos.
- Profundidade de campo como keyfields: Para
point_camera_vertical_fov, as configurações de DOF (dof_far_crisp,dof_far_blurry,dof_tilt_to_ground) são agora marcadas explicitamente como keyfields. Mapeadores podem ajustar isso mais facilmente no Hammer para câmeras cinematográficas ou de espectador. - Escala de impacto físico no editor:
physdamagescaleemprop_physicstambém foi marcado como keyfield, tornando o ajuste de quanto dano físico afeta props mais acessível.
Componentes de jogador e paths esclarecidos
- Expansão de touch em jogadores: A base do pawn do jogador no servidor agora mostra um
CTouchExpansionComponent. Isso provavelmente reflete volumes internos de colisão/interação ao redor dos jogadores e pode influenciar como triggers ou lógica baseada em toque interagem com entidades de jogador. - Componente de query para path_simple: As definições de
path_simpleem cliente e servidor agora incluemCPathQueryComponent, alinhando a FGD com o conjunto de queries disponíveis (direção mais próxima, posição, etc.). Movedores baseados em path e lógica scriptada que dependem dessas queries ficam melhor documentados para autores de ferramentas. - Solidez de mover como keyfield: Em certos movers, a flag
solidbsppassou a ser um keyfield adicionado. Isso deixa mais claro quando um mover brush-based deve ser sólido em runtime, importante para colisão e design de jogabilidade.
Manifests de iluminação, materiais e recursos de renderização
- Manifests de recursos do cliente: Um novo manifesto
clientagrega vários assets de runtime:- Prewarm cosméticos:
custom_glove_prewarmecustom_weapon_prewarmpara evitar hitch ao mostrar luvas e armas. - Modelos de agentes: Referências a modelos centrais como
ctm_sasetm_phoenixpara pré-carregamento no cliente. - Pós-processamento: Entradas de startup para
ClientModeCSNormalPostProcessinge efeitos dedicados dedeath_cam(incluindo variante low-violence), indicando pipeline visual do death cam no sistema de manifests. - UI & HUD: Manifests para configurações gráficas mínimas, preview de StatTrak, painéis de vanity, HUD (
CS2Hud_client) e um seletor de cor específico de CS, conectando sistemas Panorama e painéis 3D a caminhos de carregamento controlados. - Pipeline de render: Entradas para o pipeline de sombras (
CS2RenderingPipelineShadowsManifeste startup group) e umGaussianBloomBlurManifestClientjunto com materiais dev associados, sugerindo gestão mais estruturada de efeitos avançados como bloom.
- Prewarm cosméticos:
- Manifests de recursos do servidor: No servidor, novos manifests incluem:
CCSPlayerPawn_Minimal_server- O item defuser (
item_defuser_servereitem_defuser.ventr) - Uma grande lista de modelos
.vmdlde agentes CT (SAS, diver, FBI, gendarmerie, etc.) Essa organização deve ajudar servidores a precachear e gerir agentes e itens críticos de jogabilidade de forma mais previsível.
- Sistemas principais da engine: Vários subsistemas da engine ganharam arquivos
resource_manifests.txtexplícitos (por exemploengine2,particles,soundsystem,vphysics2,materialsystem2,worldrenderer,scenesystem,vrad3e outros). Isso desloca mais recursos para manifests declarativos, o que pode melhorar estabilidade e consistência ao carregar cenas complexas ou rodar ferramentas. - Materiais de debug e hair realocados: Materiais de desenvolvedor como
hair_sim_cs.vmatesum_aggregate_cull_stats.vmatforam movidos para um manifesto no nível doscenesystem, indicando limpeza interna em como materiais de debug/simulação são referenciados.
Sistema Pulse e hooks de scripting de gameplay
- Bindings Pulse para eventos de jogo: Novos arquivos
pulse_bindings.txtparaclient,server,pulse_systemeresourcecompilerdefinem “cells” e domínios Pulse:- Classes base (
BaseDomain, variantesCPulseCell_Base*) e cells de fluxo/valor (por exemploIntervalTimer,LimitCount,PickBestOutflowSelector). - Eventos de servidor como
OnRoundStart,OnRoundFreezeEndeOnRoundEndcom parâmetros (winner, reason, round number).
- Classes base (
- APIs de entidade e luz: Bindings server-expostos incluem APIs para:
- Entidades de som ambiente (
CAmbientGeneric_API) com ações como Fade In/Out, Play/Stop/Toggle. - Barn lights (
CBarnLight_API) com ações como Enable/Disable, Set Brightness/Color/Color Temperature e toggles para sombras dinâmicas ebounce scale. - Helpers de parenting (manter offset, attach em bones e mover offset a partir de paths).
- Entidades de som ambiente (
- Partículas e estado de jogo: Bindings Pulse em
resourcecompilereclientincluemCParticleBindingRealPulseeCParticleCollectionBindingInstance, descritos como permitindo que conteúdo de partículas consulte o estado do jogo. Isso sugere que sistemas de partículas podem ganhar hooks lógicos mais poderosos, úteis para VFX reativos ou sensíveis ao gameplay criadas em ferramentas. - Impacto prático: No momento são mudanças de wiring mais do que interfaces visíveis ao usuário, mas indicam um esforço claro para tornar o sistema de scripting node-based (
Pulse) uma forma integrada de conduzir gameplay, VFX e lógica de entidades.
Limpeza do toolchain e do editor Hammer/QT
- Separação de metadata vs. bind targets: Muitos arquivos
.kv3de metadata para Hammer, PET (particle editor), ModelDoc, SFM, o editor de pós-processamento, asset browser, item editor e outros tiveram grandes blocos de declarações de “class” removidos em favor de novos arquivosbind_targets.txt.- Os novos
bind_targetsmapeiam nomes amigáveis (por exemploMapView,Camera,ToolSceneWidget,ModelDocEditorApp,ParticlePreview) para as classes em C++ e arquivos fonte subjacentes. - Isso sugere que a Valve está padronizando como ferramentas de edição descobrem e fazem bind aos seus componentes de UI e cena, reduzindo manutenção e melhorando consistência entre ferramentas.
- Os novos
- Hotkeys globais e widgets compartilhados: Muitas ferramentas agora compartilham as mesmas bindings para
CGlobalHotkeyCommands,CQSessionCycleWidget,CQToolSceneWidget,CQCurveEditorWidgete vários widgets de timeline. Usuários podem ver atalhos e comportamento de timeline mais consistentes pela cadeia de ferramentas do CS2. - Ferramentas de asset e preview: Asset browser e asset preview têm bindings explícitos para câmeras, rigs de iluminação e widgets de cena. ModelDoc e PET declaram seus componentes de câmera, preview e iluminação, facilitando manutenção de comportamento de preview compartilhado (presets de iluminação, controles de câmera) entre editores.
- Strings internas da engine reduzidas: Muitas tabelas de strings internas para ferramentas e DLLs da engine tiveram entradas como
animgraph2_identifier, configurações de attenuation e campos de debug removidos ou reorganizados. Não é uma mudança direta em jogabilidade, mas aponta para refatoração contínua de como propriedades de debug e editor são expostas.
Manifests de binários e conteúdo comunitário
- Novos manifests de depot: Vários arquivos
manifest_2347***.txtdescrevem depots Steam atualizados:- Depots do jogo core: Um manifest lista milhares de arquivos dos binários principais e VPKs (incluindo
pak01_000.vpkem diante, shaders e config core), confirmando um repack completo do conteúdo do jogo. - Binários Windows: Outro manifest enumera DLLs e EXEs Windows x64 (
cs2.exe, DLLs de client/server, engine, rendering, V8, physics, etc.), indicando rebuild coordenado da maioria dos componentes em runtime. - Binários Linux: Um depot do Steam Runtime 64 para Linux lista as
.socorrespondentes e o script launchercs2.
- Depots do jogo core: Um manifest lista milhares de arquivos dos binários principais e VPKs (incluindo
- Pacotes de mapas comunitários curados: Múltiplos manifests referenciam grandes VPKs
csgo_community_addonspara mapas comocs_shelter,de_boulder,de_debris,de_eldorado,de_fachwerkede_poseidon.- Isso sugere fortemente que um conjunto curado de mapas comunitários está sendo distribuído junto ao jogo.
- Do ponto de vista do jogador, esses mapas podem aparecer em playlists oficiais, servidores em destaque ou eventos especiais, embora não haja indicação explícita aqui de como serão exibidos no jogo.
Impacto geral
A atualização é principalmente estrutural e focada em ferramentas, não um patch direto de jogabilidade ou balanceamento. Mudanças confirmadas incluem:
- FGDs mais precisas e expressivas para entidades, luzes, paths e controladores de animação.
- Bindings Pulse ampliados que conectam eventos centrais, entidades e luzes do CS2 ao sistema node-based de scripting.
- Abordagem orientada por manifests para carregar recursos cliente/servidor, incluindo agentes, pós-processamento, HUD/UI e pipelines avançados de renderização.
- Bindings padronizados na cadeia de ferramentas do CS2 (Hammer, ModelDoc, PET, SFM, editor de pós-processamento, asset browser), beneficiando mapeadores e criadores de conteúdo.
- Depots atualizados que incluem um conjunto de mapas comunitários curados e binários reconstruídos para Windows e Linux.
Para jogadores comuns, os efeitos visíveis podem ser sutis no início — iluminação de mapas mais consistente, conteúdo custom mais confiável e efeitos de HUD/deathcam mais limpos. Para mapeadores, modders e autores de ferramentas, a atualização fornece mais base para explorar as capacidades do Source 2 e integrar conteúdo comunitário ao ecossistema do jogo.
