Skip to content

XP/Leveling System

This comprehensive guide covers all functionality available to use Utilara’s XP/Leveling feature effectively.

CommandDescriptionExample
/rankDisplays a Rank Card for the user/rank (user)
/leaderboardDisplays the server leaderboard/leaderboard
CommandDescriptionExample
/xp addxp [user] [seconds]Add XP to a user/xp addxp @ExampleUser 60
/xp removexp [user] [seconds]Remove XP from a user/xp removexp @ExampleUser 30
/xp resetxp (user)Reset a user’s XP/xp resetxp @ExampleUser
/xp rewardsManage Role/Custom rewards on certain level acquisition/xp rewards
/xp settingsManage All XP/Leveling settings for the server/xp settings
/xp setxp [user] [seconds]Set a user’s XP to a specific amount/xp setxp @ExampleUser 300
XP Duration Chart

We are one of the first leveling systems to implement such adaptive logic. Most leveling systems give a flat XP rate per message or activity. This leads to spammy behavior and does not reward active users enough. Our system on the other hand checks your average activity in a server and rewards you based on how much activity you show compared to your past activity. It will reward you for being more active with a extra XP bonus. However, if you exceed a threshold of activity (Spamming), your bonus XP gain is constrained to Bonus ∈ [0, 1] based on how much you’re spamming. This way we don’t over reward/encourage spammy behavior. This metric of a users per server average activity is updated consistently to ensure you don’t lose out on bonus!

The XP/Leveling system is one of our more computationally intesive features. To ensure optimal output we implemented a best of both worlds approach. Our approach is quite different to existing leveling system bots. We calculate XP gain based on a metric “effort” which is derived from the “average user activity per guild”. We calculate and store only 2 Integer values per user per guild. When the user is seen showing any activity we run it by a function with the 2 stored integers as curve parameters to calculate a effort multiplier, a type of Bonus XP gain based on how active the user is compared to the average acitvity the user has shown in the past. This allows us to reward active users more XP while keeping the system fair for less active users. A type of Dynamic XP gain system. XP gain is never 0 or negative. Based on Bonus that is calculated, your XP is dynamically altered and granted. Once the bot grants you XP it never will deduct XP by itself. XP can only be removed by Admins/Mods using commands.