Your Moodle version

Blocks: Level up!

Maintained by Picture of Frédéric Massart Frédéric Massart
Engage your students! Gamify your students' learning experience by allowing them to level up in their courses. #gamification #game
Moodle 2.7, 2.8, 2.9, 3.0

You can easily support this plugin: add it to your favourites and star it on GitHub!

Feature request and bug reports

Please report the issues you find, problems you experience or any feature request on the issue tracker. Thanks!


  • Automatically captures and attributes experience points to students' actions
  • Block that displays current level and progress towards next level
  • Report for teachers to get an overview of their students' levels
  • Notifications to congratulate students as they level up
  • A ladder to display the ranking of the students
  • Ability to set the number of levels and the experience required to get to them
  • Images can be uploaded to customise for the appearance of the levels
  • The amount of experience points earned per event is customizable
  • Page to display the list of levels and a description
  • Experience points are earned per course
  • An event is fired when a student levels up (for developers)

How are experience points calculated?

This block listens to events triggered in Moodle and captures some according to pre-defined rules. It then attributes experience points based on the information contained in the event. For more information about the events, refer to the documentation.

Only the users with the capability block/xp:earnxp can earn experience points. This capability is given by default to students. Also actions triggered by guests, non-logged in users or administrators are ignored.

The following events are always ignored:

  • Events from another context than course or module
  • Events having another educational level than participating
  • Events flagged as anonymous, e.g. in an anonymous Feedback

The rest is up to you. By default the plugin comes with a minimal set of rules to attribute experience points to actions, and to ignore some redundant ones. Visit the Rules page in the plugin itself to view or override them.

Note: Repeated actions within a short time interval are ignored to prevent cheating.

How to use one block for all courses

In order to gather experience points from all the courses a student is participating in, you have to set the admin setting Where are experience points used? to 'For the whole site'. This setting is located under "Site administration > Plugins > Blocks > Level up!". Once set, any block newly or previously added will display the total experience points of your student.


This plugin is part of set Experience Points (XP).


Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7


Picture of Frédéric Massart
Frédéric Massart (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Frédéric Massart
    Wed, Mar 23, 2016, 8:55 AM
    Yes, exactly the same thing I mentioned in the comment above.
  • Picture of Kris Ken
    Thu, Mar 24, 2016, 7:04 AM
    Ladder is not working, if I click view the ladder is a blank page.. but if I click report I can see everyones level. Why is this happening?
  • Picture of Frédéric Massart
    Thu, Mar 24, 2016, 10:42 AM
    Hi Kris,

    this is the exact same issue mentioned above twice. It has been reported at

    Please be patient.

  • Picture of Garrett Button
    Tue, Mar 29, 2016, 11:56 PM
    Hi. First, thanks for making this, it looks like it'll solve a problem for me. I wanted to ask about the Activity or Resource section of creating your own rules. Right now it just has the option for site news and I was wondering if I could target specific quizzes but I just can't figure out how to get them to appear. My site is currently configured to use the block sitewide and no on a specific course, if that helps.
  • Picture of Frédéric Massart
    Wed, Mar 30, 2016, 10:24 AM
    Hi Garrett,

    As you've enabled the block for the whole site, only the activities on the front page will be displayed in that list. At the time this was the intended behaviour as if you have 100 courses the "Activity or Resource" sections becomes unusable. If you feel strongly about this, please raise an issue at

  • Picture of Carla Oliveira
    Thu, Mar 31, 2016, 7:28 AM
    Hello Fréderic, this plugin is really what I need, the only problem is that when I add a block in a course I can't access the links "Information - View the ladder" and "Report - Settings". In my moodle when I click in these links it appears "page not found". Could you help me, please? thanks a lot.
  • Picture of Frédéric Massart
    Thu, Mar 31, 2016, 9:58 AM
    Hi Carla, I submitted an update to the plugin last weekend, can you make sure you are using that version? There used to be a similar bug on the ladder page. If not, I'm not sure what the problem could be.
  • Picture of Carla Oliveira
    Sat, Apr 2, 2016, 11:57 PM
    Thanks Fréderic. Now I downloaded the update. Thanks a lot for your reply.
  • Picture of Kristin Isler
    Sat, Apr 9, 2016, 3:58 AM
    Is there any way to add alt text to the customized images for each level so that the level 1 image has an alt="Level 1"?
  • Picture of Frédéric Massart
    Mon, Apr 11, 2016, 11:42 AM
    Hi Kristin,

    this looks like a bug to me, may I ask you to raise it at

  • Picture of zizo zizo
    Mon, Apr 18, 2016, 1:18 PM
    Error writing data base with moodle3.03
  • Picture of Ricardo Saldanha
    Mon, Apr 25, 2016, 1:06 AM
    Hi! Thanks a lot for this extension! I have a problem, the same as Carla Oliveira. After install v2.1.2. on moodle 3.0.3 when I try to access to "Information - View the ladder" and "Report - Settings" I go to a 500 Internal Server Error. Can you tell me, please, if this is a bug? Thank you very much.
  • Picture of Frédéric Massart
    Tue, Apr 26, 2016, 10:53 AM
    Hi Ricardo,

    This is very hard to debug, could you possibly ask your System Administrator to look at the error reporting (logs) and see what is happening? The error 500 is very generic.

  • Picture of Ricardo Saldanha
    Sat, Apr 30, 2016, 3:47 PM
    Hi Frederic!
    I got this error in my logs.
    Can you debug and see what is happening now? Thank you very much for you patience.

    [Sat Apr 30 08:33:23.992513 2016] [:error] [pid 596068] [client] SoftException in Application.cpp:261: File "/home/easylear/public_html/eclass/blocks/xp/infos.php" is writeable by group, referer:
  • Picture of Ricardo Saldanha
    Sun, May 1, 2016, 3:44 AM
    Frederic, everything is Ok now. the problem was concerned to some kind of permissions in the server.
1 2 3 4 5 6 7 8 9
Please login to post comments