Autorun rs
v1.2.0
Garrysmod Lua Dumper & Runner,以 Rust 寫成。
C:Users<User>autorunlua_dumps<ServerIP>..
(非同步以避免 I/O 延遲)lua_run
和lua_openscript
加載autorun.lua
)之前運行腳本,以繞行並繞過任何“反作弊”autorun/logs
)autorun/plugins
)Autorun 也可以用作選單插件/需要從 lua 自動從選單狀態。
gmsv_autorun_win<arch>.dll
檔案放入garrysmod/lua/bin
資料夾中。garrysmod/lua/menu/menu.lua
底部加上require("autorun")
使用它的傳統(但更不方便)方法是注入它。
Autorun 具有 scripthook 功能,這意味著我們將在執行任何其他 garrysmod 腳本之前執行您的腳本,以驗證您是否希望透過執行自己的鉤子腳本來執行程式碼。 *它在與_G
不同的環境中運行,因此要修改全域變量,請執行_G.foo = bar
另請注意,如果您在autorun.lua
中運行,像http.Fetch
和file.Write
這樣的函數將不存在。
使用它們的 C 對應項目( HTTP
和file.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 操作..),您可能需要自己建立它
build_win_32.bat
或build_win_64.bat
。