Click to See Complete Forum and Search --> : Challenging Project, all help is welcome


Infinity
November 4th, 2006, 10:16 AM
Hi all,

My name is David Verhoeven and i am looking for help in regards with this project which i'll expose lower in this message. I'm the founder of a gaming community with support for online multiplayer games and competitions, tournaments.

What am i looking for? Answers on which will be the best method and most secure way to achieve my project and how to do it.

My knowledge on programming: nihil

Project name: no name yet, (open for suggestions)
Goal: a fair online multiplayer gaming competition and environment.
Problem: multiplayer cheats and hacks.
Project: effective Anti-cheat tool.
Project difficulty: probably the most challenging project you would have been faced too.
Code to use: free non gpl code (i don't want the source to be available openly and this way getting the project jeopardised)
Reward: Credits, partnership, copyright, or find a common intrest on which we agree on.

Why i want to start this project?
Online multiplayer gaming has reached a level where thousends of gamers are now part of a gaming team that gathers together on regular basis (weekly, dayly) to spent a few hours together and have good fun. These teams are participating in online gaming tournaments or competitions and are taking the time to practice together for hours and getting better at their game and improving their teamplay so they put down a good performance for each new challenge they are facing in organized competitions.

Basically, pretty much the same way any team would practice their preferred hobby, sport like soccer, baseball, volleyball and many more.

It takes time to practice and become a good team and the challenges are tougher time after time.

Now, imagine you have practiced the whole week because you have a match at the end of the week. Challenge takes place and you have only one chance to win the match. The game commences and a player from the opposing team fires up his hacks.

No need to tell you what the outcome of the match is. This one cheater has litterally wasted all the clean players time and efforts put into this match and the cheater goes away with an undiserved victory. With this cheating behavior, the online gaming competitions has no meaning at all and is just a big waste.

There are existing anti cheat tools like punk buster but unfortnatly they don't do the job very well. Hence why i'm starting this project in the hope to come up with an efficient counter cheat measure that is now more then ever needed for online gaming competition and communities.

If you don't feel concerned by the gaming thing, i'm sure the challenge of taking it up versus gaming hackers is quite interesting for you and will require a lot of programming skill. The goal being to come up with an innovative way of dealing with hacks and detecting them.

Hobson
November 4th, 2006, 10:31 AM
I used to play America's Army, Unreal Tournament and Tibia, and in all these games cheaters were real pain. Americas Army is the only title I came across that integrated anti-cheat protection, PunkBuster. It was not 100% efficient, but, at least at times I was playing, it decreased number of cheats. Now, my question is: How are you going to make your software better/ more useful/ whatever than already existing anti-cheat systems?

Cheers and good luck,
Hob

Infinity
November 4th, 2006, 10:47 AM
The basic Idea:

Idea is to create a tool coded in a robust programming language that will detect the use of game hacks during official matches.

We want to build this tool with as much custom code as possible to prevent hackers to base their workarounds on standard procedures documented on the internet.
The tool itself must be protected versus reverse engineer attempts.

Logs and files generated by the tool must be encrypted using custom encryption and information exchanged with the central server will use support of SSL protocol.

The tool should recognise known cheats and record activity from other applications running in the background that may be interfering with the game or memories being subsituted to hide cheats/hacks activity.

The tool will also function as a session validator that will download information from a central server based on an event ID.

Our tool will also function as a tool to finalise member registration with a user database and should be able to allow sessions or not depending on the member's status within the community (suspended, banned, free to play etc...)

Creation of an advanced guid for each system/pc that registers an account with our community.

Secure tool which does not give a hacker a chance to exploit this AC to harm anyone using our tool.

The tool must be compatible with most used windows os, including 64bit architecture and if possible any system config.

Sounds like a mountain? i'm sure it is, why it's even more challenging :)

My next post will describe system procedures more in detail.

Skizmo
November 4th, 2006, 10:58 AM
sounds interesting

Ejaz
November 4th, 2006, 11:18 AM
[ Moved Thread ]

Infinity
November 4th, 2006, 12:14 PM
Erm.. the reason i posted on Visual C++ programming forum was because i assumed the project i'm talking about will be coded in C++ and all my questions will prolly be discussed over there. If this is a good reason can you please put it back there or should i only ask specific questions in there for specifi matters regarding C++ programming?

Infinity
November 4th, 2006, 12:17 PM
Explanation of current system idea (copyrighted :) ):

1. Account creation
2. Official matches
3. AC tool activity durin matches

1. Account creation:

Any person that wants to participate in our competition must register an account on our site through standard registration procedure using username, e-mail and password. Upon account creation, the user receives a confirmation mail with an activation link. At this stage, and upon acount activation through activation link, the account is created and now awaits for the guid to be recorded along with the users account. The new user cannot play official matches without this guid.

The guid:

When the account has been created and activated, the new user now has to finalize his account with the guid function.
This is where the AC tool is used for the first time. When the AC (anti-cheat) is installed and upon using the AC for the first time the user is prompted to enter his username (case sensitive) + password.
When username is recorded the user gets the option to finalise his account.
Finalising the account constitutes the generation of an advanced guid which is then send to the AC server and is recorded in the database along with the new user's account.

2. Official Matches:
- Setting up a match
- Joining a match
- During a match
- Finish the match

- Setting up a match: When two teams have agreed on playing a match, one member of one of these teams, logs into the site and creates the challenge. He creates a new match record and this record returns a 'match ID'. When he's done, he will communicate the match ID to all the players that will participate in this match.

- Joining a match: To joing a match, every player will need to enter this shared match ID in their AC. When that is done and they connected to the AC server, the AC will download all parameters for the match and verify the user's status and grant matching permission or not based on it's status (suspended, banned etc...). When the user has been granted permission, his AC goes then in standby mode awaiting the user to start the match session.
When all players are connected, the ac sends information to our site in order to show which player and which team is connected to a specific 'Match ID' and their status.

- During a match: Players are ready and set with the AC and they can now return to their game with the AC running in the background waiting in standby mode.
When the match commences, all players hit an AC hotkey which starts the recording of the match session.

- Finish the match: When the match is done, all players hit an AC hotkey to end the recording of the ongoing match session Or they let the AC end the match session automatically when the timer runs out. (Timer parameter was automatically downloaded from AC server upon joining a specific match ID)

3. AC tool activity during matches: When live session is launched (AC starts recording activity) it starts taking fullscreen screen shots of the users screen at random time intervals and encrypts them against file tampering, it checks all running apps and programs on the background + monitors the launch and closing of any app/program during the live session. The Ac holds a session log which is also crypted.

When the live session ends, all the information recorded by the AC tool is then automatically send to the AC central server through SSL protocol and all the information that reaches our server is then handled automatically.

When information is send to our server and our scripts detect cheat activity during an official match, it automatically handles the account for the user that used cheats and locks his account with reason documentated for all to see.

Ejaz
November 4th, 2006, 12:21 PM
Erm.. the reason i posted on Visual C++ programming forum was because i assumed the project i'm talking about will be coded in C++ and all my questions will prolly be discussed over there. If this is a good reason can you please put it back there or should i only ask specific questions in there for specifi matters regarding C++ programming?

Dear Infinity,

I moved your thread to this board, because this is more appropriate for it. If you have any specific question regarding VC++, then you can always post that in VC++ forum. Current board is specfically meant for general project discussions, Don't worry, you'll get good response in this section too :)

Infinity
November 4th, 2006, 12:23 PM
rgr that thanks