IPB
X   Site Message
(Message will auto close in 2 seconds)
Support | Sign Up
GamersFirst – Free To Play Multiplayer Online Games
Languages |

Welcome to the GamersFirst Forums!

Profile
Personal Photo
Rating
 
Options
Options
Personal Statement
War Rock player since September 2006.
Personal Info
Apjjm
Conscript
18 years old
Male
U.K
Born Oct-19-1991
Interests
No Information
Other Information
Nickname: No Information
Xfire: No Information
Statistics
Joined: 4-October 08
Profile Views: 1,081*
Last Seen: Yesterday, 03:39 PM
Local Time: Sep 2 2010, 10:22 AM
162 posts (0.23 per day)
Contact Information
AIM No Information
Yahoo No Information
ICQ No Information
MSN No Information
Contact Private
* Profile views updated each hour

Apjjm

Members

**


Topics
Posts
Comments
Friends
My Content
19 Dec 2009
I have read many hack & exploit prevention ideas suggested before. They all fall victim to one of the following issues:
  1. WarRock is a F2P game [thus creditcard verification is an issue]
  2. The suggestion is just a single client side check [hence can be hacked itself]
  3. Hackers can create a new account very quickly.
  4. Hackers can spoof/change MAC's/Ip addresses
  5. Too inefficient, slow, or difficult to program
I present in this post, a method of hack prevention that i don't think has been suggested before, and does not rely on a single client, or banning a user. ("tl;dr" Version: Read the first and second-to-last section).

The general idea

Most hacks a hacker uses, by the nature of the game, must be displayed to each person in the room via some form or other. This is why i propose that Each Client in a specific game runs simple checks against every other player in the match, to determine if they are breaking basic rules of the game [Firing rockets too fast or w/e]. If they are, Any peer that detected this then raises a flag upon that players name via the server.

Flags can be raised by a player by anyone in the match every few seconds, and are reset by the server every 30 seconds (Lets keep it a multiple of 10, so it can be reset easily along side the server's "spawn" countdown timer). A person is kicked if 1 more than half the room raises a flag against a player (this is very easy to implement, which you will see in a second).

The technical information: Client Checks

Each client will run a series of validity checks against each other player. If one of these validity checks fail, the validity check function will return false, otherwise it will return true.
CODE
for (i=0; i<NumberOfPlayersInRoom; i++;)
{
   if( ! CheckValidity(Player(i)) ) then RaiseFlag(Player(i));
}

CheckValidity() will perform a series of Queries on each player. Such as how much a how much a player has moved since the last frame [Will find both speed and superjump hacks (These are isomorphic)], what weapon they are firing [Is is possible to have this weapon yet?], and if said weapon's R.O.F matches what it should be within a degree of variance [I.e: Grenade/Rocket spam check].

The technical information: Raising a Flag

First, lets assume that a 32 player room is full. Since this is the maximum number of players in a room, the method is easier to explain.

Each player will have a 16-bit signed integer stored for them on the server. This 16-bit signed integer is reset to a certain value (in this case, 1) every 30 seconds. When a flag is raised the following happens:
  1. If this player has already raised a flag against this player in the last 30 seconds. Discard the message.
  2. If the integer is = 0. Start to Kick the flagged player, discard the message.
  3. Else Bit shift the flagged players flag integer to the left by 1


What this means is, after 15 bit shifts, the value of the 16-bit signed integer has jumped from positive to negative, and when the next flag is raised (the 16th of 32) a bit shift will make the integers value 0. On The 17th flag, the server will realise the integer is now 0, and the player will be kicked out the room. The reason we are considering signed integers, is in case we want to put a check in to test if a player is "almost kicked".

But what if there are only 8 players [5 flags]? 7 players[5 flags]? 6 players [4 flags]?
Well, instead of resetting the flag counter to 1. It should be reset to 1 << ((32-number of players)>>1). Where << is a bit shift to the left, and >> is a bit shift to the right. (i.e: 2^((32-number of players)/2))

If you want to read about my proposed system for checking if a player has flagged another, read here.

What will this solution solve? What won't it solve?

This solution will solve the following problems in warrock with the following checks:
  • Superjumpers & Speed Hacks [Change in loaction check]
  • Quick shooting hacks, Unavailible weapon hacks [Weapon checks]
  • Modem Tappers, Very heavy laggers. (For position only) [Change in location check]
  • "Premium hack" [Check the players premium status against the server]
  • 1 Player room glitch (Where one person is the only person in a playing room) [Players can flag themselves]
  • "Invisible Hack", "OPK" [Check the player is not in a minezone if he is dealing damage / killing you]

This solution will not prevent:
  • Gps, see through walls, etc.
  • Radius alterations
  • Modem tappers / Heavy laggers who kill you whilst staying still.

Additionally, if it was made so that kick-voting increments the flag count. It would mean that people who have a high amount of flags against their name would be easier to kick. This may be worth considering.

How can this solution be exploited?

If some basic steps are taken to prevent exploitation, it can't. The problems & solutions for this method are as follows:
  1. Abuse in clan wars. Requires half the room size +1 to kick a single player, so this shouldn't be a problem. If it is, it can always be disable via an if statement during a clan war, so that even if the other team uses hacks to try and kick a player, it is not possible to achieve, as 1 more from a "legit" side of the match will prevent the last check happening.
  2. Hackers raising flags against everybody:
    They won't be able to kick anybody, unless they start travelling in large packs, which more than likely won't happen, and will also make banning them easier, and at least keep some rooms hacker free.
  3. Server lag / space. 48 extra bits per player is required for this method to work, space isn't a problem. Additionally, the reset of flags could be staggered, to reduce lag. (Just Don't make the reset available to clients!)
  4. Anti-kick. If this hack is still around, use the brute force server and peer disconnection method (tell all peers to drop connection to a kicked player, and have the server drop connection to the player) if the player is still in the room after a kick-vote / flag vote has been passed successfully.
  5. Small rooms make it harder to kick. Perhaps in non-clan war < 8 player situations, we could test if the flag integer was <0, thus meaning 1 less person is required for a successful flag kick.
  6. Very small rooms meaning few have to flag: Prevent flagging against other players in rooms with less than 5 players.

Additionally, to prevent possible exploitation, it is worth preventing players from even seeing their own or another player's flags, as this information is not necessary.

They are all the possible exploits i can think of, however, if you can think of another one, if you support this method, or have anything constructive to say - please post back.

Quick Addendum: It appears somebody has had a similar idea and beat me to to posting this by 1 hour during my writeup.
21 Sep 2009

This video has been in the works since last Christmas (thats right folks! some of the stuff here is from before the UI update). So, yes, it is like the D.N.F of war rock videos - but i can assure you, if you have been waiting that long, the wait was worth it, and this video totally sets a new standard in trick videos.

Watch:
Youtube HD
Youtube LQ
Filefront (Download)
If you want it hosting someplace, and that place is a good filehost - i will certainly consider it!

Stills:
Some still-frames of the video (Beware - Spoilers!).


Support:
Please respond with your comments, questions, rating, reviews, or whatever you want to say! After all, you guys are why we do theese videos, and it is great to hear from you. Heck, if you really like the video, feel free to use the video-name as a signature (i will be!), or make yourself a userbar or something.

CODE
[url=http://forums.gamersfirst.com/index.php?showtopic=21764][img]http://h.imagehost.org/0710/TorQ1.jpg[/img][/url]


Feedback
Allready getting some great feedback! Thanks smile.gif.
"awesome man, check out this stunt BEST MOVIE EVER MADE 5/5" - tuin578
"that's amazing!!! omg!!!!! ALL STAR pro 5 *star*" - Enrichmonzo

Again, all feedback much appreciated!
24 Jul 2009
About
26 second trailer for an upcoming stunt video which really will raise the bar. We've (wsc) been working on it for a long time now (Over 6 months) - so enjoy the trailer, and spread it around if you like it. The stuff shown in the trailer only scratches the surface of what amazing things we have to show you.


Youtube: HD HQ LQ

The video is due to come out soon [update - 15th aug]
The name may change if a better one is chosen.

Comments, feedback & name suggestions are much appreciated!
17 Jun 2009
Ascii Art Maker

To keep things short and to the point, i have programmed a tool which will take any image (assuming jpg, gif, png or w/e) and process it into a text file and show the image using letters. You can either opt for small text options involving the standard font-size, etc, or you can ramp up the precision and then view the picture with a significantly smaller font-size for a much more accurate (and dare i say awesome) "picture".

Some examples:

LQ - Bike
<Rehosting HQ Stuff>
Note for HQ versions you must download (right-click save target as / save link as) to your computer. Then open the file up in notepad, and go to format->font. Then type in the size box any value between 2 and 4, inclusive, and maximise the window.
Make sure the font is set as courier new (defualt font for notepad). If it doesn't work, search for a "linewrap" or "wrap text" option and turn it off. .


Download here

The program comes with its own help-file, explaining all the features of the program in fairly good detail. If you want to dive straight in, use the load image to load in the image, and then save image to - surprise surprise - save it to a text file. If the image ends up too big, increase the size of the value of "pixels per letter" - inversely, decrease "pixels per letter" if the image is too small. You can access these values by clicking the double arrow on the application window.

Ideally, "image width" divided by "pixels per letter" should be no more than 70 for a small image.

Any comments, suggestions, cool results, bug-fixes, typo's, and "custom conversion settings", etc appreciated!

P.s: Since this is a "creation" i just assumed this would be the best forum for this application.
30 Nov 2008
Fuzion:

About:
A project WSC has been working on for over 4 months, featuring the best bike, plane, humvee, boat, helicopter etc stunts in warrock to date. For more information, see Here

Watch
Youtube: http://www.youtube.com/watch?v=6T8ikWzGTNU&fmt=18
Last Visitors


1 Jul 2010 - 1:03


24 Jun 2010 - 20:43


19 Feb 2010 - 19:19


16 Jan 2010 - 8:22


27 Dec 2009 - 3:15

Comments
akaKi11er
just wanted to let you know your my inspiration as far as WarRock goes ;D
24 Jun 2010 - 20:44
Veloc1ty
Gave you 5 forum stars for a 5 star vid
22 Sep 2009 - 9:46

Lo-Fi Version Time is now: 2nd September 2010 - 06:22 PM