Atualização do CS2 (18 de mai. de 2026)
Atualização adiciona controlo de imprecisão por boost, amplia hooks de scripting do Workshop e comandos cheat, refina mensagens GC e actualiza shaders de ambiente, com pequeno aumento de versão.
Resumo rápido
- Novo `weapon_accuracy_stack_boost_limit` convar afecta o spread de armas para boosts com grandes pilhas de jogadores.
- API `cs_script` ganha novos helpers de ronda, economia, arma e input, além de `RegisterCheatCommand` para comandos de consola cheat.
- Scripts de exemplo do `editor/zoo` trocaram triggers de chat por comandos de consola cheat e centralizaram a activação de `sv_cheats` em `setup.js`.
- Mensagens GC são expandidas com uma nova definição `steammessages_gc.proto` enquanto mensagens legadas de replicação de convars (`CMsgConVarValue`, `CMsgReplicateConVars`) foram removidas.
- Shaders de ambiente (`csgo_environment.slang`, `csgo_environment_blend.slang`) foram reworkados no PC e Vulkan, com manifests de shader refrescados.
- Versões de cliente e servidor foram actualizadas para `2000827` e `PatchVersion` para `1.41.6.2`.
Esta atualização traz novas ferramentas de scripting para criadores, ajusta como boosts afetam a precisão das armas, atualiza sistemas de infraestrutura e shaders de ambiente, e inclui um pequeno aumento de versão.
Jogabilidade e ConVars
- Novo controlo de imprecisão por boost: Foi adicionado um convar replicado
weapon_accuracy_stack_boost_limit. A descrição indica que um tipo de imprecisão estilo escada (ladder‑style) é aplicado a jogadores boostados por uma pilha de tantos (ou mais) jogadores. Isso sugere que boosts envolvendo grandes formações podem agora introduzir espalhamento extra nas armas — relevante para equipes que dependem de boosts com múltiplos jogadores em jogadas ensaiadas. - Auxiliar de teste para bots: Um comando de servidor
bot_hurtagora é registado junto com outros comandos marcados como cheat. Embora os detalhes não sejam expostos aqui, parece destinado a testes offline ou comsv_cheatsativado, provavelmente para danificar ou eliminar bots rapidamente durante prática ou debug.
Scripting e melhorias na API do Workshop
A API cs_script/point_script usada por scripts personalizados e mapas do Workshop recebeu uma expansão considerável, além de limpeza em marcas experimentais.
-
Ajustes gerais na documentação da API:
- O ficheiro de definição de scripting agora inclui uma linha de contacto apontando criadores para
[email protected]com o assunto "cs_script Feedback". - Vários métodos antes marcados como
@experimental(comoSetSaveData,GetSaveData,OnModifyPlayerDamagee vários helpers de input) tiveram essas advertências removidas, o que indica maior confiança na sua estabilidade.
- O ficheiro de definição de scripting agora inclui uma linha de contacto apontando criadores para
-
Novos hooks de ciclo de vida e fluxo de ronda:
- Foi introduzido
OnBeginRoundRestart(callback: () => void): void;como callback experimental disparado no início da limpeza para reinício de ronda. Criadores podem usá‑lo para redefinir estados personalizados antes do começo de uma nova ronda, melhorando a fiabilidade de scripts complexos baseados em rondas.
- Foi introduzido
-
Helpers para jogadores e controlo de ronda:
GetAllPlayerControllers(): CSPlayerController[]retorna todos os controllers de jogador, incluindo os desconectados — facilitando a iteração sobre todos os jogadores em modos personalizados.GetRoundRemainingTime(): numberé complementado porSetRoundRemainingTime(time: number): void;, permitindo que scripts ajustem o temporizador da ronda diretamente para rotinas de treino, minijogos ou desafios cronometrados.
-
Comandos de consola personalizados para scripts:
RegisterCheatCommand(name: string, callback: (args: string) => void): void;regista um comando de consola que executa um callback de script, utilizável apenas quandosv_cheatsestá activo. Isso oferece aos criadores uma forma controlada de expor comandos de depuração ou ferramentas sem sobrecarregar chat ou outros ganchos.
-
Acesso a estado de arma e jogador:
CSWeaponBasepassa a terIsSilencerOn(): boolean;, permitindo aos scripts saber se uma arma tem o silenciador ligado.CSPlayerPawnrecebe helpers adicionais:HasHelmet()eSetHasHelmet(hasHelmet: boolean)para consultar e modificar o estado do capacete.IsScoped()para verificar se o jogador está mirando.
CSPlayerControllerganha helpers de dinheiro:AddMoneySpendableNow(amount: number)/GetMoneySpendableNow()para ajustar o dinheiro gasto na ronda actual.AddMoneyEarnedForNextRound(amount: number)/GetMoneyEarnedForNextRound()para afectar o dinheiro ganho para a ronda seguinte (estilo loss‑bonus).
Essas adições facilitam a criação de economias personalizadas, ferramentas de treino e mecânicas específicas de modo (por exemplo, armadura forçada, mira gratuita ou loadouts scriptados).
-
Helpers de input considerados estáveis:
IsInputPressed,WasInputJustPressedeWasInputJustReleasedemCSPlayerPawndeixam de ter avisos experimentais, indicando que consultas ao estado de input fazem parte da superfície de scripting estável — útil para tutoriais de movimento, visualizadores de binds ou sistemas de habilidades personalizadas.
Alterações nos scripts de exemplo do Editor Zoo
Os scripts embutidos do mapa editor/zoo usados como exemplos e conteúdo de teste foram actualizados para alinhar com as novas capacidades de scripting e o fluxo de comandos cheat.
-
Comandos de chat substituídos por comandos cheat:
- As antigas ferramentas acionadas por chat (ex.:
!traceline,!tracesphere,!tracebox,!tracebullet) foram substituídas por um comando de consola cheat:script_zoo_trace <type>ondetypepode serline,sphere,boxoubullet.- O script agora usa
Instance.GetAllPlayerControllers()[0].GetPlayerPawn()para escolher um pawn a partir do qual traçar, e imprime uma ajuda de uso se o argumento for inválido.
- O comando de chat
!showinputfoi igualmente trocado por um comando de consola cheat:script_zoo_showinputalterna a exibição de input para o primeiro player controller.
Essas mudanças demonstram como
RegisterCheatCommanddeve ser usado e mantêm as ferramentas de desenvolvimento protegidas atrás desv_cheatsem vez de entrada de chat normal. - As antigas ferramentas acionadas por chat (ex.:
-
Centralização da activação de cheats na configuração do zoo:
sv_cheats 1deixou de ser definido directamente dentro degrenadetraining.js. Em vez disso, é executado uma vez a partir desetup.jsviaInstance.ServerCommand("sv_cheats 1");juntamente com os comandos de warmup já existentes.- Isso sugere que a Valve pretende que o conteúdo de exemplo mostre um padrão mais claro: um script de setup central que configura o ambiente do servidor (cheats, warmup) e scripts separados para ferramentas ou demos específicas.
-
Recursos compilados actualizados:
- As versões empacotadas correspondentes desses scripts (
*.vjs_c) no conteúdo principal do jogo também foram actualizadas, de modo que jogadores que carreguem o mapaeditor/zoorecebam o novo comportamento sem configuração manual.
- As versões empacotadas correspondentes desses scripts (
Criadores que estudam o mapa zoo para aprender scripting deverão agora encontrar uma abordagem mais atual e consciente sobre o uso de cheats para ferramentas de desenvolvimento.
Serviços de Observador e Câmera
- Pós‑processamento da câmera de observador:
- O schema dos serviços de câmera do observador agora acompanha
m_hPrevPostProcessingVolume, um handle para um volume de pós‑processamento anterior. - Embora o comportamento exacto não seja detalhado aqui, isso provavelmente suporta transições visuais mais suaves quando observadores se deslocam entre áreas com diferentes definições de pós‑processamento (por exemplo, alterações de gradação de cores ou exposição entre zonas interiores e exteriores).
- O schema dos serviços de câmera do observador agora acompanha
Rede, GC e Ferramentas de Back‑End
Foi adicionada uma nova definição steammessages_gc.proto, e vários binários do jogo passaram a referenciar essas novas strings.
-
Novas definições de mensagens GC/Steam:
- O novo ficheiro proto define um conjunto alargado de mensagens cobrindo:
- Chaves Web API e pedidos/respostas HTTP (
CMsgWebAPIKey,CMsgHttpRequest,CMsgWebAPIRequest,CMsgHttpResponse). - Consultas de contas e licenças (
CMsgAMFindAccounts,CMsgAMGetLicenses,CMsgAMGetUserGameStats, etc.). - Caching estilo memcached (
CGCMsgMemCachedGet,CGCMsgMemCachedSet,CGCMsgMemCachedDelete, e estatísticas). - Estatísticas do sistema, estatísticas SQL, lookup de localização por IP, confiança de compra e alterações de estado VAC.
- Regras de roteamento para mensagens cliente e Web API (
CMsgGCRoutingInfo,CMsgGCMsgMasterSetWebAPIRouting,CMsgGCMsgMasterSetClientMsgRouting). - Templates de email e envio, guest passes, notificações de actividade suspeita e microtransacções de parceiros.
- Chaves Web API e pedidos/respostas HTTP (
Essas mensagens parecem fazer parte da infraestrutura partilhada usada pelo game coordinator, matchmaking, backend de itens e ferramentas de desenvolvimento, em vez de funcionalidades directas em partida.
- O novo ficheiro proto define um conjunto alargado de mensagens cobrindo:
-
Actualizações de strings em server, client, matchmaking e item editor:
- Os ficheiros
server_strings,client_strings,matchmaking_stringsecs2_item_editor_stringsagora referenciam muitas das novas mensagens GC e estruturas de roteamento. - Ao mesmo tempo, referências a
CMsgConVarValueeCMsgReplicateConVarsforam removidas e as definições dessas mensagens foram eliminadas debase_gcmessages.proto.
Para operadores de servidor e autores de ferramentas, isso significa que integrações que dependiam das antigas mensagens de replicação de convar ao nível do GC podem deixar de receber essas mensagens e não devem depender delas daqui para frente.
- Os ficheiros
-
Mensagens GC de replicação de convars removidas:
- As mensagens
CMsgConVarValueeCMsgReplicateConVarsforam removidas do proto de mensagens GC partilhadas. Isso indica fortemente que convars deixaram de ser expostos ou sincronizados através desse canal específico do GC. - O comportamento regular de convars no motor (via networking servidor/cliente e ferramentas existentes) não é afectado, mas ferramentas de back‑end ou de terceiros construídas em torno da replicação de convars pelo GC podem precisar de adaptação.
- As mensagens
Renderização e Ajustes de Shader
Dois grandes ficheiros de shader de ambiente foram actualizados juntamente com manifests de shader para Vulkan e PC.
-
Shaders de ambiente e blend actualizados:
csgo_environment.slangecsgo_environment_blend.slangforam significativamente refactorizados, inclusive na forma como amostram mapas de altura, texturas de cor e combinam múltiplas camadas.- Novos caminhos de código calculam factores de ponderação como
_6616a partir de_19651 / vec2(_19651.x + _19651.y), e usam um manuseio de coordenadas por camada mais explícito. - O tratamento de height/roughness/tint parece mais explícito (
fwidthnos valores do height map, clamp/saturate em roughness e tint), o que pode afectar a aparência de superfícies blendadas (como terreno) em ângulos rasantes ou durante transições de LOD.
-
Manifestos de shader alterados sem mudanças de caminho:
- Tanto
shaders_vulkan_dir.txtquantoshaders_pc_dir.txtmostram remoções e readições dos mesmos caminhos de shader de ambiente e overlays estáticos para PC e Vulkan. - Como os caminhos adicionados e removidos coincidem, isso aparenta ser uma reconstrução ou actualização de versão dos binários de shader em vez de entradas de shader novas.
- Tanto
Na prática, jogadores poderão notar diferenças subtis em como chão, superfícies blendadas ou detalhes de ambiente são renderizados sob certas iluminações ou ângulos, especialmente em Vulkan, mas a actualização não indica um toggle visual específico.
Build e Aumento de Versão
-
Nova versão de cliente e servidor:
ClientVersioneServerVersionpassaram a ser2000827, comPatchVersionactualizado para1.41.6.2.- Números internos de build e revisão de origem também avançaram, marcando esta actualização como distinta para compatibilidade de matchmaking.
-
Refresh do content manifest:
- O principal manifesto
pak01_dir.txtfoi rotacionado, re listando ficheirosresource/csgo_*.txtlocalizados, os binários de script doeditor/zooe várias screenshots de ícones de mapa (incluindo parade_cache). - O facto de esses caminhos serem removidos e depois readicionados de forma idêntica sugere um refresh de empacotamento ou ordem, em vez de novos ativos.
- O principal manifesto
Jogadores devem garantir que clientes e servidores estejam na mesma versão para evitar erros de incompatibilidade ao conectar a servidores comunitários.
Impacto Geral
- Jogadores competitivos podem perceber alterações em como boosts multi‑jogador extremos interagem com a imprecisão das armas devido ao novo comportamento de
weapon_accuracy_stack_boost_limit. - Criadores e autores do Workshop ganham hooks de scripting mais ricos para fluxo de ronda, manipulação de economia, estado de arma/armadura e comandos de depuração, com exemplos actualizados no editor zoo a demonstrar comandos de consola protegidos por cheats.
- Observadores podem beneficiar de transições visuais mais suaves graças ao rastreio melhorado de volumes de pós‑processamento.
- Melhorias de backend e ferramentas, especialmente em mensagens GC e replicação de convars, devem tornar a infraestrutura mais robusta, embora algumas integrações legadas baseadas no GC possam necessitar de revisão.
- Ajustes de renderização nos shaders de ambiente podem alterar subtismente a aparência de superfícies blendadas e terrenos, particularmente em Vulkan, conforme o código de sampling e blending é refinado.
