Garrysmod Lua Dumper & Runner, écrit en Rust.
C:Users<User>autorunlua_dumps<ServerIP>..
(de manière asynchrone pour éviter le décalage d'E/S)lua_run
et lua_openscript
dans une console externeautorun.lua
), pour détourner et contourner les « anti-triches »autorun/logs
)autorun/plugins
)Autorun peut également être utilisé comme plugin de menu / requis automatiquement par Lua à partir de l'état du menu.
gmsv_autorun_win<arch>.dll
dans votre dossier garrysmod/lua/bin
.require("autorun")
en bas de garrysmod/lua/menu/menu.lua
La méthode traditionnelle (mais plus peu pratique) pour l’utiliser consiste simplement à l’injecter.
Autorun comporte un scripthook, ce qui signifie que nous exécuterons votre script avant l'exécution de tout autre script garrysmod pour vérifier si vous souhaitez que le code s'exécute en exécutant votre propre script hook. *Cela s'exécute dans un environnement distinct de _G
, donc pour modifier les globales, faites _G.foo = bar
Notez également que si vous exécutez autorun.lua
des fonctions telles que http.Fetch
et file.Write
n'existeront pas.
Utilisez leurs homologues C ( HTTP
et file.Open
)
Voir un exemple de projet utilisant le scripthook ici.
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
└── ...
Vous pouvez trouver ce qui est transmis à l'environnement scripthook dans field.lua en tant que fichier de définitions EmmyLua.
Cela pourrait être utilisé avec quelque chose comme une extension de serveur de langage vscode lua pour intellisense ?
crochet.lua
Ce fichier s'exécute avant chaque script Lua exécuté sur votre client à partir d'addons et de serveurs. Vous pouvez return true
pour ne pas exécuter le script, ou une chaîne pour le remplacer.
-- 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
Vous pouvez en trouver plus ici
Vous pouvez obtenir une version « stable » à partir des versions.
Vous pouvez obtenir le dernier téléchargement absolu (à partir du code dans le dépôt) dans l'onglet Actions Github
Notez que cela peut ne pas fonctionner comme prévu (mais je vous conseille d'essayer ceci avant d'essayer de signaler un problème pour voir s'il a été résolu)
Si vous l'utilisez comme plugin de menu ?, assurez-vous que la DLL est nommée gmsv_autorun_win<arch>.dll
Vous souhaiterez peut-être le créer vous-même si vous souhaitez apporter des modifications/contribuer (ou si vous ne faites pas confiance aux actions de github pour une raison quelconque..)
build_win_32.bat
ou build_win_64.bat
.