Comments (6)
Hi,
The cheat guard is not looking at the rules, but at the events. It only prevents similar events to be repeated, it will not discard events based on the rule they match. Though maybe we could improve this in the future.
from moodle-block_xp.
Ok, but then for each \core\event\course_viewed event the plugin should not assign experience points, based on timeframe or time required settings, however it does.
So this results in XP gaining by just refreshing the course page multiple times per minute.
from moodle-block_xp.
Hi,
I have to admit that the logs do not contain enough information for users to understand how the cheat guard works. It is not only based on the name of an event, but also where the event happened. If your students have access to 10 different courses, they can visit each and get XP for each course in the timeframe specified.
Let me explain why. Take as an example a list of resources, say 10 pages. Most likely you want to prevent your students from refreshing the page over and over again, however they should still be given XP for each different resource that they accessed, they may just be fast readers.
Hence, the cheat guard only loosely checks if the event was already captured within its own context. Unfortunately the logs do not indicate all the parameters taken in account.
Now, your students might just be smarter than the system. The one way to cheat it is by logging out and back in. The cheat guard was not meant to be super smart, it was made to prevent easy cheating such as refreshing a page over and over. I could definitely improve it but for performance reasons it was better to keep it simple.
Would you mind checking if your students are logging in/out?
Cheers,
Fred
from moodle-block_xp.
Hi,
so far it seems that users gain points without logging out, below is a short log from Level up point gain and a txt file with users activity. System log shows no logout/in during the point aquiring.
Also there are only few courses, so the points are gained by refreshing the same courses over and over again, although the cheat guard time has been set to high values.
Saturday, 21 May 2016, 9:22 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:22 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:21 AM Kalvis Ruckis 1 \mod_resource\event\course_module_viewed
Saturday, 21 May 2016, 9:21 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:21 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:21 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:21 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:20 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:20 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:19 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:19 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:19 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:19 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:19 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:17 AM Kalvis Ruckis 1 \mod_resource\event\course_module_viewed
Saturday, 21 May 2016, 9:17 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:17 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 9:02 AM Kalvis Ruckis 1 \mod_quiz\event\course_module_viewed
Saturday, 21 May 2016, 8:59 AM Kalvis Ruckis 1 \core\event\course_viewed
Saturday, 21 May 2016, 8:59 AM Kalvis Ruckis 1 \core\event\course_viewed
from moodle-block_xp.
Thanks.
Looking at the log file, it is pretty clear that this user is having fun logging in and out a lot. They have found a workaround to counter the cheat guard and are abusing the system. I'm afraid that at this point I do not have a solution, though you can selectively ban this user from earning XP by giving them a role that prohibits xp:earn
.
21 May, 09:21 User User has logged in The user with id '64' has logged in.
21 May, 09:21 User User logged out The user with id '64' has logged out.
21 May, 09:21 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:21 User User has logged in The user with id '64' has logged in.
21 May, 09:21 User User logged out The user with id '64' has logged out.
21 May, 09:21 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:21 User User has logged in The user with id '64' has logged in.
21 May, 09:20 User User logged out The user with id '64' has logged out.
21 May, 09:20 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:20 User Course: Zello izmantoðana System Course viewed The user with id '64' viewed the course with id '17'
21 May, 09:20 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:20 User User has logged in The user with id '64' has logged in.
21 May, 09:20 User User logged out The user with id '64' has logged out.
21 May, 09:19 User Course: Zello izmantoðana System Course viewed The user with id '64' viewed the course with id '17'
21 May, 09:19 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:19 User User has logged in The user with id '64' has logged in.
21 May, 09:19 User User logged out The user with id '64' has logged out.
21 May, 09:19 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:19 User User has logged in The user with id '64' has logged in.
21 May, 09:19 User User logged out The user with id '64' has logged out.
21 May, 09:19 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:19 User User has logged in The user with id '64' has logged in.
21 May, 09:19 User User logged out The user with id '64' has logged out.
21 May, 09:19 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:19 User User has logged in The user with id '64' has logged in.
21 May, 09:18 User User logged out The user with id '64' has logged out.
...
21 May, 09:17 User Course viewed The user with id '64' viewed the course with id '1'
21 May, 09:17 User User has logged in The user with id '64' has logged in.
21 May, 09:17 User User logged out The user with id '64' has logged out.
21 May, 09:17 User Course viewed The user with id '64' viewed the course with id '1'
Cheers,
Fred
PS: Maybe you should edit your comment to remove the name of that person, otherwise it'll come in Google results.
from moodle-block_xp.
Ok, thanks for info!
from moodle-block_xp.
Related Issues (20)
- Clarifying supported Moodle versions HOT 3
- JavaScript files not loading in dev mode HOT 9
- Grade-based award HOT 1
- PHP Notice when updating HOT 2
- Default language strings HOT 2
- PHP 8.1: code upgrade or #[\ReturnTypeWillChange] attribute needed. HOT 1
- Usage report cron throws error "Class not found" HOT 1
- Counting words to pass a level HOT 1
- PHP 8.0 Compatibility Issue - Required parameter follows optional parameter in __construct() HOT 2
- Point rules / level descriptions not working properly on course backup / restore HOT 3
- Deprecated events from mod_lesson are loaded in point rules settings, causing debug messages. HOT 5
- Restricting points for reuploading an assignment (assessable) should be possible HOT 1
- Problem with Level Up XP+ message HOT 2
- Moodle Mobile App - Block is Not Visible HOT 3
- dock diary's event meet bug HOT 1
- Deprecation warnings with PHP 8.2 HOT 1
- Label with completion awards points even when competed previously HOT 7
- Very large database table mdl_block_xp_filters HOT 4
- function user_preference_allow_ajax_update deprecation HOT 2
- Level should not show navbar when XP is not used in course HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moodle-block_xp.