Machine learning cheat detection


#1

So there’s been a lot of big server networks moving to machine learning algorithms to detect cheating players, for obvious reasons they keep the source to themselves. I’ve decided to create a machine learning cheat detection service. This will come with a plugin that will automatically call the service and throw the relevant events. I’m curious to know how many of you would want such a service and how many of you would pay for it. If you were willing to pay for it, how much would you say is reasonable? The plugin will be free, however the service which will actually perform the cheat detection will be running on my servers, hence the fee.


#2

So then it would be useless on its own (the plugin)? I would rather write and train my own before entrusting my server’s data to a third-party and pay for it. In order for someone to be interested in paying they would probably need a rough quote and list of features. It’s a little vague at the moment.


#3

Valid points but no the plugin wouldn’t be useless. The plugin would offer math based cheat detection, the machine learning aspect would just be a paid extra. It wouldn’t really be “server data” though would it? It’s be packet data, and even then we only collect the necessary data to make the detection of a cheat, we would in no way store that data.


#4

Thanks for clarifying! Then I’m sure you would have a target audience who would be interested in this as a service for sure. Think of non-developers running servers/networks looking to take anti-cheat serious.


#5

Hello,

I’m kind of interested in seeing this done, I do have a few questions/concerns though:

  1. What style of machine learning are you planning on using?
    a. What algorithm(s) in particular?

  2. Are you planning on having any sort of offline functionality? What happens if your server crashes? Will there be a backup local learning system in place?

  3. Are you planning on having one set of data for each potential cheat issue (movement, x-ray, etc.), or are you planning on having one set of data that covers everything, and is clipped/weighted depending on the issue?

  4. Are you planning on training it dynamically using data/reports from all servers that are paying, or just from a set of data that you have.

  5. Are you planning on having the underlying data structure be a neural network, decision trees, Markov chains, etc?

  6. Will the machine learning be applied live? Or like once per set time period?

  7. In regards to cost, would cost be tallied based off of data being sent between your and my server, or would it be based off of the amount of time training the machine learning system or what?

  8. How does the cloud service work, do we send you data to process, or does your server send us the weights and then process it locally??

  9. Lastly, by more or less requiring payment in order to add functionality, I believe you are violating SpongePowered Plugin Guidelines. Just something to be aware of if you intend to post/advertise this plugin on SpongePowered hosted sites.

I apologize if there are any redundant questions here, I wrote this pretty late at night and was a bit tired.

Thanks,
Joshua (Snowie/D4rk)

-edit- Reformatted list with numbers to easier identify answers


#6

Hey man, thanks for taking an interest. Here are some of your answers :slight_smile:

  1. The internals will not be discussed.

1.1) The internals will not be discussed.

  1. We won’t have an offline equivalent, instead we Will have preprogrammed rule sets. (These are also used along with the ML to detect cheats, if the ML isn’t there, they still detect cheats)

  2. The internals will not be discussed, but we will be using data relevant per cheat. This is to try and avoid false detections when players log in with mods that alter packet data.

  3. We can never trust another servers data, paying or not. This is simply down to the fact that one bad server could train the algorithm that cheating is cool and fun. Instead what we will be doing is training it ourselves, but offer a sponsor program, so if you have a server already running and you want to use our ML, we will allow you to use it for fraction of the cost, as long as you help train it.

  4. again… the internals will not be discussed.

  5. I’m not sure what you mean by this, but really we will be offering a service that you can send player data to, and it will return with a response in relevance to if the player is cheating or not. How you use that service is up to you, as long as it will follow our terms of service. By default our plugin will be scanning random players in your server and send that data off.

  6. Yeah so what we would ideally do is offer a packages that grant up to X amount of requests p/m, so yes, we would be charging based on the amount of data sent to us.

  7. if we sent the servers the weights to process the data locally, there would be no need for a subscription to our service. I doubt we will ever do this for every customer, but if a customer had very specific needs and was a loyal customer, I don’t see the harm in offering them this type of deal.

  8. In fact we are not actually breaking Sponge’s Plugin Guidelines, our plugin out of the box does offer cheat detection functionality, we are just offering an extra service on top.

I hope all of that helps, sorry about not wanting to discuss the ML too much, we can’t to create a good and affordable service for all, the last thing we want is competition.


#7

I only have three points to make. One as a plugin developer, a second as a longtime community member, and the third as SpongePowered Staff.

  1. Nobody will trust your machine learning service if you don’t have documentation and/or proven results to support it.

  2. It is against the spirit of Sponge to keep things proprietary and closed source, and more-so to insist on its secrecy.

  3. This plugin WOULD in fact be a violation of SpongePowered Plugin Guidelines, as the whole purpose of this plugin is to offer better anti-cheat through machine learning, but there is absolutely no way, with your current plan, for a non-paying user to make use of all of the features in the plugin. (This is the cloud version of a “lite” plugin, which has been disallowed from SpongeForums since the very beginning)


#8
  1. Documentation will be provided.

  2. It sure is against the spirit of Sponge. I agree.

  3. Well it wouldn’t? The cloud based service isn’t really a “full” plugin release and to add onto it, calling the plugin a “lite” version isn’t the case at all, the plugin has no extra functionality by default, it has nothing to with ML at all. The plugin I’d be offering would be an external plugin that would hook into the main plugin’s API. It would be in no sense on the Ore registry.

Minecraft development has become a big business for some. Denying any part of that aspect of minecraft is the reason why Sponge is still in the shadows. It is a much better platform for development over Spigot/Bukkit, it has better licensing, which is MIT might I add, stating that if I wish to use it for my own capital gain, I can. (Not that I’ll be making a whole lot, most of it would just be covering server costs)

Just to cover on top of this, the ML version of the plugin is just an extension on the original math based cheat detection. The ML version isn’t just the only part, we will be offering a service complete with full player base management etc… there is a lot I have not mentioned, but simply because of competition.

Why would I want to allow servers to use ML themselves, train it themselves etc… when it would only benefit them? Whereas if they paid for the service, other servers would also benefit. Believe it or not, this isn’t just a business opportunity for myself but it’s an attempt to get the better servers out there rid of cheaters. I cannot simply offer that service free.


#9

If it is only to cover server costs and you’re not looking to make much of a financial gain out of it- why not just open source it and then any server can run/train their own? I’m sure you would get plenty of contributors.


#10

The ML side isn’t written in Java, it’s part of a larger service I’m planning on providing, so if I open sourced the ML, I’d also be open sourcing my entire web service which will include other features.


#11

Understandable, although that still ties into my question above- would it not be better to open source all of it if the business you expect to turn profit on is slim?

EDIT: That is to say- that you still expect the profit to be low.
EDIT 2: Or is it rather the backend you intend to use in another setting, hence needing to keep it proprietary?


#12

Im not sure what you mean? Could you clarify?


#13

If that is indeed the case, then you are offering two plugins. A free anti-cheat, and a paid ML extension plugin.

I want to make some things very clear then.

  • The free plugin is fine on the forums and on ore. The paid one is not.

  • We will also not allow you to advertise the paid plugin at all on SponeForums/Ore.

  • If you advertise the paid plugin from inside your free plugin, then your free plugin is also not allowed on SpongeForums/Ore

Yes they are very strict, and they might change in the future, but then, these are the rules. That said, I might have also missed a memo, and the rules might already be different. If someone else from SpongePowered Staff has a correction to make, please do not hesitate to do so.