Garrysmod Lua Dumper & Runner、Rust で書かれています。
C:Users<User>autorunlua_dumps<ServerIP>..
にダンプします (I/O ラグを避けるために非同期的に)lua_run
およびlua_openscript
を介したランタイム lua の読み込みautorun.lua
)の前にスクリプトを実行して、「アンチチート」を迂回してバイパスします。autorun/logs
へ)autorun/plugins
)Autorun はメニュー プラグインとしても使用できます / メニュー状態から自動的に lua に要求されます。
gmsv_autorun_win<arch>.dll
ファイルをgarrysmod/lua/bin
フォルダーに置きます。garrysmod/lua/menu/menu.lua
の最後にrequire("autorun")
を追加しますこれを使用する従来の (しかしより不便な) 方法は、単に注入することです。
Autorun はスクリプトフックを備えています。これは、他の garrysmod スクリプトが実行される前にスクリプトを実行し、独自のフック スクリプトを実行してコードを実行するかどうかを確認することを意味します。 *これは_G
とは別の環境で実行されるため、グローバルを変更するには、 _G.foo = bar
を実行します。
autorun.lua
で実行している場合、 http.Fetch
やfile.Write
などの関数が存在しないことにも注意してください。
C の対応物 ( HTTP
およびfile.Open
) を使用します。
スクリプトフックを使用したプロジェクトの例については、こちらをご覧ください。
C:Users < User > autorun
├── autorun . lua # Runs *once* before autorun
├── hook . lua # Runs for every script
├── lua_dumps # Each server gets a folder with their IP as the name.
│ ├── 192.168.1 . 55_27015
│ └── X . Y . Z . W_PORT
├── logs # Logs are saved here
│ └── YYYY - MM - DD . log
├── bin # Store binary modules to be used with Autorun.requirebin
│ └── gmcl_vistrace_win64 . dll
├── plugins # Folder for Autorun plugins, same behavior as above autorun and hook.lua, but meant for plugin developers.
│ └── Safety
│ ├── src
| | ├── autorun . lua
| | └── hook . lua
│ └── plugin . toml
├── settings . toml # See autorun/src/configs/settings.toml
└── ...
スクリプトフック環境に渡される内容は、fields.lua の EmmyLua 定義ファイルとして確認できます。
これは、インテリセンス用の vscode lua 言語サーバー拡張機能のようなものと一緒に使用できますか?
フック.ルア
このファイルは、アドオンやサーバーからクライアント上で実行されるすべての lua スクリプトの前に実行されます。 return true
スクリプトを実行しないことも、文字列を返してスクリプトを置き換えることもできます。
-- Replace all 'while true do end' scripts with 'while false do end' ?
local script = Autorun . CODE
if script : find ( " while true do end " ) then
Autorun . log ( " Found an evil script! " )
return string . Replace ( script , " while true do end " , " while false do end " )
end
ここでさらに見つけることができます
リリースから「安定した」リリースを取得できます。
Github の [アクション] タブで、絶対的な最新のダウンロード (リポジトリ内のコードから) を取得できます。
期待どおりに動作しない可能性があることに注意してください (ただし、問題を報告する前にこれを試して、修正されたかどうかを確認することをお勧めします)
これをメニュー プラグインとして使用している場合は、DLL の名前がgmsv_autorun_win<arch>.dll
であることを確認してください。
変更を加えたり貢献したい場合は、これを自分で構築することもできます (または、何らかの理由で github アクションを信頼しない場合)。
build_win_32.bat
またはbuild_win_64.bat
を使用します。