開発がマクロ対策の詳細を解説
本日実装されたマクロ対策について、開発者のSamy Duc氏が詳細の解説を実施しています。
その内容を下記にまとめました。
本日のパッチ内容
🚫 ゲーム中に+execコマンドでcfgファイルを連鎖させることができなくなりました。
Samy Duc氏のポスト
+execについて説明します。
ソースエンジン、そしてその結果としてApexのエンジンは、コマンドバッファと呼ばれるものを大量に使用しています。
これは基本的にエンジンによって定期的に解釈される巨大な文字列です。これはすべてによって使用されています。
例えば、あなたのコマンドバッファは以下のようになるかもしれません:
“+jump +forward +say toto”
コマンドは+で始まります。
ゲームの起動引数でコマンドを注入できるのを知っていれば、これが分かるでしょう。
コマンドを注入する別の方法は+bindを通じてです。
“w”やスペースなどを押したとき、前の例のように別の方法でコマンドを注入することができます。
コマンドを注入するもう一つの方法は+execを使用することです。
Execは単にファイルを読み取り、そのファイルの内容をコマンドバッファに追加します。
ここが面白いところで、すべてがコマンドであるため、+bindや+unbindを行うことができます。
そして+execを連鎖させることができますが、それが私たちの不正利用者の友人たちが行っていたことです。
この修正は正しく行うのが少し難しく、そんなシステムがすべてに使用されているため、公開するのにこんなに時間がかかった理由です。
例えば、私たちはゲームパッドのコントロールスキーマを適用するために+execを使用しています(グレネーダーのことです)。
これは正当なことです。ですから、機能の一部をカットする必要がありますが、全部ではありません。
結局のところ、システムの悪用を簡単にする方法は排除されますが、不正利用者を根本的に排除する方法ではありません。
これにより、たとえチートを使用している場合でも、私たちは基本的なメカニクスを修正し、人々がそれを悪用するのを止めるために、もっと時間を得ることができます。
ユーザーとのQ&A
ユーザー
この件に関してご連絡いただきありがとうございます。
無反動スクリプトがまだゲーム内にあると言われていますが、皆さんも同様に修正に取り組んでいますか?
それとももうなくなってしまったのでしょうか?
開発者
私達は処置する予定です。
開発のポスト
To explain the +exec thing.
Source engine and therefor the engine of Apex uses massively what is called a command buffer. It is a basically a giant string that is interpreted regularly by the engine. It is used by everything. https://t.co/syTF09xXZg
— Samy Duc (@ricklesauceur) February 1, 2024