Startseite>JSP-Quellcode>Andere Kategorien

Garrysmod Lua Dumper & Runner, geschrieben in Rust.

Merkmale

? Verwendung

? Menü-Plugin

Autorun kann auch als Menü-Plugin verwendet werden / wird von Lua automatisch aus dem Menüstatus benötigt.

  1. Legen Sie die DLL-Datei gmsv_autorun_win<arch>.dll in Ihren Ordner garrysmod/lua/bin .
  2. Fügen Sie require("autorun") am Ende von garrysmod/lua/menu/menu.lua hinzu
    Es wird jetzt automatisch ausgeführt, wenn Garrysmod im Menü geladen wird.

? Injizieren

Die traditionelle (aber umständlichere) Methode besteht darin, es einfach zu injizieren.

  1. Besorgen Sie sich einen Injektor (stellen Sie sicher, dass er je nach Verwendung mit der Injektion von 32/64-Bit-Code kompatibel ist).
  2. Fügen Sie die DLL in gmod ein, während Sie sich im Menü befinden

Scripthook

Autorun verfügt über Scripthook, was bedeutet, dass wir Ihr Skript ausführen, bevor ein anderes Garrysmod-Skript ausgeführt wird, um zu überprüfen, ob der Code durch Ausführen Ihres eigenen Hook-Skripts ausgeführt werden soll. *Dies wird in einer separaten Umgebung von _G ausgeführt. Um globale Werte zu ändern, führen Sie _G.foo = bar aus

Beachten Sie außerdem, dass Funktionen wie http.Fetch und file.Write nicht vorhanden sind, wenn Sie autorun.lua ausführen.
Verwenden Sie ihre C-Gegenstücke ( HTTP und file.Open ).

Sehen Sie sich hier ein Beispielprojekt mit dem Scripthook an.

? Dateistruktur

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

?️ Felder

Was an die Scripthook-Umgebung übergeben wird, finden Sie in „fields.lua“ als EmmyLua-Definitionsdatei.
Könnte dies mit so etwas wie einer vscode Lua-Sprachservererweiterung für Intellisense verwendet werden?

✍️ Beispiele

Hook.lua
Diese Datei wird ausgeführt, bevor jedes einzelne Lua-Skript von Add-ons und Servern auf Ihrem Client ausgeführt wird. Sie können return true um das Skript nicht auszuführen, oder eine Zeichenfolge, um es zu ersetzen.

 -- 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

Mehr finden Sie hier

Herunterladen

? Stabil

Sie können aus den Veröffentlichungen eine „stabile“ Veröffentlichung erhalten.

? Bleeding Edge

Sie können den absolut neuesten Download (vom Code im Repo) auf der Registerkarte „Github-Aktionen“ erhalten
Beachten Sie, dass es möglicherweise nicht wie erwartet funktioniert (ich würde jedoch empfehlen, dies auszuprobieren, bevor Sie versuchen, ein Problem zu melden, um zu sehen, ob es behoben wurde).

Wenn Sie dies als Menü-Plugin verwenden?, stellen Sie sicher, dass die DLL den Namen gmsv_autorun_win<arch>.dll trägt

Gebäude

Möglicherweise möchten Sie dies selbst erstellen, wenn Sie Änderungen vornehmen/beisteuern möchten (oder Github-Aktionen aus irgendeinem Grund nicht vertrauen.)

  1. Richten Sie Rust & Cargo ein
  2. Verwenden Sie build_win_32.bat oder build_win_64.bat .
Expandieren
Zusätzliche Informationen