v1.4.0
What's Changed
- feature - guidelines, templates and contributing by @blueshank-gh in #26
- milestone - v1.4.0 - integrated patcher by @blueshank-gh in #27
Full Changelog: v1.3.0...v1.4.0
Features
Note
This release was edited to contain a latent patch.
See commit ebdf3ea
Version uplifted to v1.4.1
Warning
We recommend not using "require" GMCL on single-player, as the pause mechanics break the watchdog.
We are working on fixing this by detecting for single-player pause mechanics.
Please see #10 for further tracking of this problem.
This version of crash capture implements a patcher with traceability, which serves as a way to quick-fix issues within the game engine.
The current set of patches are the following targeting vphysics:
gm.phys.contact_stale_core - gmod IVP teardown UAF
gm.phys.mindist_null_edge - gmod IVP retained-mindist UAF
gm.phys.mindist_stale_ff - gmod IVP retained-mindist UAF
gm.phys.oo_collision_hash_index - gmod IVP OO-watcher collision-hash sign-extension
gm.phys.oo_collision_hash_swap - gmod IVP OO-watcher collision-hash sign-extension
gm.phys.watcher_stale_mindist - gmod IVP teardown UAF - stale mindist double-removal
gm.phys.ovtree_hash_remove - gmod IVP teardown UAF
gm.phys.vhash_remove_null - gmod IVP VHash absent-key fatal
gm.phys.minlist_walk_bound_a - gmod IVP min-list walk bound
gm.phys.minlist_walk_bound_b - gmod IVP min-list walk bound
gm.phys.minlist_skip_list - gmod IVP min-list skip-list (long-jump) corruption
gm.phys.minlist_replace - gmod IVP min-list add() replacement (skip-list corruption fix)
gm.phys.ctrl_remove_absent - gmod IVP teardown UAF
gm.phys.coc_absent_bail - gmod IVP controller-list UAF
gm.phys.vhash_store_remove_bound - gmod IVP friction-hash unbounded scan
gm.phys.friction_hash_init_size - gmod IVP friction-hash warmup
The purpose of the patcher is to provide everyone with patches that Facepunch has yet to implement or have been abandoned, similar to vphysic's current issue that prevents Facepunch from implementing said patches.
Installation
This is a list of possible routes for you to install the binary into the game engine.
I highly recommend carefully reading which ones you would like to chose.
Windows
- Rename the CL/SV binary into
version.dlland place it near the executable of garry's mod - Rename the CL/SV binary as
gm(cl/sv)_crashcapture_win(32/64).dlland place it in the lua/bin folder for require - Place the SV binary as a plugin in lua/bin folder and create a
.vdfin the addon's folder to load it - Inject the CL/SV binary into the garry's mod process
Note
Some garry's mod branches contain different locations for where gmod.exe real executable may be.
For no.1, we recommend that you do not place crash capture next to the gmod.exe launcher
Linux
- Rename the CL/SV binary as
gm(cl/sv)_crashcapture_linux(null/64).dlland place it in the lua/bin folder for require - Place the SV binary as a plugin in lua/bin folder and create a
.vdfin the addon's folder to load it - Inject the CL/SV binary into the garry's mod process
Note
Client native linux builds are experimental due to a lack of testing infrastructure.