All Projects → danielga → gm_luaerror

danielga / gm_luaerror

Licence: other
A module for Garry's Mod that adds hooks for obtaining errors that happen on the client and server (if activated on server, it also pushes errors from clients).

Programming Languages

C++
36643 projects - #6 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to gm luaerror

gmod luasocket
Modules for Garry's Mod that add bindings for OS sockets through luasocket.
Stars: ✭ 21 (-40%)
Mutual labels:  gmod, garrys-mod, garrysmod, garrysmod-module, gmod-module
sourcesdk-minimal
A compact and Garry's Mod compatible SourceSDK (don't use in other Source engine games).
Stars: ✭ 34 (-2.86%)
Mutual labels:  gmod, garrys-mod, garrysmod, garrysmod-module, gmod-module
garrysmod common
A repository of common bits for compilation projects based on Garry's Mod.
Stars: ✭ 76 (+117.14%)
Mutual labels:  gmod, garrys-mod, garrysmod, garrysmod-module, gmod-module
Half-Life-Resurgence
Recreation & expansion of NPCs, entities, and weapons from the Half-Life series into Garry's Mod!
Stars: ✭ 52 (+48.57%)
Mutual labels:  gmod, garrys-mod, garrysmod
BadCoderz
Find unoptimized gmod addons and KILL the devs who made them
Stars: ✭ 66 (+88.57%)
Mutual labels:  gmod, garrys-mod, garrysmod
Fun
Small fun scripts
Stars: ✭ 22 (-37.14%)
Mutual labels:  gmod, garrys-mod, garrysmod
Autorun-rs
Undetectable scripthook with lua execution and filesteal. Modern replacement for gluasteal and most lua executors
Stars: ✭ 63 (+80%)
Mutual labels:  gmod, garrys-mod, garrysmod
zombie-escape
🏃 Gamemode for Garry's Mod based on the popular Counter-Strike: Source server mod
Stars: ✭ 17 (-51.43%)
Mutual labels:  gmod, garrysmod
VJ-Base
An addon for Garry's mod that contains bunch of bases to make many different types of addons.
Stars: ✭ 57 (+62.86%)
Mutual labels:  gmod, garrysmod
XPGUI
A modern VGUI framework.
Stars: ✭ 15 (-57.14%)
Mutual labels:  gmod, garrysmod
helix
A Garry's Mod roleplaying framework developed by nebulous for the people. Helix IS open-source - the code can be used as you wish.
Stars: ✭ 123 (+251.43%)
Mutual labels:  gmod, garrysmod
3D2D-Textscreens
3D2D Textscreens Garry's Mod Workshop Addon
Stars: ✭ 26 (-25.71%)
Mutual labels:  gmod, garrysmod
ACF-3
ACF
Stars: ✭ 37 (+5.71%)
Mutual labels:  gmod, garrysmod
TrackAssemblyTool
A Garry's mod tool for assembing a prop-segmented track
Stars: ✭ 17 (-51.43%)
Mutual labels:  garrys-mod, garrysmod
gmod-medialib
Media playback library for Garry's Mod.
Stars: ✭ 28 (-20%)
Mutual labels:  gmod, garrys-mod
glua-docs
🔍 Quick documentation lookup for Garry's Mod Lua
Stars: ✭ 14 (-60%)
Mutual labels:  gmod, garrysmod
helix-plugins
github.com/Bilwin/helix-plugins
Stars: ✭ 24 (-31.43%)
Mutual labels:  gmod
stencil-tutorial
Learn you a stencil buffer for great justice
Stars: ✭ 40 (+14.29%)
Mutual labels:  garrysmod
machado
This repository provides users with a framework to store, search and visualize biological data.
Stars: ✭ 18 (-48.57%)
Mutual labels:  gmod
dash
Collection of libraries, utilities, and core Garry's Mod changes intended to improve development of addons and gamemodes
Stars: ✭ 46 (+31.43%)
Mutual labels:  garrysmod

gm_luaerror

Build Status

A module for Garry's Mod that adds hooks for obtaining errors that happen on the client and server (if activated on server, it also pushes errors from clients).

API reference

luaerror.Version -- holds the luaerror module version in a string form
luaerror.VersionNum -- holds the luaerror module version in a numeric form, LuaJIT style

luaerror.EnableRuntimeDetour(boolean) -- enable/disable Lua runtime errors
luaerror.EnableCompiletimeDetour(boolean) -- enable/disable Lua compiletime errors

luaerror.EnableClientDetour(boolean) -- enable/disable Lua errors from clients (serverside only)
-- returns nil followed by an error string in case of failure to detour

Hooks:
LuaError(isruntime, fullerror, sourcefile, sourceline, errorstr, stack)
-- isruntime is a boolean saying whether this is a runtime error or not
-- fullerror is a string which is the full error
-- sourcefile is a string which is the source file of the error
-- sourceline is a number which is the source line of the error
-- errorstr is a string which is the error itself
-- stack is a table containing the Lua stack at the time of the error

ClientLuaError(player, fullerror, sourcefile, sourceline, errorstr, stack)
-- player is a Player object which indicates who errored
-- fullerror is a string which is the full error (trimmed and cleaned up)
-- sourcefile is a string which is the source file of the error (may be nil)
-- sourceline is a number which is the source line of the error (may be nil)
-- errorstr is a string which is the error itself (may be nil)
-- stack is a table containing the Lua stack at the time of the error
-- sourcefile, sourceline and errorstr may be nil because of ErrorNoHalt and friends

Compiling

The only supported compilation platform for this project on Windows is Visual Studio 2017 on release mode. However, it's possible it'll work with Visual Studio 2015 and Visual Studio 2019 because of the unified runtime.

On Linux, everything should work fine as is, on release mode.

For macOS, any Xcode (using the GCC compiler) version MIGHT work as long as the Mac OSX 10.7 SDK is used, on release mode.

These restrictions are not random; they exist because of ABI compatibility reasons.

If stuff starts erroring or fails to work, be sure to check the correct line endings (\n and such) are present in the files for each OS.

Requirements

This project requires garrysmod_common, a framework to facilitate the creation of compilations files (Visual Studio, make, XCode, etc). Simply set the environment variable GARRYSMOD_COMMON or the premake option --gmcommon=path to the path of your local copy of garrysmod_common.

We also use SourceSDK2013. The links to SourceSDK2013 point to my own fork of VALVe's repo and for good reason: Garry's Mod has lots of backwards incompatible changes to interfaces and it's much smaller, being perfect for automated build systems like Azure Pipelines (which is used for this project).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].