- 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. You can also reward players who come back after being offline for a while, giving them a reason to return regularly.
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.3.0",
"Sleep Bonus": {
"Enabled": true,
"Hours Player Must Be Offline": 6,
"Minutes Player Must Play Before Logging Out": 60,
"Currencies": [
{
"Enabled": true,
"Name": "scrap",
"Amount": 150,
"Shop Name (Shoppy Stock only)": null
}
],
"Run Random Command": false,
"Commands": [],
"Experience XP": 0.0,
"Global Message": "{PlayerName} returned after a good break and earned a Sleep Bonus!",
"Personal Message": "Welcome back! Because you played {LastSessionMinutes} min and rested {HoursPlayerMustBeOffline} h, you have been awarded 150 Scrap."
},
"Playtime Rewards": [
{
"Enabled": true,
"Minimum Minutes Played": 30.0,
"Count AFK Time As Playtime": false,
"Currencies": [
{
"Enabled": true,
"Name": "economy",
"Amount": 25,
"Shop Name (Shoppy Stock only)": null
}
],
"Run Random Command": false,
"Commands": [
{
"Type": "Chat",
"Command": "/kit starter"
}
],
"Experience XP": 150.0,
"Global Message": "{PlayerName} just played for {MinimumMinutesPlayed} minutes and picked up their first reward!",
"Personal Message": "You've reached {PlaytimeFormatted}. 25 Economy and 150 XP have been rewarded. Use /kit starter to claim your gear."
},
{
"Enabled": true,
"Minimum Minutes Played": 120.0,
"Count AFK Time As Playtime": false,
"Currencies": [
{
"Enabled": true,
"Name": "point",
"Amount": 100,
"Shop Name (Shoppy Stock only)": null
},
{
"Enabled": true,
"Name": "scrap",
"Amount": 300,
"Shop Name (Shoppy Stock only)": null
}
],
"Run Random Command": true,
"Commands": [
{
"Type": "Server",
"Command": "spawnmini {PlayerId}"
},
{
"Type": "Client",
"Command": "note.inv"
}
],
"Experience XP": 400.0,
"Global Message": "{PlayerName} just hit {PlaytimeHours} hours of active play and unlocked a new milestone!",
"Personal Message": "You've earned {ExperienceXp} XP and some extra goodies for {PlaytimeFormatted} of time in-game."
}
]
}
Sleep Bonus
- Controls the bonus players get for returning after a break.Enabled
- Whether the sleep bonus system is active.Hours Player Must Be Offline
- How many hours the player must be logged off before the bonus is triggered.Minutes Player Must Play Before Logging Out
- How long the player must have actively played before their last logout to qualify.
Playtime Rewards
- A list of milestone entries based on playtime.Enabled
- Whether this specific reward is active.Minimum Minutes Played
- The number of active minutes required to trigger the reward.Count AFK Time As Playtime
- Whether AFK time should count toward the milestone.
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 rewards to give, including plugin currencies and in-game items.Enabled
- Whether this currency/item is active.Name
- Can beeconomy
,point
,stock
, or any item shortname (likescrap
,wood
, etc.).Amount
- Amount to give.Shop Name
- Used only with stock currency. If blank, defaults to the economics shop.
Run Random Command
- If true, one random command is executed from the list. If false, all commands run.Commands
- Commands to execute when the reward is given.Type
- The type of command:Chat
,Server
, orClient
.Command
- The raw command string. Placeholders are supported.
Experience XP
- How much XP to give (requires the X Perience plugin).Global Message
- Message broadcast to all players when the reward is triggered.Personal Message
- Message sent privately to the rewarded player.
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.{HoursPlayerMustBeOffline}
- Number of hours the player was offline before returning (used in Sleep Bonus messages).{LastSessionMinutes}
- Number of active (non-AFK) minutes the player played before logging out last session.