The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Arcade Anti-Cheater Mod Details »» | |||||||||||||||||||||||||
Board: 3.x
Purpose: If your board is a scripting/coding board you probably have cheaters using your arcade. They are people that use memoryhacks/colorbots, and believe me, people do cheat. This hack is to clean up scores. Before, if you wanted to remove a score, you had to create your own mysql query and even though the score was removed the highscore still showed up as belonging to them. This process has been fixed by this hack. Functionaliy: - Remove all scores from a user - Remove a users highscores - Fix the titleholders/highscores Screenshot: http://www.elitecoders.org/ftp/ronin...rcadeadmin.jpg Code: Attatched No Edits Required PHP script: Attatched Instructions: Perform the following edits, OR upload the attatched PHP file in place of your own arcadeadmin.php. #-------------------------------------------------------------------------------# Find In arcadeadmin.php #-------------------------------------------------------------------------------# Code:
print_form_header('arcadeadmin', 'pruneinvalid'); print_table_header("Remove All Invalid Scores"); print_description_row("This action will remove all invalid score records from the database. Invalid records are created during automated score pruning, or if a session is terminated prematurely."); print_submit_row("Remove All Invalid Scores", 0); Add Below #-------------------------------------------------------------------------------# Code:
// ARCADE HACK BY RONIN print_form_header('arcadeadmin', 'prunebyuser'); print_table_header("Remove User Scores"); print_description_row("This action will remove a users scores from the database."); print_input_row("Enter the userid here", 'userid'); print_yes_no_row("Remove highscores only? (as opposed to all scores)", 'high', 0); print_submit_row("Remove User Scores", 0); print_form_header('arcadeadmin', 'fixhighscores'); print_table_header("Fix High Scores"); print_description_row("This action will update the highscore listings and awards with the actual highscore information for each game"); print_submit_row("Update Highscores", 0); // ARCADE HACK BY RONIN Find in arcadeadmin.php #-------------------------------------------------------------------------------# Code:
// ###################### INVALID RECORD PRUNING ####################### if ($_POST['do'] == "prunenoscore") { if ($_POST['confirmation']=="YES") { $DB_site->query("DELETE FROM " . TABLE_PREFIX . "gamesessions WHERE sessiontype=1"); } define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } Add Below #-------------------------------------------------------------------------------# Code:
// ###################### PRUNE BY USER ####################### if ($_POST['do'] == "prunebyuser") { $userid=$_POST['userid']; $high=$_POST['high']; if ($high) { $query = " SELECT gamename, MAX(score) AS score FROM gamesessions WHERE valid=1 GROUP BY gamename "; $myquery = $DB_site->query($query); while($row = $DB_site->fetch_array($myquery)) { $delete = "DELETE FROM gamesessions WHERE gamename = '".$row['gamename']."' && userid ='".$userid."' && score = ".$row['score']; $DB_site->query($delete); } define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } else { $DB_site->query("DELETE FROM " . TABLE_PREFIX . "gamesessions WHERE userid=".$userid); define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } } // ###################### FIX HIGHSCORES ####################### if ($_POST['do'] == "fixhighscores") { $query = " SELECT gamename, MAX(score) AS score FROM gamesessions WHERE valid=1 GROUP BY gamename "; $myquery = $DB_site->query($query); while($row = $DB_site->fetch_array($myquery)) { $user = "SELECT userid FROM gamesessions WHERE valid=1 AND score='".$row['score']."' AND gamename='".$row['gamename']."'"; $userquery = $DB_site->query($user); while($useid = $DB_site->fetch_array($userquery)) { $update = "UPDATE games SET `highscore`='".$row['score']."', `highscorerid`='".$useid['userid']."' WHERE shortname='".$row['gamename']."'"; $DB_site->query($update); } } define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } Show Your Support
|
Comments |
#22
|
||||
|
||||
Quote:
|
#23
|
||||
|
||||
did the manual edit .... worked with no problem and no errors.
great and thanks! |
#24
|
|||
|
|||
Yeah hacking arcades is actually pretty easy, tested with Yeti Sports 1.5 with Firefox and the offsets are stored in 16 bit memory in double format.
However I have no idea how this hack would prevent cheating, it could remove high scores, but it could not for sure detect if a score has been hacked or not since the offsets are stored in the client's virtual memory then sent to the server |
#25
|
|||
|
|||
the reason i needed this mod is that if I didnt have it, over 90% of the people in my forum would be cheating because we are, by definition, a cheat site :P
it cant prevent people from cheating, i could run a perl script to see whats running on their computers while they play... but tbh that would waste tons of bandwidth and i doubt your users would allow me to check that. |
#26
|
|||
|
|||
This hack doesn't remove the users score from the News & Events list.Is it possible to include some code to add this feature as well.
|
#27
|
|||
|
|||
Greetings everyone. To dispose of any concern that I am asking on how to cheat for negative purposes, I would like to preface my question with the following:
I am a member / administrator on MajorGeeks.com under the username of Kodo. If anyone wishes to confirm my account and the fact that this is indeed legitimate, please send me an email at Kodo (at) MajorGeeks.com and I will reply or merely ask the Owners of the site who I am. Or ask me to post something on MajorGeeks and it will be done. Now, onto my question. We have a member that I suspect is cheating. The game in question is KF9000 kite flying. If anyone knows if this game is flawed, please let me know. I suspect a dozen or so other games have been "bypassed" in some manner, either by the game being bad or this person somehow "posting" altered data. I'm leaning to the latter. I would like to gather as much specific information I can on how the arcade is by passed (and by god don't post the specifics in this thread!) via e-mail correspondence or PM. I tried today with limited success but I am by no means a "hacker/cracker" and do not aspire to be labeled as such. I am merely trying to determine how this is done step by step as proof of concept and assist in better determining who is cheating. Some people are good cheaters. They'll hack the highscore and play several games regularly to populate lower scores. I really need to nail down some more info though. I thank anyone who can help me. Regards -Jim Losi Kodo on MajorGeeks |
#28
|
|||
|
|||
Nice work, been having problems with my forum's arcade, thanks!
|
#29
|
|||
|
|||
Installed - thank you
|
#30
|
||||
|
||||
[high]* Polo clicks install
[/high] Thanks |
#31
|
|||
|
|||
How exactly would they be able to cheat in the arcade?
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|