All Projects → ExtReMLapin → BadCoderz

ExtReMLapin / BadCoderz

Licence: MIT license
Find unoptimized gmod addons and KILL the devs who made them

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to BadCoderz

Half-Life-Resurgence
Recreation & expansion of NPCs, entities, and weapons from the Half-Life series into Garry's Mod!
Stars: ✭ 52 (-21.21%)
Mutual labels:  addon, gmod, garrys-mod, garrysmod
sourcesdk-minimal
A compact and Garry's Mod compatible SourceSDK (don't use in other Source engine games).
Stars: ✭ 34 (-48.48%)
Mutual labels:  gmod, garrys-mod, garrysmod
gmod luasocket
Modules for Garry's Mod that add bindings for OS sockets through luasocket.
Stars: ✭ 21 (-68.18%)
Mutual labels:  gmod, garrys-mod, garrysmod
gm luaerror
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).
Stars: ✭ 35 (-46.97%)
Mutual labels:  gmod, garrys-mod, garrysmod
VJ-Base
An addon for Garry's mod that contains bunch of bases to make many different types of addons.
Stars: ✭ 57 (-13.64%)
Mutual labels:  addon, gmod, garrysmod
3D2D-Textscreens
3D2D Textscreens Garry's Mod Workshop Addon
Stars: ✭ 26 (-60.61%)
Mutual labels:  addon, gmod, garrysmod
Autorun-rs
Undetectable scripthook with lua execution and filesteal. Modern replacement for gluasteal and most lua executors
Stars: ✭ 63 (-4.55%)
Mutual labels:  gmod, garrys-mod, garrysmod
ACF-3
ACF
Stars: ✭ 37 (-43.94%)
Mutual labels:  addon, gmod, garrysmod
Fun
Small fun scripts
Stars: ✭ 22 (-66.67%)
Mutual labels:  gmod, garrys-mod, garrysmod
garrysmod common
A repository of common bits for compilation projects based on Garry's Mod.
Stars: ✭ 76 (+15.15%)
Mutual labels:  gmod, garrys-mod, garrysmod
zombie-escape
🏃 Gamemode for Garry's Mod based on the popular Counter-Strike: Source server mod
Stars: ✭ 17 (-74.24%)
Mutual labels:  gmod, garrysmod
glua-docs
🔍 Quick documentation lookup for Garry's Mod Lua
Stars: ✭ 14 (-78.79%)
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 (+86.36%)
Mutual labels:  gmod, garrysmod
TrackAssemblyTool
A Garry's mod tool for assembing a prop-segmented track
Stars: ✭ 17 (-74.24%)
Mutual labels:  garrys-mod, garrysmod
XPGUI
A modern VGUI framework.
Stars: ✭ 15 (-77.27%)
Mutual labels:  gmod, garrysmod
gmod-medialib
Media playback library for Garry's Mod.
Stars: ✭ 28 (-57.58%)
Mutual labels:  gmod, garrys-mod
garrysmod-chatsounds
Community Uploaded Ingame Chat Reaction Sounds
Stars: ✭ 68 (+3.03%)
Mutual labels:  addon, garrysmod
EasyChat
A modular Garry's Mod chat addon for both users and developers.
Stars: ✭ 74 (+12.12%)
Mutual labels:  addon, gmod
dash
Collection of libraries, utilities, and core Garry's Mod changes intended to improve development of addons and gamemodes
Stars: ✭ 46 (-30.3%)
Mutual labels:  addon, garrysmod
BetterAlign
A better version of Align for Vanilla WoW
Stars: ✭ 16 (-75.76%)
Mutual labels:  addon

Anyone telling you this addon reports false-positifs is stupid or lying, CANNOT report false positives, just remember to check the number of calls of the reported functions

BadCoderz

Find unoptimized addons and KILL the devs who made them

Roasting darkrp """devs""" since 2019

Workshop page

English video

Video in french for my fellows baguettes (Oudated since the video doesn't show GMA path support)

How is it different from a profiler ?

A profiler doesn't tell you if code is shit so you don't know if there is a good reason for a code to be "slow", here BadCoderz highlights you the shit code of your server and explains you why it's shit.

Finds un-optimized code and bottlenecks

Supports code ran in hooks, GM functions, Entities and Panels

Exports reports in TXT format to work with your team

Detailed call stack history

Even shows the absolute path with GMAs (Gmod doesn't natively support it)

Code preview

Ingame advices and hook/function documentation (Right click on it opens the wiki page)

Compatibility with GLib allowing you to decompile functions generated with CompileString or RunString (you need to download GLib if you want to use it)

RunString explorer (no defensive/offensive mechanism)

  1. Download BadCoderz
  2. Identify the addons coded like shit
  3. Do something about it :
    • Remove the addon
    • Fix it
    • Send the report to the dev so he can fix it
  4. (Optional) Smash the dev's head on the ground
  5. Keep your players because your server now has much better performances and less shitty code

BadCoderz isn't exactly a profiler, a profiler is only measuring how much time the CPU spend on each function, without telling you if the CPU has a good reason to do so.

A profiler can flag a function as "heavy/slow" without knowing if it's actually optimized.

BadCoderz uses a database of known mistakes (function and contexts) to find the unoptimized code in your addons/gamemode.

So, how does it work exactly ?

Simply open BadCoderz using the badcoderz command.

Then you can start scanning for unoptimized code on the Client or on the Server (or even both at the same time)

https://www.youtube.com/embed/CxLTw-b6ObY

In this video i downloaded 7 hud from the workshop, and as expected the code was total shit.

The BF4 hud, for example re-reads the textures from the disk on each frame.

If you put your mouse over the Function name it tells you what the function does (fetched from the wiki on the fly) and explains you why it's wrong to use it in this context.

Right clicking on the function name opens the wiki page. (Same with the hook).

Bellow we can see the places (in the code) where the function was called.

It also shows you the call stack.

Hover the one of the call stack line and it will show you a preview of the code

Wait, do i need to understand Lua to use it ?

Not at all, but it's obviously much better to know how Lua and gmod works, but with common sense you can easily find which addon is coded like shit.

You can also export the Clientside/Serverside report to .txt and share it with your team/the dev of the addon.

Obviously, there might be some "false positive" detections, but with common sense and with the stack call history, you should be fine.

I got a short memory, can you explain me quickly the difference between a profiler and this ?

A profiler finds CPU intensive functions without knowing if they are actually coded like shit, this addon finds all the functions coded like shit.

Then you can actually blame the dev who coded it for making shit code.

Most of the people who use fprofiler actually don't know what they're doing.

Optimized doesn't mean being fast, optimized means being efficient.

I still got a short memory, who can use this addon ?

Here is a non-exhaustive list :

  • Server owner : His server is lagging, his players are leaving or complaining, he want to fire his server dev, but since he is his brother-in-law he need evidence.

  • Server owner 2 : His server is lagging and he wants to find which addon is coded like ass.

  • Junior Lua dev releasing his first addon : He wants to be sure he didn't do anything that would destroy the server performance.

Anything else i should know ?

Keep in mind this is a technical tool, it's meant to be used with a brain and at least one eye.

If you want your staff to help you, export a report and send it to them.

The addon is using debug functions, so it's not compatible with SecureGmod

Thanks :

RE Lexi for the banner

Threebow for TDLib

Metastruct for the html lua editor

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