Garrysmod Lua Dumper & Runner는 Rust로 작성되었습니다.
C:Users<User>autorunlua_dumps<ServerIP>..
에 덤프합니다(i/o 지연을 피하기 위해 비동기적으로).lua_run
및 lua_openscript
를 통해 런타임 Lua 로딩autorun.lua
) 전에 스크립트를 실행하여 '안티치트'를 우회하고 우회합니다.autorun/logs
에)autorun/plugins
)자동 실행은 메뉴 플러그인으로도 사용할 수 있으며 메뉴 상태에서 자동으로 Lua에 필요합니다.
gmsv_autorun_win<arch>.dll
파일을 garrysmod/lua/bin
폴더에 넣으세요.garrysmod/lua/menu/menu.lua
하단에 require("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의 scripthook 환경에 EmmyLua 정의 파일로 전달된 내용을 찾을 수 있습니다.
이것은 intellisense용 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 Actions 탭에서 (저장소의 코드에서) 최신 버전을 다운로드할 수 있습니다.
예상대로 작동하지 않을 수 있습니다. 하지만 문제가 해결되었는지 확인하기 위해 문제를 보고하기 전에 이 방법을 시도해 보는 것이 좋습니다.
이것을 메뉴 플러그인으로 사용하는 경우 DLL 이름이 gmsv_autorun_win<arch>.dll
인지 확인하세요.
변경/기여를 원할 경우(또는 어떤 이유로든 github 작업을 신뢰하지 않는 경우) 직접 빌드할 수도 있습니다.
build_win_32.bat
또는 build_win_64.bat
사용하세요.