Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Cheaters and fake raters

A topic by Voidsay created Aug 09, 2020 Views: 2,288 Replies: 98
Viewing posts 21 to 27 of 27 · Previous page · First page
Deleted post
Submitted

Well I am not a mod, so I can't really take any action. We will have to wait for thedutchmagikarp to release some sort of policy on how to deal with them. I usually write them to curb their enthusiasm, but as I said I would encourage you to wait for some official policy coming from the host.

Deleted post
Submitted

So I have made the first step for my cheater detector. A simple text comparator!

Here is the sourcecode:
https://gist.github.com/Voidsay/d84a64fc94e79a31c1a005da1245c2cc

It will be able to detect copy past comments and slightly misspelled as well as slightly varied comments.

Next I will figure out how to go thru all participant comments and compare them to each other to calculate a final similarity score for each participant.
Hopefully I will then be able to see a clear difference between normal commenters and dirty dirty cheaters.

Submitted

I just posted a new topic where I ask if people can help me reach 20 ratings (I needed 3 more). 

Someone answered it and wrote in the comments that it is a "cool time killer". My game is a puzzle stealth game. I have no idea how it could be a "time killer" and chances are that he didn't even play the game, and didn't even read what the game is about. I was really afraid to make that post and I actually asked there for more detailed comments in order to avoid that it would become like that but people just don't read the thread. 

It is just so disheartening.

Submitted

Looked at the dude in question. Exactly what I need to test the algorithm. This is the type of comments I want to boink with my rubber hammer of justice.

I expect that it will take a couple more days until my API is fully operational, since I have never done one before. Plus I might need to get extra permission from itch.io and approval from the jam host.

Submitted (1 edit)

Note though that some genuine rate for raters might post the same reply in multiple rate for rate threads and give actual feedback in the jam comments. I haven't really done many r4r this jam so I don't know how it is but it might be a problem.

Submitted

I am not writing a full auto ban hammer. Just a tool for the mods to use to look in the right places. As far as I understand there is only thedutchmagikarp doing all moderation and support on this jam. And he dosen't even have proper moderation tools! Thats what I want to change (and also increase my qualifications, programming is pretty cool after all)

Submitted

Oh, that makes sense. Really cool project! Thanks a lot  for doing it. I will be happy to help if you need to find more examples to test it on or anything of this sort.

Submitted

So I have been working on what I am from now on calling the "comment uniqueness index rater" (will be referred as CUIR in this post) all day.

Turns out interacting with a website is actually pretty easy! Almost as if people have been doing this for decades and created special tools, libraries and packages... *big hmmm*

I  am now able to scrape the jam page for all the usernames, the game names and the urls. Following the links to the game page and collecting all comments and running them thru my CUI calculator should be a breeze now and will be done by tomorrow.

The whole functionality will be as follows:

  1. After entering the Jam url the program automatically retrieves the game name their author and the link
  2. This data is then saved in a database with an additional slot for the list of comments. In this database the author is the primary key attribute
  3. We then go thru each link and retrieve the comments/ratings. Then each comment is saved into the comment list of the respective author.
  4. If the webpage hasn't kicked us by this point for creating too much traffic, we can go offline and analyze the data we loaded.
  5. Depending on how fast the results should come in and how cheat resistant the CUIR is supposed to be, we can enable or disable the comment spellcheck. (I would personally give it a pass without and a second pass with spellcheck)
  6. For each authors comments we calculate the Jaccard Index and calculate the arithmetic mean to get the average comment similarity. This value will be then known as the CUI, with 0 for completely unique comments and 1 for only one copy pasted comment.
  7. The results are then saved into the database, where we can filter out the cheaters

Features:

  • Detect copy paste comments
  • Swapping sentences or parts of sentences around won't change the result
  • spellcheck will disable the possibility to evade detection thru misspelling

Flaws:

  • The spellcheck will shit itself with foreign languages. In theory there shouldn't be too many non english users, since only few would actually understand them. The foreign script by itself won't cause any issue though, since the must be UTF8 encoded to be properly displayed on the website anyway.
  • Few comments may result in a high CUI. This means there must be at least more than one comment per person analyzed. These mutes can be filtered out and put into a separate list for different use.
  • I don't know how it will handle images and emoticons as well as special formatting. This might crash the system and therefore this will require some testing.
  • One can evade detection, by swapping words for their synonyms, since the Jaccard index only cares for the syntactic value of a word not the actual meaning. This isn't an issue actually, since we only want to find blatant copy-pasters. Finding synonyms for a single protocomment would actually require more work than writing a completely new one (an this is what we want).

When everything is done and in a presentable (and hopefully working) condition I will release the sourcecode on my github for you to scrutineer. If we're lucky the program will do what it's supposed to do by the weekend.

Submitted

I have been working steadily on the project. Currently I am battling the mysql database I myself created. The whole deal with the utf8 character set really messes with everything and displaying these characters in ascii just looks awful and is unreadable.

I am setting up the database and will probably export it into an excel file as well, so that everyone can check it out. It just takes a little time.

Submitted

So I have finished my program. Unfortunately the algorithm didn't give me the spike in the cheater ratings that I had hoped for. Some other more advanced process needs to be found to catch 'em all. More hit or miss. The only thing that might be interesting is to lookup the people with more than 100 posts under games. I don't trust 'em, but the algorithm says they're cool.

In any case I have learned a lot and will refine my skills further.

If you are interested in your "performance" you can lookup your own score here: 
https://itch.io/jam/brackeys-4/topic/931373/i-rated-you-comments-see-the-results...

Submitted

Saw this topic and instantly connected with it! When I go and check out a game, I read the comments first and most of them just say that a game is great! But when you do play it, it doesn't feel like so. I believe it does hurt the creator in a way that they can't grow better as a developer.

Submitted

I tried to write a little something something to detect such behavior. Sad to say my cheater detection attempt didn't work out quite as well as I hoped.

The ratings need the comments of professionals. Those are the most valuable, since they know what they are talking about. Sadly they are also the busiest and can't rate all day every day.

Submitted (1 edit)

Suggestion:Use the itch.io server-side API to check out the state of every user on every game by using a GET Request,then process that information and store it in the mysql database  and determine if it the state is not_viewed maybe set to true  in the database then you can make an event maybe when somebody is commenting when not_view is set to true maybe do a POST Request to post a send a message the program caught maybe saying something along the lines of:'You cannot rate before viewing the game'

Submitted

What are you doing in this dead thread?

There is no problem with the scraping itself. My c# script works perfectly fine and the database fits all the data well. The problem is the analysis itself. I hoped that the Jaccard index would be enough and create a bump in the bell curve somewhere in the lower score indicating an anomaly aka the cheaters. Unfortunately that didn't happen at all. In fact some confirmed "cheaters" scored close to the middle.

I kind of expected the algorithm to fail, since it is the barest of bones. All I got from it was a little scraping and database experience as well as a sort of inaccurate comment uniqueness rating. There is another thread about this tough.

Submitted

Wait a minute. I remember you!

Aren't you the guy that uploaded that c# source code that didn't work? What are you up to nowadays?

Submitted

Here's another solution:Use the itch.io server-side API to check out the state of every user on every game by using a GET Request,then process that information and store it in the mysql database  and determine if it the state is not_viewed maybe set to true  in the database then you can make an event maybe when somebody is commenting when not_view is set to true maybe do a POST Request to post a send a message the program caught maybe saying something along the lines of:'You cannot rate before viewing the game'

Submitted

I had a look at the API, but there are a couple of problems.

As far as I am concerned the API is mostly intended to do fancy things with your own games. Quickly changing prices making an auto reply bot things like that. It is complete overkill for simple get requests.
It also requires the users to accept one thingy (I completely forgot what it's called). Long story short, I can't force this and it doesn't give me anything that I could use for my purpose.
I am unsure how I would even go about implementing your post suggestion. Write a silly comment? I don't have access to the server, I can't make a popup and lock the ratings.
Also I am new to APIs and the documentation is way too hard to read/implement. Maybe I'm just dumb again and its super useful, but my workaround is fine.

I don't know about requesting the state of every user and game constantly. Firstly it took me about half an hour to collect all data by itself, too long it would let peps slip thru (I might optimize it to make it faster, but it mostly depends on the internet connection that I can't change). Secondly I think that itch.io would kick me for attempting to dos their server

Also the automatic ranking system already nerfs suspicious ratings. They look at all the star ratings you gave and shrink their wight if they don't follow the bell curve. This means that "randomly" clicking (humans can't click randomly) on stars or review bombing in disregard of the game you will probably result in an uneven distribution, which in turn results in your ratings having zero weight in the final score. Cheating that might be more difficult than actually playing the games.

Besides this isn't really what my cheater detection was about. It's more about low effort comments copy pasted to dozens of games. That's what I wanted to detect. People that just want to get you to play their game and don't want to put in the necessary legwork.

Submitted

Good.Planning to upload a huge game

Submitted(+1)

Nice to hear! Guess I will have to follow you then.

Submitted

Ok!You can maybe get in touch with the itch.io developers

Submitted

I have a YouTube channel,if you're planning to program in other programming languages at:https://youtube.com/channel/UCqj9jELS5ayGGl8WES0x70w

Viewing posts 21 to 27 of 27 · Previous page · First page