This plugin adds a better way to give items, replacing Rust's outdated give command. You can give items to yourself, another player, or everyone online, with support for custom names, skins, durability, blueprints, and inventory placement. It also supports offline delivery, letting players claim items from a stash when they next join.
Features
- Easy commands to give items to yourself, other players, or everyone online.
- Works with item shortnames, ids, or partial name matches with suggestions.
- Supports custom item options like amount, skin id, durability, container, and custom name.
- Supports giving items as blueprints instead of regular items.
- Full offline delivery system that lets you send items to offline players, which they can later claim using
/stash
. - Safe bulk give system with a limit on how many players can be targeted at once.
- Configurable item blacklist to restrict what can be given.
- Optional rate limits to prevent abuse (number of uses or quantity over time).
- Option to automatically unload weapons when giving them (with exclusions).
- Includes a built-in F1 spawn blocker that prevents players from spawning items through the F1 console.
- Logs every item given, with support for console output, daily log files, or Discord webhooks.
- Sends chat and toast notifications to recipients when they receive items.
- Permission-based system that gives full control over who can give items and in what way.
- Highly customizable config with command aliases, limits, item matching behavior, and more.
Permissions
bettergive.give
- Allows the player to use/bgive
to give items to themselves.bettergive.giveto
- Allows the player to usebgiveto
in the console to give items to other players.bettergive.giveall
- Allows the player to usebgiveall
in the console to give items to all online players.bettergive.stash
- Allows the player to open their offline stash, but only ifRequire Permission To Open Offline Stash
is enabled.bettergive.bypass.blacklist
- Allows the player to give blacklisted items that are normally restricted.bettergive.bypass.limit
- Allows the player to ignore all give command rate limits set in the config.bettergive.bypass.f1block
- Allows the player to spawn items using the F1 spawn menu, even if F1 spawning is blocked by the plugin.
Commands
/bgive <shortname|itemid|name> [amount] [cond] [skin] [container] [bp|blueprint=true] [name="..."]
- Gives an item to yourself.shortname|itemid|name
- The item to give. This is required.amount
ora
- How many to give. If not set, defaults to1
.cond
orcondition
- A number between0
and1
that sets the item's durability. Defaults to1
.skin
orskinid
- The skin ID to apply to the item.container
orcont
- Target inventory container. Can bemain
,belt
, orwear
. Defaults tomain
.bp
orblueprint
- If set, the item will be given as a blueprint. Either usebp
, orblueprint=true
.name
orcustomname
- A custom name for the item. Use quotes if the name has spaces.
This command can be used in chat or in your own F1 console. It does not work from the server console.
You can specify the item using its shortname (rifle.ak), numeric item id, or in-game name. The plugin will suggest matches if the input is unclear.
Examples:
/bgive rifle.ak amount=2 skin=12345 cont=belt
/bgive syringemedical 10 0.6
/bgive m249 bp
bgiveto <player|steamid> <shortname|itemid|name> [amount] [cond] [skin] [container] [bp|blueprint=true] [name="..."]
- Gives an item to a specific player by name or Steam ID.player|steamid
- Target player (online or offline).- Same item arguments as
bgive
.
This command must be used in the F1 console or the server console. It does not work in chat. If the target player is online, the item is delivered directly to their inventory.
If they are offline and you provide a Steam ID, the item will be stored in their offline stash automatically.
Examples:
bgiveto 76561198000000000 rifle.ak a=1 skin=12345
bgiveto "Alex Carter" rocket.launcher 1 0.95 cont=belt
bgiveto 76561198000000000 m249 bp
bgiveto "VisEntities" mp5.name name="Streamer MP5"
bgiveall <shortname|itemid|name> [amount] [cond] [skin] [container] [bp|blueprint=true]
- Gives an item to all online players.- Same item arguments as
bgive
.
- Same item arguments as
This command must be used in the F1 console or the server console. It does not work in chat.
The maximum number of recipients is limited by the config value
Maximum Recipients Allowed In A Bulk Give
.
Examples:
bgiveall hat.beenie a=1 cont=wear
bgiveall syringe a=3
bgiveall rocket.bp bp
/stash
- Opens your offline stash so you can collect items sent while you were offline.
Configuration
JSON:
{
"Command Aliases": {
"Give Self": "bgive",
"Give To": "bgiveto",
"Give All": "bgiveall",
"Stash (open)": "stash"
},
"Item Blacklist (shortnames or numeric ids)": [],
"Logging": {
"Write Actions To Server Console": true,
"Write Actions To Daily Log Files": true,
"Daily Log Filename Prefix": "BetterGive",
"Send Actions To Discord Webhook": false,
"Discord Webhook Url": ""
},
"Unload Weapons On Give": true,
"Unload Weapon Exclusions (shortnames)": ["bow.hunting", "crossbow"],
"Maximum Recipients Allowed In A Bulk Give (safety for Give All)": 64,
"Offline Stash Slot Count": 30,
"Require Permission To Open Offline Stash": false,
"Recipient Notifications": {
"Notify In Chat": true,
"Notify With Toast": true
},
"Give Command Limits": {
"Enabled": false,
"Give Self Limits": {
"Enabled": false,
"Time Window Duration Seconds": 60,
"Maximum Command Uses Allowed Per Window (0 = unlimited)": 0,
"Maximum Total Quantity Given Per Window (sum across all recipients)": 0
},
"Give To Player Limits": {
"Enabled": false,
"Time Window Duration Seconds": 60,
"Maximum Command Uses Allowed Per Window (0 = unlimited)": 0,
"Maximum Total Quantity Given Per Window (sum across all recipients)": 0
},
"Give All Limits": {
"Enabled": false,
"Time Window Duration Seconds": 60,
"Maximum Command Uses Allowed Per Window (0 = unlimited)": 0,
"Maximum Total Quantity Given Per Window (sum across all recipients)": 0
}
},
"F1 Spawn": {
"Block F1 Spawning": false,
"Block Non-Admin Players": true,
"Block Admins Too": false,
"Whitelist Steam Ids": [],
"Blocked Command Prefixes": ["inventory.give", "inventory.giveid", "inventory.givearm"],
"Notify Player": true
},
"Item Name Matching And Suggestions": {
"Fuzzy Enabled": true,
"Auto Resolve When Confident": true,
"Auto Resolve Confidence Threshold (0..1)": 0.9,
"Suggestion Score Threshold (0..1)": 0.52,
"Maximum Suggestion Count": 6,
"Show Display Names In Suggestions": true
}
}
Command Aliases
- Customize what players type in chat or console.Give Self
- The command players use to give an item to themselves.Give To
- The command used to give an item to a specific player.Give All
- The command used to give an item to everyone online.Stash
- The command to open your offline stash and collect deliveries.
Item Blacklist
- Blocks certain items from being given using shortnames or ids. Useful to prevent abuse.Logging
- Controls how and where actions are logged.Write Actions To Server Console
- Shows each give action in the console.Write Actions To Daily Log Files
- Saves actions to a log file per day.Daily Log Filename Prefix
- Prefix for each log filename.Send Actions To Discord Webhook
- Sends logs to a Discord channel.Discord Webhook Url
- The Discord url to send logs to.
Unload Weapons On Give
- If true, guns are emptied of bullets before giving.Unload Weapon Exclusions
- List of weapon types that are never unloaded.Maximum Recipients Allowed In A Bulk Give
- Sets the max number of players allowed to receive items in onebgiveall
command. Helps prevent lag or mistakes.Offline Stash Slot Count
- How many item slots offline players have available for receiving items.Require Permission To Open Offline Stash
- If true, only players with permission can open their stash. If false, anyone can view their own stash.Recipient Notifications
- Controls if players get notified when they receive something.Notify In Chat
- Shows a message in the chat.Notify With Toast
- Shows a popup in the top-right corner.
Give Command Limits
- Enable this section to prevent abuse by setting usage limits.Enabled
- Turn the rate limiting system on or off.Give Self Limits
- Limits for thebgive
command.Enabled
- Turns limits on or off for self-giving.Time Window Duration Seconds
- The time period to count actions (in seconds).Maximum Command Uses Allowed Per Window
- How many times the command can be used per window.Maximum Total Quantity Given Per Window
- Total amount of items you can give to yourself in the time window.
Give To Player Limits
- Same as above but for giving to others usingbgiveto
.Give All Limits
- Same but forbgiveall
to give to everyone.
F1 Spawn
- Controls whether players can use the F1 spawn item list.Block F1 Spawning
- If true, blocks access to the spawn menu entirely.Block Non-Admin Players
- If true, blocks F1 spawning only for normal players.Block Admins Too
- If true, even admins can't use the F1 spawn list.Whitelist Steam Ids
- Players listed here are never blocked.Blocked Command Prefixes
- List of console commands to block.Notify Player
- If true, shows a message when a player tries to use F1 spawn but is blocked.
Item Name Matching And Suggestions
- Helps fix typos or suggest better matches when giving items.Fuzzy Enabled
- If true, enables typo correction and search.Auto Resolve When Confident
- If true, auto-picks the best match if it's a very close match.Auto Resolve Confidence Threshold
- How confident the match must be (0 to 1).Suggestion Score Threshold
- How similar a name must be to be included in suggestions.Maximum Suggestion Count
- How many suggestions to show.Show Display Names In Suggestions
- If true, suggestions show item display names instead of just shortnames.
Stored Data
JSON:
{
"Offline Stashes": {
"76561198000000000": {
"User Id": 76561198000000000,
"Items": [
{
"Item Id": 154,
"Short Name": "rifle.ak",
"Amount": 1,
"Slot": -1,
"Condition": 0.9,
"Skin Id": 123456789,
"Custom Name": "Welcome AK",
"Loaded Rounds": 0,
"Ammo Type": 0,
"As Blueprint": false,
"Blueprint Target": 0,
"Contents": []
}
]
}
}
}
Offline Stashes
- Saved data for players who were offline when items were given.User Id
- The player's Steam ID.Items
- A list of item entries saved for that player.Item Id
- The internal item ID.Short Name
- Rust shortname (e.g.,rifle.ak
).Amount
- How many were given.Slot
- Inventory slot. Usually -1.Condition
- How damaged or healthy the item is (1.0 = perfect).Skin Id
- Custom skin applied (if any).Custom Name
- Custom name set on the item (if any).Loaded Rounds
- If a weapon, how many bullets it has loaded.Ammo Type
- What kind of ammo was loaded.As Blueprint
- If the item is a blueprint.Blueprint Target
- What the blueprint teaches (if any).Contents
- Items inside (e.g. attachments, mods, ammo in magazines, etc).
Localization
JSON:
{
"Error.NoPermission": "You do not have permission to use this command.",
"Error.InvalidItem": "Invalid or unknown item: {0}",
"Error.ParseGiveItemArgs": "Could not parse arguments. Check syntax.",
"Error.NoPlayerFound": "No player found: {0}",
"Error.Blacklisted": "That item is blacklisted: {0}",
"Error.RateLimited": "Rate limited for {0}. Remaining this window — commands: {1}, total quantity: {2}. Window: {3}s.",
"Usage.Give": "Usage: {0}",
"Usage.GiveTo": "Usage: {0}",
"Usage.GiveAll": "Usage: {0}",
"Info.GivenSelf": "Gave {0} x {1} to yourself.",
"Info.GivenTo": "Gave {0} x {1} to {2}.",
"Info.ReceivedFromAdmin": "You received {0} x {1}.",
"Info.GiveAllSummary": "Gave {0} x {1} to {2} player(s).",
"Info.SentToStash": "Player offline: stored in their stash (ID {0}). Stash now has {1} item(s).",
"Info.F1Blocked": "F1 spawn is disabled on this server.",
"Info.Give.ServerBlocked": "Server/RCON cannot use this command. Use bgiveto or bgiveall instead.",
"Info.ConsoleOnly": "This command is console-only. Use it in F1 or server console.",
"Error.ItemSuggestions": "Unknown item \"{0}\".\nSuggestions:\n{1}",
"Info.AutoResolved": "Interpreted \"{0}\" as \"{1}\" ({2})."
}