Garrysmod Lua Dumper & Runner เขียนด้วยภาษา Rust
C:Users<User>autorunlua_dumps<ServerIP>..
(แบบอะซิงโครนัสเพื่อหลีกเลี่ยงความล่าช้าของ i/o)lua_run
และ lua_openscript
ในคอนโซลภายนอกautorun.lua
) เพื่อเลี่ยงและข้าม 'anticheats' ใด ๆautorun/logs
)autorun/plugins
)การทำงานอัตโนมัติยังสามารถใช้เป็นปลั๊กอินเมนู / ต้องการจาก lua โดยอัตโนมัติจากสถานะเมนู
gmsv_autorun_win<arch>.dll
ลงในโฟลเดอร์ garrysmod/lua/bin
ของคุณrequire("autorun")
ที่ด้านล่างของ garrysmod/lua/menu/menu.lua
วิธีดั้งเดิม (แต่ไม่สะดวกกว่า) ในการใช้วิธีนี้คือฉีดเข้าไปเลย
คุณสมบัติการทำงานอัตโนมัติ scripthook ซึ่งหมายความว่าเราจะเรียกใช้สคริปต์ของคุณก่อนที่สคริปต์ garrysmod อื่นๆ จะดำเนินการเพื่อตรวจสอบว่าคุณต้องการให้โค้ดทำงานโดยการรันสคริปต์ hook ของคุณเองหรือไม่ *สิ่งนี้ทำงานในสภาพแวดล้อมที่แยกจาก _G
ดังนั้นหากต้องการแก้ไข globals ให้ทำ _G.foo = bar
โปรดทราบว่าหากคุณใช้งานฟังก์ชั่น autorun.lua
เช่น http.Fetch
& file.Write
จะไม่มีอยู่
ใช้คู่ C ของพวกเขา ( HTTP
และ file.Open
)
ดูโครงการตัวอย่างโดยใช้ scripthook ที่นี่
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
└── ...
คุณสามารถค้นหาสิ่งที่ส่งผ่านไปยังสภาพแวดล้อม scripthook ได้ใน fields.lua เป็นไฟล์คำจำกัดความ EmmyLua
สิ่งนี้สามารถใช้ได้กับบางอย่างเช่นส่วนขยายเซิร์ฟเวอร์ภาษา vscode lua สำหรับ Intellisense ?
ฮุค.ลัวะ
ไฟล์นี้ทำงานก่อนที่สคริปต์ 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
คุณสามารถหาข้อมูลเพิ่มเติมได้ที่นี่
คุณสามารถรับรุ่น 'เสถียร' ได้จากรุ่น
คุณสามารถดาวน์โหลดไฟล์ล่าสุดได้ (จากโค้ดใน repo) ในแท็บ Github Actions
โปรดทราบว่าอาจไม่ทำงานตามที่คาดไว้ (แต่ฉันขอแนะนำให้ลองใช้ก่อนที่จะพยายามรายงานปัญหาเพื่อดูว่าได้รับการแก้ไขแล้วหรือไม่)
หากคุณใช้สิ่งนี้เป็นปลั๊กอินเมนู ? ตรวจสอบให้แน่ใจว่า DLL มีชื่อว่า gmsv_autorun_win<arch>.dll
คุณอาจต้องการสร้างสิ่งนี้ด้วยตัวเองหากคุณต้องการเปลี่ยนแปลง / มีส่วนร่วม (หรือไม่เชื่อการกระทำของ GitHub ไม่ว่าด้วยเหตุผลใดก็ตาม .. )
build_win_32.bat
หรือ build_win_64.bat