DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
VGSources
Blog

How to Adjust Damage on a Garry’s Mod Server

A practical guide to Garry’s Mod damage scaling: choose the right Lua hook, configure NPC skill values, avoid double multipliers, and test addon or Sandbox settings safely.
Length9 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For most Garry’s Mod servers, damage is adjusted with server-side Lua rather than one universal damage-multiplier convar. Use GM:ScalePlayerDamage when you need to change bullet damage to players by hit group, and use GM:EntityTakeDamage when the rule must cover explosions, fire, fall damage, poison and other damage types. NPCs use a separate path through GM:ScaleNPCDamage and sk_npc_* skill convars. A Workshop addon can provide convar-based controls if you do not want to maintain Lua, but its behavior should be checked on your exact server build.

Choose the damage method that matches your goal

Start by deciding who should be affected, which damage types count, and whether you are comfortable editing a server addon. There is no confirmed built-in convar that acts as a single global player-damage multiplier across Garry’s Mod.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Method Targets Damage scope Lua required Important limitation
GM:ScalePlayerDamage Players Bullet damage, with hit-group information Yes It is not the general hook for explosions, fire, fall or poison.
GM:EntityTakeDamage Any entity, filtered in your code All damage types reported to the hook Yes Body-part information is not the normal focus; avoid scaling the same bullet twice.
GM:ScaleNPCDamage NPCs NPC hit groups Usually, if overriding defaults Player settings do not automatically apply to NPCs.
sk_npc_* convars NPCs Per-hit-group NPC skill values No, when the built-in values are sufficient They are NPC controls, not player controls.
Workshop damage-multiplier addon Players and NPCs Per-part and additional categories, depending on the addon No Compatibility and exact behavior vary by addon version and gamemode.

Use one authoritative rule for each category. If both an addon and your own Lua modify the same hit, their multipliers can compound, making a headshot far stronger or weaker than intended.

Adjust bullet damage to players with ScalePlayerDamage

GM:ScalePlayerDamage is the documented hook for changing how much damage a player receives when a hit lands on a specific body part. It is called for bullet damage to a player and supplies the player, hit group and damage-information object. The usual pattern is to call dmginfo:ScaleDamage(multiplier) after selecting a multiplier.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Install a server-side script

  1. On the server, open the active server or addon directory.
  2. Create the path lua/autorun/server/ if it does not already exist.
  3. Create a file such as damage_scaling.lua in that directory.
  4. Restart the server or change level so the autorun file loads. Keep the file on the server; clients do not need a copy.

Basic per-hit-group example

hook.Add('ScalePlayerDamage', 'ExamplePlayerHitGroupScale', function(ply, hitgroup, dmginfo)
    local multiplier = 0.5

    if hitgroup == HITGROUP_HEAD then
        multiplier = 2.0
    elseif hitgroup == HITGROUP_LEFTARM or hitgroup == HITGROUP_RIGHTARM then
        multiplier = 0.75
    elseif hitgroup == HITGROUP_LEFTLEG or hitgroup == HITGROUP_RIGHTLEG then
        multiplier = 0.75
    end

    dmginfo:ScaleDamage(multiplier)
end)

This example doubles bullet damage to the head, reduces arm and leg damage to 75 percent, and halves every other player hit. A multiplier of 1.0 leaves damage unchanged; 0 prevents that damage from reaching the player, although invulnerability rules and other hooks can still affect the final result.

Use a table when you have several body-part rules

local playerMultipliers = {
    [HITGROUP_HEAD] = 2.0,
    [HITGROUP_CHEST] = 1.0,
    [HITGROUP_STOMACH] = 1.0,
    [HITGROUP_LEFTARM] = 0.5,
    [HITGROUP_RIGHTARM] = 0.5,
    [HITGROUP_LEFTLEG] = 0.5,
    [HITGROUP_RIGHTLEG] = 0.5
}

hook.Add('ScalePlayerDamage', 'TableDrivenPlayerScale', function(ply, hitgroup, dmginfo)
    local multiplier = playerMultipliers[hitgroup] or 1.0
    dmginfo:ScaleDamage(multiplier)
end)

Hit-group constants identify the head, chest, stomach, arms and legs. If a model reports an unusual or unknown group, the fallback in this example is normal damage. Test with the exact playermodels used by your server because custom models can have different hitbox layouts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Make the rule conditional

You can restrict scaling to a team, weapon, role or round state. For example, return without changing the damage when the victim belongs to a protected team:

hook.Add('ScalePlayerDamage', 'TeamLimitedScale', function(ply, hitgroup, dmginfo)
    if ply:Team() == TEAM_ADMIN then
        return
    end

    if hitgroup == HITGROUP_HEAD then
        dmginfo:ScaleDamage(1.5)
    end
end)

Use the team constants defined by your gamemode rather than assuming a numeric team ID. If you are writing a reusable addon, check that a constant exists before comparing it, because team names and IDs differ between gamemodes.

Scale every kind of player damage

Bullet scaling does not automatically cover grenades, physics impacts, burns, fall damage, drowning, poison or scripted damage. For a global player rule, use GM:EntityTakeDamage and filter the entity before changing the damage.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Global player multiplier

hook.Add('EntityTakeDamage', 'GlobalPlayerDamageScale', function(target, dmginfo)
    if not IsValid(target) or not target:IsPlayer() then
        return
    end

    dmginfo:ScaleDamage(1.25)
end)

This increases every damage event delivered to players by 25 percent. It does not provide the same hit-group workflow as ScalePlayerDamage; use the player hook for bullet body-part rules and this hook for damage-type rules.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Apply different values by damage type

hook.Add('EntityTakeDamage', 'DamageTypeScale', function(target, dmginfo)
    if not IsValid(target) or not target:IsPlayer() then
        return
    end

    local damageType = dmginfo:GetDamageType()

    if bit.band(damageType, DMG_BLAST) ~= 0 then
        dmginfo:ScaleDamage(0.75)
    elseif bit.band(damageType, DMG_BURN) ~= 0 then
        dmginfo:ScaleDamage(1.5)
    end
end)

The bit test matters because a damage event can carry more than one flag. Add or remove flags for the categories your rules actually need. Keep a bullet exception if you also use ScalePlayerDamage; otherwise the same bullet can be modified once by each hook. The safest arrangement is to let one script own bullet scaling and let the all-damage hook handle only non-bullet categories.

Do not infer a body part from a general damage event

An explosion or fire event can affect a player without a useful hit-group value. If your design requires head, chest or leg multipliers for non-bullet attacks, you need a separate detection system, such as the trace or scripted attack that created the damage, and must attach the intended category before applying it. A blanket EntityTakeDamage multiplier is not a substitute for hit-group data.

Adjust NPC damage separately

NPCs do not use the player hook. The counterpart is GM:ScaleNPCDamage, which is called with an NPC, hit group and damage information. NPC skill convars use the sk_npc_* naming scheme; examples include sk_npc_head. These values concern NPC damage handling and should not be expected to change damage dealt to human players.

Override an NPC hit group in Lua

hook.Add('ScaleNPCDamage', 'ExampleNPCScale', function(npc, hitgroup, dmginfo)
    if hitgroup == HITGROUP_HEAD then
        dmginfo:ScaleDamage(2.0)
    elseif hitgroup == HITGROUP_LEFTLEG or hitgroup == HITGROUP_RIGHTLEG then
        dmginfo:ScaleDamage(0.5)
    end
end)

This script doubles head damage and halves leg damage for NPCs. The game and gamemode can also apply their own NPC skill values, so test the final result rather than assuming your multiplier is the only modifier.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Use NPC skill convars when appropriate

The sk_npc_* family is useful when you want a server configuration value instead of hard-coding every number. Names and available hit groups can vary with the game branch and NPC implementation. Set a value, restart or reload the relevant map if required by the gamemode, and verify against a known NPC. Do not substitute sk_player_head or similar player-looking names; their effect on Garry’s Mod player damage is not established.

Use a convar-based Workshop addon instead of Lua

The Workshop addon titled Another Player and NPC Damage Multiplier exposes separate convars for player and NPC damage, including names such as AnotherDMGMultiplier_Plr_Head and AnotherDMGMultiplier_Plr_Arm. Its listed defaults are a head multiplier of 2 and arm and leg multipliers of 0.25. The addon description also covers NPC damage, explosions and poison-headcrab damage.

Installation and configuration workflow

  1. Subscribe to the addon from the server’s Workshop collection or install it through the method used by your host.
  2. Restart the server and watch the server console for Lua errors or load failures.
  3. Use the exact convar names supplied by the addon in server.cfg or your host’s server-configuration panel.
  4. Change one value at a time, restart or reload as the addon requires, and test head, limb, NPC and explosion cases separately.

The listed defaults are not a guarantee for every release or gamemode. Exact behavior on a particular build has not been independently established here, so treat the addon as a convenience layer and keep a rollback copy of your configuration.

Sandbox toggles: what to verify before relying on them

Sandbox servers expose settings named sbox_plpldamage and sbox_godmode in some hosting guides. They are broad sandbox controls rather than a replacement for per-hit-group Lua. Documentation summaries disagree about the effective value of sbox_plpldamage, so do not publish or deploy a value based only on that summary.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

On your own server, inspect the current convar with the server console, change it during a maintenance window, and test player-versus-player damage with two accounts. Check whether the gamemode reads or overwrites the value at startup. sbox_godmode can prevent damage altogether when enabled; it is therefore a protection switch, not a damage multiplier.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Why sk_player_* convars are a poor first choice

Some convar lists include familiar Half-Life 2-style names such as sk_player_head, sk_player_leg and sk_player_stomach. Their presence in a list does not prove that Garry’s Mod uses them to scale player damage. No reliable confirmation establishes that these convars change normal Garry’s Mod player damage, so build your system around the documented hooks instead.

Prevent conflicts with DarkRP, TTT and other gamemodes

Gamemodes can define their own damage hooks, load addons in a different order, or reset convars during initialization. Before installing a new rule:

  • Search the gamemode and server addons for ScalePlayerDamage, ScaleNPCDamage and EntityTakeDamage.
  • Check whether an existing hook already scales damage. Two multipliers of 2.0 produce four times the original damage, not twice.
  • Place your script in lua/autorun/server/ only after confirming that the gamemode does not require a gamemode-file override.
  • Do not edit a workshop addon directly; place local overrides in your own addon so updates do not erase them.
  • Record the intended final multiplier for each category and remove old test scripts before measuring results.

If the gamemode implements a GM:ScalePlayerDamage function rather than a hook callback, edit the gamemode’s supported configuration point or coordinate with its existing function. A second callback may not replace the first one in the way you expect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Test the result methodically

Damage changes are easy to misread when armor, spawn protection, NPC resistances or multiple hooks are active. Use a simple test plan on a private copy of the server.

  1. Make a backup of server.cfg, addon files and the Lua script.
  2. Start with one weapon that produces repeatable bullet damage and one target with no special protection.
  3. Record a baseline body-part hit for head, chest, arm and leg.
  4. Enable only one multiplier and repeat each hit several times.
  5. Test a non-bullet case such as an explosion or burn separately if you use EntityTakeDamage.
  6. Spawn an NPC and test its head and torso independently when using ScaleNPCDamage or sk_npc_*.
  7. Restart the server, reconnect, and repeat one test to confirm the setting survives startup.

For temporary diagnostics, add a server-console print inside your hook that reports the victim, hit group and incoming damage. Remove or disable verbose logging after verification so a busy server console does not become a performance or storage problem.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Troubleshooting common failures

The script never runs

Confirm the file is under lua/autorun/server/, uses the .lua extension, and is on the server rather than only in a client collection. Read the server console immediately after startup for syntax errors. A single missing parenthesis can prevent the file from loading.

Headshots change but explosions do not

That is expected when only ScalePlayerDamage is installed. Add a filtered EntityTakeDamage rule for the relevant damage type, and ensure your bullet path is not scaled twice.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Players change but NPCs do not

Player and NPC hooks are separate. Add ScaleNPCDamage logic or configure the applicable sk_npc_* values. Verify that the NPC actually reports the hit group you are testing.

The numbers are far from the multiplier

Look for armor, spawn protection, god mode, weapon-specific damage, NPC skill settings, another addon, or a gamemode hook. Disable competing modifiers one at a time and retest from a clean map.

The setting resets after a restart

Put persistent convars in the server’s startup configuration, check whether the gamemode writes them later, and confirm that the addon loads before the first player joins. If a gamemode resets a value, apply it from the gamemode’s documented initialization point.

Recommended decision path

  1. For player bullet hit groups, start with ScalePlayerDamage and a small server addon.
  2. For one multiplier across all player damage, use EntityTakeDamage with explicit entity and damage-type filters.
  3. For NPC-specific hit groups, use ScaleNPCDamage and, where suitable, sk_npc_* convars.
  4. Choose the Workshop addon only when convar administration is more important than code-level control, and verify its defaults on your build.
  5. Treat sk_player_* and undocumented sandbox values as unverified until a controlled test proves their effect.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.