Minecraft Anti-Cheat (MAC) Main thread

Status
This thread has been locked.

Bryce

Senior Java & Full-Stack Developer
Supreme
Feedback score
18
Posts
678
Reactions
934
Resources
19
*Put banner which i do not have made here* - Anyone wana make one?
Introduction:
Hi there! If you are not familiar with the original idea of this project, you can see the original discussion thread that started the idea here: http://www.mc-market.org/threads/58762

This is basically an anti-cheat system that will stop hackers before they can even join the server!

Now, lets get down into the details!

Note: Anything with a * means the category is a WIP and is subject to change at any time. (Due to a better recommended system, or a security fault. Who knows!)

P.P.S: I really want this to be a community project. I would like other developers to offer some input, advice or even offer to help. I am willing to allow any developer on board who i feel can benefit this project further! So please contact me or post here to get in! If you notice a security flaw in my logic, PLEASE SAY IT!!


How it will work *
*These are just ideas i have. None are final. Notice something wrong? Or a security risk? LET ME KNOW*
So i was thinking there would be 3 parts to this system. Website, Plugin, Launcher.

Launcher:
So i think we will use a launcher system for this, instead of a standalone program i had worked on a while ago. This way the players can easily launch their games without having to open another program. I have put together code in another Java program (Not the VB.net launcher) which scrubs the jar for known "Threat definitions", and as well watches the process for any un-recognized process mapping/injections. This will all be moved over to VB.net shortly, Then will work out how to make this stuff for MAC. Basically when the user uses the launcher (literally is almost the same as the vanilla launcher) before the game opens it decompiles your jar and scans every class (size, name, modification date, etc) and compares the names to known hack classes. This allows us to control what mods are "safe" E.g optifine. Once the jar is deemed safe, the launcher proceeds to opening the game as normal. The launcher has the regular 3 options once your game runs:

"Keep the launcher open"
"Hide launcher and re-open when game closes"
"Close launcher when game starts"


All 3 of these options will remain, however when the game starts after the initial scan, the launcher will decide what action to execute from the list above, and do it. Meanwhile when the game is started, another process (Very lightweight) is started that is constantly scanning for process changes/mapping/injection. This will protect the game once it is launched to prevent hackers from injecting their hacks manually. Once your minecraft Java VM is closed, and 100% terminated, the process itself for the scanner will end, and the launcher will follow whatever option you chose earlier in the list above.

If a user is detected using hacks, the launcher will submit 1 point to the global database. This database basically holds your UUID, Points, HWID, IP. If you get caught with hacks, you get 1 point added. You wonder why? I will explain once we get to the plugin portion! Once one point is added, your game process (or VM) is terminated and the launcher will prevent the game from opening until the version is changed.

Plugin:
The plugin is basically what will connect the server to the user. If a server owner has the MAC plugin installed, they will be able to customize many things. One of which is the join point threshold. Basically it works like this.

Join-Threshold: 2

By having the threshold set to 2, This means the user who joins can still play on your server if they have 2 or less points on their global profile. Once they get caught with a hack, and they reach 3 points. They will no longer be allowed to join your server due to their points reaching the max threshold. If the threshold were set to 1, a user can be caught using hacks once, but can still join. If the user reaches 2 points (caught 2 times) they will no longer be able to play. And lastly if threshold is set to 0, the user cannot be caught at all. The users record must be 100% clean in order to play. Now you may think, Oh pablo well you can just get another account for like $1 so whats the point? Well sir i have the answer for you! Every time a user logs into the Launcher, the HWID of their current PC is saved, as well as their IP. So take this following scenario as an example.

Joe has a minecraft account named "User1". He also has an account named "User2". Joe tries to log onto his favourite server that has a threshold of 0. But when he opens his launcher it detects his hacks :eek: . Joe says "Oh no!" but Joe starts thinking with a big grin on his face, "Im going to use my other account, User2" But when Joe logs on without hacks, and tries to log onto his server, He is still banned some how? Joe then wonders, how could this be???

*Please read the example i spend a ton of time typing in the spoiler.*

So what happened was Joe tried to hack on his first account. His first account got 1 point. His favorite server only lets him play with 0 points. So he thought he could try using his second account which failed. Reason? When Joe logged on for the first time on the MAC launcher, it also updated his HWID, and IP to the global database. When he logged onto his second account, it also updated the database with his second account, but something was noticed. His HWID or IP was similar? In this case a new profile is created for the user Joe. His 2 accounts were added to this profile in the database which contains his 2 accounts because they had matching HWID's, IP's. One or the other, or even both. Any account Joe logs into with his HWID or IP, will be added under the same profile for Joe in the Database.

If you dont quite understand the whole profile thing, let me explain it. When multiple accounts are found containing the same HWID or IP's they get moved in the Global database. A unique profile is created for this user. The profile is identified by a unique id that will be generated when the 2 similarities were discovered. The 2 accounts are then added into this profile and saved. Any other account that is detected under the same IP, or HWID will be added into this profile. Instead of his individual accounts having ban points on them, Joe's entire profile will have 1 point. This will stop Alts! (hopefully)

The reason why Joe couldn't join his favorite server is the owner of the server had
"AllowIPBans" set to false, as well as "AllowHWIDBans" set to false. This means if the plugin finds the account the user is logging in with is contained within a profile, the user will NOT be allowed into the server because one or more of the user's accounts have been banned. You can simply let people into the server who's accounts are on a profile, but contain no points by setting these to true.

*Note: There was one problem that i was having a problem, and i need YOUR Help. Lets say a user purchases a dedicated server or some used laptop. Some times (a lot of the time) hosts recycle the boxes and re-sell them. If a user happened to be using the launcher, on that server in RDP or something similar, got banned, the HWID of the server box itself will be stored in the users profile. So this means, if i were to buy the box, and just so happened to login, i would get instantly banned because someone before me on this server box got banned, so either the IP matched, or the HWID did. This is a very slim case and i couldn't see this happening often at all. Solution anyone? Slap a massive warning on the website or launcher? I have no idea!

Website
Lastly comes the website. For the website it will be nothing different than any other website (vacbanned.com, mcbans.com). Users can check their bans, contact support etc etc. The website will also have a PHP api system which is what the plugin (and website) will use to query for bans. Basically you punch in the UUID and out comes shitloads of JSON to be read. This is how the plugin will make it queries.

Other uses
Some people have come to me with some interesting ideas. One of them is a cloud system. When you login to the launcher, the launcher will Sync your server list, Game settings (video etc, ) AND i am not 100% sure yet, but possibly worlds and resource packs. This way if you are mobile, and on a different pc, all you would need to do is download the launcher and login, it would then start syncing your stuff down to the pc you logged into.

Time to wrap it up
Well my fingers are broken from typing all that. As i mentioned up top, if you have any ideas, want to get involved, or find any loopholes please let me know here, or in a pm! Please post any suggestions you have! I cant do it all on my own! If you are a web developer who can do the web side, or know how to make the same launcher on a Apple computer, let me know. Any help is needed!

If you need to contact me, Add me on Skype: pablo673400 (Make sure you specify Minecraft Anti Cheat in your contact request)
Or pm me!



Progress (what little i have anyway)

MAC Launcher E 1.1:
- Logins complete
- Version browsing complete
- Basic GUI complete

TODO:
- Get the game to launch lol
- Add user profiles
- Add version selection drop down
- Add launcher options
- Re-create AntiCheat code from Java into VB.net.
- Other things.
Preview:


 
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

chucK_

chucK
Supreme
Feedback score
0
Posts
1,440
Reactions
823
Resources
0
I'm trying to figure out how people would even use the launcher. If I hack, I'm not going to use your launcher to login to a server and get banned?
 

Bryce

Senior Java & Full-Stack Developer
Supreme
Feedback score
18
Posts
678
Reactions
934
Resources
19
I'm trying to figure out how people would even use the launcher. If I hack, I'm not going to use your launcher to login to a server and get banned?

Plugin will kick if you have not used the launcher? I guess i left that out. (Plugin checks the timecode on when you opened your launcher, and if you voided that timecode) Technically the plugin wont let you in without the launcher. As soon as the launcher is terminated, forcefully or not it will void your timecode when it is closing. Thus dis-allowing you to join the server.
 

Saw

Feedback score
1
Posts
47
Reactions
11
Resources
0
Plugin will kick if you have not used the launcher? I guess i left that out. (Plugin checks the timecode on when you opened your launcher, and if you voided that timecode) Technically the plugin wont let you in without the launcher. As soon as the launcher is terminated, forcefully or not it will void your timecode when it is closing. Thus dis-allowing you to join the server.
It will have pressure on the server itself, since alot of player will disagree from using the launcher unless you rename the launcher to something that doesnt says "Anti-Cheat" or if the server has a big playerbase.
 

Bryce

Senior Java & Full-Stack Developer
Supreme
Feedback score
18
Posts
678
Reactions
934
Resources
19
It will have pressure on the server itself, since alot of player will disagree from using the launcher unless you rename the launcher to something that doesnt says "Anti-Cheat" or if the server has a big playerbase.

The thing is, many sevrers lose players to hackers every day. Its a decision. Lose players because they are too lazy to download a launcher which they use anyways, or lose players when hackers raid their base or something like that. This isnt a matter of how many people will use it or not. This is out there for the people who will.
 

mrpetfreak

Feedback score
0
Posts
218
Reactions
66
Resources
0
I like that idea.
I can help a little bit with the website.
*send skype contact request*
 

chucK_

chucK
Supreme
Feedback score
0
Posts
1,440
Reactions
823
Resources
0
Plugin will kick if you have not used the launcher? I guess i left that out. (Plugin checks the timecode on when you opened your launcher, and if you voided that timecode) Technically the plugin wont let you in without the launcher. As soon as the launcher is terminated, forcefully or not it will void your timecode when it is closing. Thus dis-allowing you to join the server.
A lot of large server's have Anti-Cheats that are jokes. I'm not sure anyone would even wanna play on a server with a seperate launcher, just imagine how hard it would be to advertise. "Hey! Join ip.thisdomain.tld" *Joins* Can't login to the server and drops it. A new server advertising a "brand new anti-cheat launcher" just sounds like you're gonna get RATed. I'm not sure where public perception would lie on this.
 

Overlord

Supreme
Feedback score
2
Posts
569
Reactions
276
Resources
0
There's a reason why this hasn't been done yet.

Let me break it down for you.

Minecraft = kids
kids = impatient and stupid
this idea = complicated
logic = ???[DOUBLEPOST=1454693740,1454693689][/DOUBLEPOST]
ust sounds like you're gonna get RATed. I'm not sure where public perception would lie on this.
Good point - anything from a site filled with members banned from hackforums.net (aka, this one) is definitely going to be malicious. I wouldn't touch it with a ten foot bargepole, assuming I even play the game.
 

Bryce

Senior Java & Full-Stack Developer
Supreme
Feedback score
18
Posts
678
Reactions
934
Resources
19
As i said above. I am aware of who does NOT Want to use it. Dont point out the obvious. But i clearly said this is being made for those WHO WOULD LIKE IT.

There's a reason why this hasn't been done yet.

Let me break it down for you.

Minecraft = kids
kids = impatient and stupid
this idea = complicated
logic = ???[DOUBLEPOST=1454693740,1454693689][/DOUBLEPOST]
Good point - anything from a site filled with members banned from hackforums.net (aka, this one) is definitely going to be malicious. I wouldn't touch it with a ten foot bargepole, assuming I even play the game.

Im sorry, So because its complicated, and you say the community is all stupid kids so therefor i shouldnt make it. Jesus. You are not far off from what you describe the mc community to be. Kappa
 

Overlord

Supreme
Feedback score
2
Posts
569
Reactions
276
Resources
0
Im sorry, So because its complicated, and you say the community is all stupid kids so therefor i shouldnt make it. Jesus. You are not far off from what you describe the mc community to be.
Nice grammar and spelling, lol.

Go ahead and make it, but it's useless and you'll be wasting your time. Be my guest to make it for educational reasons, fun, whatever you want. If you plan on selling it, then I'd advise you against. If you want to make it anyway, be my guest. Doesn't bother me.

Learn to take some advice when you get it.

As i said above. I am aware of who does NOT Want to use it. Dont point out the obvious. But i clearly said this is being made for those WHO WOULD LIKE IT.
"who would like it"
...
Just about nobody that wants more than 5 people on their server.
 

Bryce

Senior Java & Full-Stack Developer
Supreme
Feedback score
18
Posts
678
Reactions
934
Resources
19
Nice grammar and spelling, lol.

Go ahead and make it, but it's useless and you'll be wasting your time. Be my guest to make it for educational reasons, fun, whatever you want. If you plan on selling it, then I'd advise you against. If you want to make it anyway, be my guest. Doesn't bother me.

Learn to take some advice when you get it.


"who would like it"
...
Just about nobody that wants more than 5 people on their server.

1. Point out my grammar. Step one in the defense stages online with teenagers.
2. Don't use it. No need to trash my thread. I asked for suggestions and assistance. Not for some prick to come along and bitch about my spelling and grammar (had no idea you had a degree in english). So do me a favor and leave me alone. You don't see me putting your threads down when you try to start something.
 

Milton

Supreme
Feedback score
0
Posts
2
Reactions
28
Resources
0
I think this looks great & very promising. Good work Pablo. Ignore people who don't know what they're talking about.
 

Bryce

Senior Java & Full-Stack Developer
Supreme
Feedback score
18
Posts
678
Reactions
934
Resources
19
Hahah thanks guys! I think he is just the most toxic user on mcm, looking this english teacher's posts. First 2 pages. Couldnt even go further without my soul dying.

e046832b7968a6d2f04836fbb959d8d9.png

2ed3dcc872d6e9766c260a9edd3dcc5d.png

32d603bc7d35a9eaf04be19e1ee3141d.png

a5b7f7684f450b89f1194b905db78b1b.png

2206617e44f761f5273276de57592bac.png


Lol this guy hahahaha

One thing to say to you mister

Spidey_point_NICE_THINGS.jpg


http://data:image/jpeg;base64,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
 

Overlord

Supreme
Feedback score
2
Posts
569
Reactions
276
Resources
0
1. Point out my grammar. Step one in the defense stages online with teenagers.
2. Don't use it. No need to trash my thread. I asked for suggestions and assistance. Not for some prick to come along and bitch about my spelling and grammar (had no idea you had a degree in english). So do me a favor and leave me alone. You don't see me putting your threads down when you try to start something.
That made no sense. Also, I don't have a degree in English, at least not to a university level. I think basic spelling and sentence structure is introduced at, what, the age of 8?

Here's a suggestion: What's to stop certain modded clients (hacked clients, you may call them) manipulating the client version string or whatever you use to uniquely identify the client (assuming this plugin goes mainstream enough for developers of such clients to bother)?

You say the client will be updating the database if you're hacking, what's to stop the manipulation of that? If you make the server do it, will checks be ran on server join, extending server join and causing network load?
 
Status
This thread has been locked.
Top