Skip to content

v1.4.0

Choose a tag to compare

@blueshank-gh blueshank-gh released this 17 Aug 18:59
· 7 commits to master since this release
f0c212d

What's Changed

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.dll and place it near the executable of garry's mod
  • Rename the CL/SV binary as gm(cl/sv)_crashcapture_win(32/64).dll and place it in the lua/bin folder for require
  • Place the SV binary as a plugin in lua/bin folder and create a .vdf in 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).dll and place it in the lua/bin folder for require
  • Place the SV binary as a plugin in lua/bin folder and create a .vdf in 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.