首頁>JSP源碼>其他類別

Garrysmod Lua Dumper & Runner,以 Rust 寫成。

特徵

?用法

?選單插件

Autorun 也可以用作選單插件/需要從 lua 自動從選單狀態。

  1. 將 dll gmsv_autorun_win<arch>.dll檔案放入garrysmod/lua/bin資料夾中。
  2. garrysmod/lua/menu/menu.lua底部加上require("autorun")
    現在,當 garrysmod 在選單中載入時,它將自動運行。

?注射

使用它的傳統(但更不方便)方法是注入它。

  1. 取得一個注入器(確保它能夠根據您的用途注入 32/64 位元程式碼)。
  2. 當您在選單中時,將 dll 注入 gmod

腳本鉤子

Autorun 具有 scripthook 功能,這意味著我們將在執行任何其他 garrysmod 腳本之前執行您的腳本,以驗證您是否希望透過執行自己的鉤子腳本來執行程式碼。 *它在與_G不同的環境中運行,因此要修改全域變量,請執行_G.foo = bar

另請注意,如果您在autorun.lua中運行,像http.Fetchfile.Write這樣的函數將不存在。
使用它們的 C 對應項目( HTTPfile.Open

請參閱此處使用 scripthook 的範例項目。

?文件結構

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 定義檔傳遞到 scripthook 環境的內容。
這可以與用於智慧感知的 vscode lua 語言伺服器擴充功能之類的東西一起使用嗎?

✍️ 範例

鉤子.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 Actions 標籤中取得絕對最新的下載(來自儲存庫中的程式碼)
請注意,它可能無法按預期工作(但我建議在嘗試報告問題以查看是否已修復之前先嘗試)

如果您將其用作gmsv_autorun_win<arch>.dll插件?

大樓

如果您想進行更改/貢獻(或出於任何原因不信任 github 操作..),您可能需要自己建立它

  1. 設定 Rust 和 Cargo
  2. 使用build_win_32.batbuild_win_64.bat
展開
附加信息