Garrysmod Lua Dumper & Runner, escrito em Rust.
C:Users<User>autorunlua_dumps<ServerIP>..
(de forma assíncrona para evitar atraso de E/S)lua_run
e lua_openscript
em um console externoautorun.lua
), para desviar e ignorar qualquer 'anticheats'autorun/logs
)autorun/plugins
)Autorun também pode ser usado como um plugin de menu / exigido de lua automaticamente no estado do menu.
gmsv_autorun_win<arch>.dll
em sua pasta garrysmod/lua/bin
.require("autorun")
na parte inferior de garrysmod/lua/menu/menu.lua
O método tradicional (mas mais inconveniente) de usar isso é simplesmente injetar.
Autorun apresenta scripthook, o que significa que executaremos seu script antes de qualquer outro script garrysmod ser executado para verificar se você deseja que o código seja executado executando seu próprio script de gancho. *Isso é executado em um ambiente separado de _G
, portanto, para modificar globais, faça _G.foo = bar
Observe também que se você estiver executando em autorun.lua
Funções como http.Fetch
& file.Write
não existirão.
Use suas contrapartes C ( HTTP
e file.Open
)
Veja um exemplo de projeto usando o scripthook aqui.
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
└── ...
Você pode encontrar o que é passado para o ambiente scripthook em Fields.lua como um arquivo de definições EmmyLua.
Isso poderia ser usado com algo como uma extensão de servidor de linguagem vscode lua para intellisense?
gancho.lua
Este arquivo é executado antes de cada script lua ser executado em seu cliente a partir de complementos e servidores. Você pode return true
para não executar o script ou uma string para substituí-lo.
-- 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
Você pode encontrar mais aqui
Você pode obter uma versão 'estável' dos lançamentos.
Você pode obter o download mais recente (do código no repositório) na guia Ações do Github
Observe que pode não funcionar conforme o esperado (mas recomendo tentar fazer isso antes de tentar relatar um problema para ver se ele foi corrigido)
Se você estiver usando isso como um plugin de menu?, certifique-se de que a DLL tenha o nome gmsv_autorun_win<arch>.dll
Você pode querer construir isso sozinho se quiser fazer alterações/contribuir (ou não confiar nas ações do github por qualquer motivo.)
build_win_32.bat
ou build_win_64.bat
.