Skip to content
NordBots.

PlaytimeRewards

Pay players shop points for the time they spend online.

Time on your server should be worth something. PlaytimeRewards counts each player's minutes and turns them into ArkShop points on a schedule you pick. You set the pace, it keeps the books.

PlaytimeRewards is for server owners who want to reward the players who actually stick around. It counts every minute each player spends online, then pays them shop points on a timer you set. VIP groups earn a boost, hour milestones drop a one time bonus with a server shout, and an anti AFK check stops idle farming. Totals are saved to SQLite or MySQL, so a crash or restart never wipes anyone's progress.

What your players get

  • Time based payouts: I pay each player points every set number of minutes they stay online.
  • VIP group boost: a Permissions group earns a payout multiplier, and a cap stops a stack of groups from printing money.
  • Hour milestones: a player who passes an hour goal gets a one time bonus and a server shout.
  • Anti AFK check: turn on OnlyRewardIfMoving and a player who stands still earns no time toward a reward.
  • Playtime leaderboard: /playtimetop shows the players with the most time on the server.
  • Player check: /playtime shows time played, points earned, and time to the next reward.
  • Crash safe progress: running counters are saved to the database on a timer, so a crash loses only a minute at most.
  • SQLite or MySQL: SQLite needs zero setup, or point it at MySQL to share totals across servers.
  • Discord milestone posts: send an optional embed to Discord on each hour goal.
  • Quiet or loud: AnnounceReward turns the chat payout message on or off.

All the commands

Two commands are for players, two are for you. The player command names live in config.json, so rename them or turn one off whenever you like.

For players:

Command What It Does
/playtime Show your time played, points earned, and time to the next reward.
/playtimetop Show the players with the most time on the server.

For you, from the console or RCON:

Command What It Does Where
PlaytimeRewards.Reload Reload config.json with no restart. Both
PlaytimeRewards.TestDiscord Push a test message to your Discord webhook. Console

The VIP boost

There is no permission node to set up here, and no command is gated. The Permissions plugin does one job for PlaytimeRewards: it tells the plugin which groups a player belongs to, so the GroupMultiplier boost can pay your VIPs more. Map a group name to a multiplier, cap the total with MaxMultiplier, done. If Permissions.dll is missing or turned off, everyone just earns the base rate and the plugin carries on.

Before you start

  • AsaApi v2.01 or newer
  • Windows server
  • ArkShop for the points payout (optional, works without it, time is still tracked)
  • Permissions for the VIP group boost (optional, works without it, everyone earns the base rate)
  • SQLite (built in, zero setup) or MySQL for shared totals

From download to running

Every setting has its own page in our docs, and our configuration editor lets you build the file with clicks instead of a text editor.

  1. Unzip the pack so you end up with a PlaytimeRewards folder.
  2. Drop that folder into ArkApi/Plugins/. AsaApi loads a plugin only when the folder name and the DLL name are the same, so leave the name alone.
  3. Open config.json and set your interval, points, VIP group, and hour goals.
  4. Want MySQL or Discord? Fill in those config blocks. SQLite runs with no setup at all.
  5. Restart the server and check ArkApi.log for the loaded line.

There is no hot reload package for a first install. A fresh copy and a restart is the path in.

Your questions

Does time still count if ArkShop is not installed? Yes. PlaytimeRewards keeps counting every player's minutes and totals either way. Points only move when ArkShop is there to hold them, so the moment you add ArkShop the payouts start. Nobody loses their tracked time.

Can players farm points by standing still? Not if you turn on OnlyRewardIfMoving. With it on, PlaytimeRewards checks each player's position every second, and a player who does not move earns no time toward the next payout. IdleMoveThreshold sets how far they must move to count as active.

What happens to progress when the server crashes? Very little is lost. The running counter is written to the database every SaveCounterSeconds, plus when a player leaves and when the plugin unloads. After a crash a player picks up close to where they were, a minute short at most.

Do I need MySQL? No. SQLite is built in, needs zero setup, and is the right pick for a single server. Reach for MySQL when you run a cluster and want one shared playtime total across every map.

Can a milestone bonus pay twice? No. The database remembers the last milestone each player hit, so an hour goal pays its bonus once. A restart or a reinstall on the same database will not repeat old bonuses. The GroupMultiplier and MaxMultiplier settings shape the regular payouts, milestones pay their flat bonus on top.

Stuck? Come find me

Setup fights back sometimes. Bring your question to the Discord and I will get you sorted: https://discord.gg/8GGaEzWk9p


PlaytimeRewards v0.0.2

All versions

  • v0.0.3Jul 22, 2026
    • PlaytimeRewards-v0.0.3.zip
  • v0.0.2Jul 21, 2026
    • PlaytimeRewards-v0.0.2.zip