Página Inicial>Código fonte JSP>Outras categorias

Garrysmod Lua Dumper & Runner, escrito em Rust.

Características

? Uso

? Plug-in de menu

Autorun também pode ser usado como um plugin de menu / exigido de lua automaticamente no estado do menu.

  1. Coloque o arquivo dll gmsv_autorun_win<arch>.dll em sua pasta garrysmod/lua/bin .
  2. Adicione require("autorun") na parte inferior de garrysmod/lua/menu/menu.lua
    Agora ele será executado automaticamente quando o garrysmod for carregado no menu.

? Injetando

O método tradicional (mas mais inconveniente) de usar isso é simplesmente injetar.

  1. Obtenha um injetor (certifique-se de que seja compatível para injetar código de 32/64 bits dependendo do seu uso).
  2. Injete a dll no gmod enquanto estiver no menu

Gancho de script

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.

? Estrutura de arquivo

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
└── ...

?️ Campos

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?

✍️ Exemplos

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

Baixando

? Estável

Você pode obter uma versão 'estável' dos lançamentos.

? Borda sangrenta

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

Prédio

Você pode querer construir isso sozinho se quiser fazer alterações/contribuir (ou não confiar nas ações do github por qualquer motivo.)

  1. Configurar ferrugem e carga
  2. Use build_win_32.bat ou build_win_64.bat .
Expandir
Informações adicionais