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
2086 sites
175 fans

We created another gamification plugin! Check it out here: Stash.

Please 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 sets Experience Points (XP), MoodleCloud.


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 Dan Studebaker
    Tue, 7 Feb 2017, 11:14 PM
    Has anyone found a way to stop the students ability to log in and out to and gain XP on events that they have already visited in the same 24 hour time period. This is a great mod, but I have student that have cracked the code so to speak on getting points on the same activity over and over regardless of the time cheat blocking that I set. Also a complete list of event names in long form would be a great addition of information for people wishing to narrow the focus on awarding points, say on competition of lessons and not just for answering a question in a lesson.
  • Picture of Hermógenes Figueroa
    Wed, 15 Feb 2017, 10:38 PM
    Hello, I'm using the plugin "Level up". I want to give points to my students only when they score more than 80% in a quiz, Is it possible?
  • Picture of Frédéric Massart
    Mon, 20 Feb 2017, 10:32 AM

    Not at this stage, but some other people are interested in this feature. Please comment with your thoughts and support on

  • Picture of Frédéric Massart
    Mon, 20 Feb 2017, 10:33 AM
    Dan, there is an issue to make the cheat guard more resilient to students' trickeries: Feel free to comment with your thoughts and support.
  • Picture of Erin Billy
    Fri, 7 Apr 2017, 9:33 AM
    Hi there! I've been trying to install this plugin to test it, but I keep getting a generic 500 Internal Server Error when I try to use it. I'm not sure where to start debugging. I searched with Google, but couldn't find any results.

    Here's what happens: I installed Level up! I see the block on my course page (Level up! + a blue star + some text). I click 'View the ladder' or 'Settings' and then I get the Internal Server Error message.

    Any thoughts on how to start figuring out what's wrong?

    Moodle version: Moodle 3.0.3+ (Build: 20160426)
    Level up! version: 2.2.0
  • Picture of Frédéric Massart
    Fri, 7 Apr 2017, 11:09 AM
    Hi Erin,

    I will try to look into this bug. Though, could you try to get your administrator to give us information about the error, they should find that in their logs.

  • Picture of Erin Billy
    Thu, 13 Apr 2017, 4:43 AM
    Hi, Fred. In response to the above:

    > Hi there! I've been trying to install this plugin to test it, but I keep getting a generic 500 Internal Server Error when I try to use it. I'm not sure where to start debugging. I searched with Google, but couldn't find any results.

    Yeah, I should've checked my logs. All my permissions were wrong. They were set to 0777. I tried setting a few files to 0644, but I was still getting errors. Then I remembered that I'd used the Moodle installer (from the admin back-end) and that I'd had permissions problems with it before. So I just used FTP to upload to reset all the permissions.

    And that worked!

    Thanks again. This looks like an awesome mod.
  • Picture of Mah Ch.
    Thu, 4 May 2017, 3:48 PM
    im a student and tyring to Gamify our Moodle-webseite and using this superb plugin.. its a very nice Plugins but im having problems because of funcation "Report for teachers to get an overview of their students' levels". Because of our Uni-Rules teachers should not be able to see this Report.... Is that possible to disable this function??? and how??
    it Would be great if you could help me

    thnx in advance
  • Picture of Frédéric Massart
    Fri, 5 May 2017, 10:27 AM

    That is not possible at the moment, however I invite you to create a feature request at

  • Picture of Olivier Valentin
    Thu, 11 May 2017, 7:33 PM
    je ne sais pas si la question a déjà été posée, je me permets donc de (re)demander : y a-t-il un moyen d'exporter le classement de Level Up dans un fichier Excel, CSV ou autre ?
    Ce plugin est toujours aussi intéressant à exploiter, un grand bravo pour votre travail ! smile
  • Picture of Frédéric Massart
    Thu, 11 May 2017, 11:02 PM
    Bonjour Valentin,

    Non, à ce jour il n'y a pas moyen d'exporter le classement, mais cela pourrait se faire. Pourriez-vous créer un ticket sur github?

    To this day, exporting the leaderboard is not possible, but that could be done. Would you mind raising an issue on github?

    Merci ! smile

  • Picture of John Velis
    Fri, 26 May 2017, 1:00 AM

    Our Admin just enabled your plugin and I am trying to use in for one of my fall classes.

    Is there a way to have the points of a graded assignment be translated into experience points?

  • Picture of Frédéric Massart
    Fri, 26 May 2017, 9:36 AM
    Hi John,

    Not at this stage I'm afraid.

  • Picture of John Velis
    Mon, 29 May 2017, 1:07 AM

    Thank you for your prompt response.

    Have a great day.
  • Picture of Janos Nemes
    Wed, 7 Jun 2017, 11:28 PM
    Hi Fred,

    is it possible to download the complete LOG report somehow?

1 2 3 4 5 6 7 8 9 10 11 12 13
Please login to post comments