Skip to content

Experience and Ranks System

Enzias edited this page Feb 20, 2021 · 2 revisions

Experience and Ranks System

Here is a complete tutorial to understand how the experience and ranks system works. You will also need to check the Ranks Setup and the Default configuration

How the system works

The entire system rests on the amount of experience a player has. With his experience points, the plugin will calculate what is his level and his rank. This is why the only value in storage files is the experience(this will not stay the same forever I guess). The plugin will first calculate the level of the player depending on the formula you put in the rank.yml file. Then depending on his level, the plugin will attribute a rank to the player. You can see a lot of information about the player by using the command /easyduels profile <player>. This command requires the easyduels.othersprofile permission. You can also check your own profile with the command /easyduels profile. This command requires the easyduels.myprofile permission. Check below for more information. Here is a profile example:


Manage players experience

You can modify the experience of a player with a lot of commands. Note that you can also modify the experience in the storage folder but this is not recommended, especially if the player is connected to the server. Therefore, if you modify the player experience with commands, the player needs to be connected.

Here are some screenshots of what happened in different situations with the default config (you can modify it in the rank.yml file). The player starts with 0 experience points.

When the experience of a player is modified. Happened after /easyduels admin give \<player> 350.

When a player levels up. Happened after /easyduels admin give \<player> 400.

When a player reaches a rank (first one here). Happened after /easyduels admin set \<player> 8450.

When a player reaches a rank (second one here). Happened after /easyduels admin set \<player> 50000.

There are two types of commands for modifying experience.

  • Target: Those commands require a target to work and you will need the permission easyduels.admin.rank to use them. You can see a list of those commands below. The amount must be an integer upper 0.
Command Description
/ed admin give <player> <amount> Give an amount of experience points to the specified player.
/ed admin take <player> <amount> Take an amount of experience points to the specified player.
/ed admin set <player> <amount> Set the amount of experience points for a specified player.
/ed admin reset <player> Reset the amount of experience points for a specified player.
  • All: Those commands don't require a target to work but they automatically target every connected player. You will need the permission easyduels.admin.rankall to use them. You can see a list of those commands below. The amount must be an integer upper 0. Use these commands knowing how to use them and reminding yourself that any commands action cannot be undone.
Command Description
/ed admin giveall <amount> Give a number of experience points to all connected players.
/ed admin takeall <amount> Take a number of experience points to all connected players.
/ed admin setall <amount> Set the number of experience points for all connected players.
/ed admin resetall Reset the number of experience points for all connected players.

Level and settings

The level is calculated with a unique mathematical formula. You can modify it in the rank.yml whenever you want, even after you've used an old formula for a while. But if you change it while using it, note that you will need to reload or restart your server and players may have a new level and a new rank without receiving rewards (they will receive permissions after a reload). Here is some advice to use it perfectly.

Here are some formulas you can use. Note that if you want to use the mathematical power symbol, do not use the symbol "^" but write: Math.pow(number, exponent). For example, if you want to put 1.025^%level% (as in the default config), you need to write Math.pow(1.025, %level%). They are used in many plugins or games in general or something equivalent : (Note: Here I use 30000 as a multiplier. You can easily modify this value without any knowledge of mathematics. This value increases or decreases the amount of required experience for a level without modifying the general structure for the whole process.)

  • Linear: exp(%level%) = 30000 * %level%
Click here to see what it looks like
Level Required Experience
Level 0 0 XP
Level 1 750 XP
Level 2 1519 XP
Level 3 2307 XP
Level 4 3114 XP
Level 5 3942 XP
Level 6 4791 XP
Level 7 5661 XP
Level 8 6552 XP
Level 9 7466 XP
Level 10 8403 XP
Level 11 9363 XP
Level 12 10347 XP
Level 13 11355 XP
Level 14 12389 XP
Level 15 13449 XP
Level 16 14535 XP
Level 17 15649 XP
Level 18 16790 XP
Level 19 17960 XP
Level 20 19158 XP
Level 21 20387 XP
Level 22 21647 XP
Level 23 22938 XP
Level 24 24262 XP
Level 25 25618 XP
Level 26 27009 XP
Level 27 28434 XP
Level 28 29895 XP
Level 29 31392 XP
Level 30 32927 XP
Level 31 34500 XP
Level 32 36113 XP
Level 33 37766 XP
Level 34 39460 XP
Level 35 41196 XP
Level 36 42976 XP
Level 37 44800 XP
Level 38 46670 XP
Level 39 48587 XP
Level 40 50552 XP
Level 41 52566 XP
Level 42 54630 XP
Level 43 56746 XP
Level 44 58914 XP
Level 45 61137 XP
Level 46 63416 XP
Level 47 65751 XP
Level 48 68145 XP
Level 49 70598 XP
Level 50 73113 XP
Level 51 75691 XP
Level 52 78333 XP
Level 53 81042 XP
Level 54 83818 XP
Level 55 86663 XP
Level 56 89580 XP
Level 57 92569 XP
Level 58 95633 XP
Level 59 98774 XP
Level 60 101994 XP
Level 61 105294 XP
Level 62 108676 XP
Level 63 112143 XP
Level 64 115696 XP
Level 65 119339 XP
Level 66 123072 XP
Level 67 126899 XP
Level 68 130821 XP
Level 69 134842 XP
Level 70 138963 XP
Level 71 143187 XP
Level 72 147517 XP
Level 73 151955 XP
Level 74 156504 XP
Level 75 161166 XP
Level 76 165945 XP
Level 77 170844 XP
Level 78 175865 XP
Level 79 181012 XP
Level 80 186287 XP
Level 81 191694 XP
Level 82 197237 XP
Level 83 202917 XP
Level 84 208740 XP
Level 85 214709 XP
Level 86 220827 XP
Level 87 227097 XP
Level 88 233525 XP
Level 89 240113 XP
Level 90 246866 XP
Level 91 253787 XP
Level 92 260882 XP
Level 93 268154 XP
Level 94 275608 XP
Level 95 283248 XP
Level 96 291079 XP
Level 97 299106 XP
Level 98 307334 XP
Level 99 315767 XP
Level 100 324411 XP
  • Polynomial: exp(%level%) = 30000 * %level% ^ 1.025

  • Exponential: exp(%level%) = 30000 * Math.pow(1.025, %level%) - 30000 Used in the default config


Rank and settings