- Dependencies
- Playtime Tracker (Required)
- Works With
This Rust plugin automatically rewards players as they rack up active playtime, helping you boost server retention and give players a reason to stay logged in.
Rewards
Players unlock rewards as they reach specific playtime milestones. Each milestone is fully customizable. You can set as many as you want and choose exactly what each one gives.- Gives Economics money, ServerRewards points, or in-game items like scrap.
- Supports XP rewards using the XPerience plugin.
- Can run any chat, server, or client command as a reward.
- Lets you run all commands or just one random command per milestone.
- Sends custom global and personal messages when a reward is given.
Configuration
JSON:
{
"Version": "1.2.1",
"Rewards": [
{
"Playtime Minutes": 30.0,
"Include AFK Time": false,
"Currencies": [
{
"Enabled": true,
"Name": "economy",
"Amount": 25,
"Shop Name (ShoppyStock only)": null
}
],
"Run Random Command": false,
"Commands": [
{
"Type": "Chat",
"Command": "/kit starter"
}
],
"Experience XP": 150.0,
"Global Message (Sent to Everyone)": "{PlayerName} just played for {PlaytimeMinutes} minutes and picked up their first reward!",
"Personal Message (Sent to Recipient)": "You've reached {PlaytimeFormatted}. 25 Economy and 150 XP have been rewarded. Use /kit starter to claim your gear."
},
{
"Playtime Minutes": 120.0,
"Include AFK Time": false,
"Currencies": [
{
"Enabled": true,
"Name": "point",
"Amount": 100,
"Shop Name (ShoppyStock only)": null
},
{
"Enabled": true,
"Name": "scrap",
"Amount": 300,
"Shop Name (ShoppyStock only)": null
}
],
"Run Random Command": true,
"Commands": [
{
"Type": "Server",
"Command": "spawnmini {PlayerId}"
},
{
"Type": "Client",
"Command": "note.inv"
}
],
"Experience XP": 400.0,
"Global Message (Sent to Everyone)": "{PlayerName} just hit {PlaytimeHours} hours of active play and unlocked a new milestone!",
"Personal Message (Sent to Recipient)": "You've earned {ExperienceXp} XP and some extra goodies for {PlaytimeFormatted} of time in-game."
}
]
}
Rewards
- A list of reward entries. Each reward defines a required playtime, currencies, commands, messages, and optional experience XP. Players receive these in order as they reach the required time milestones.
Playtime Minutes
- The number of minutes of active playtime required to unlock this reward. AFK time is excluded.Include AFK Time
- Set to true to count AFK time toward this reward's playtime requirement. This lets you reward more casual or idle-friendly players, while still keeping other rewards strict if needed.Currencies
- A list of currencies that should be awarded when this reward is triggered. Each entry supports different types:economy
- Refers to the Economics plugin currency.point
- Refers to Server Rewards plugin points.stock
- Refers to Shoppy Stock plugin currency.Shop Name
- Only used if the currency name isstock
. This field tells the plugin which Shoppy Stock shop to use when giving the reward. It must match exactly the shop name you’ve configured in the Shoppy Stock plugin. If left empty, it will default to using a shop named default.
- Any valid item shortname (like scrap, wood, etc.) - Gives actual in-game items to the player.
Each currency entry includes:
Run Random Command
- If true, only one randomly chosen command from the list will be executed. If false, all commands will be run.Commands
- A list of custom commands to execute when the reward is triggered. Commands can be server, client, or chat type.Type
- The type of command to run:Chat
- Runs as if the player typed it in chat (e.g.,/kit vip
).Client
- Sent directly to the player's client.Server
- Runs from the server console (e.g., spawning vehicles or entities).
Command
- The actual command string. You can include placeholders like {PlayerId} or {PlayerName}.
Experience XP
- How much XP to give the player using the X Perience plugin, if available.Global Message
- Message sent to all online players when someone receives the reward. Placeholders are supported.Personal Message
- Message shown only to the player who unlocked the reward. Placeholders are supported.
Command
, Global Message
, and Personal Message
):{PlayerId}
- Player's SteamID.{PlayerName}
- Player's display name.{PositionX}
- Player's X coordinate (2 decimals).{PositionY}
- Player's Y coordinate (2 decimals).{PositionZ}
- Player's Z coordinate (2 decimals).{Grid}
- Grid location (e.g., D14).{PlaytimeSeconds}
- Total playtime in seconds.{PlaytimeMinutes}
- Total playtime in whole minutes.{PlaytimeHours}
- Total playtime in whole hours.{PlaytimeFormatted}
- Time formatted as00h:00m:00s
.{AfkSeconds}
- Total AFK time in seconds.