0

I am working on a MMORPG game built in java, with this the end user runs a java executable (client) on their system that connects to our game (server).

Sometimes you get some players that are less than nice, and require a ban, some people are however really persistant which require an IP ban, and then there is the third type of people that have above average knowledge of computers and know how to change (or mask using vpn/proxies) their IP.

To combat these last kinds of people, we used to generate a UID file somewhere in their AppData folder with a unique key generated when the client launches (if no file is found it will generate one for them, but the flaw here is that if someone finds this file, they could easily just remove it and on the next start it would recreate a new and different one for them)

A while back I read somewhere that Microsoft generates a "fingerprint" based on several system specifications which is pretty much unique for each system, but on regeneration will result the same key, this is why you can reinstall Windows 10 without ever having to use any serial key. Would a system like this be possible in pure java?

To summarize, we need a unique key for every machine it is being run on (or atleast a very very small chance of a duplicate key being generated), but should the generation code be run again it needs to generate the same key

Alex
  • 144
  • 16
  • 1
    Am I missing something here or is there anything wrong with using user accounts? – f1sh Jul 17 '19 at 11:36
  • Have a look at this question: https://stackoverflow.com/questions/99880/generating-a-unique-machine-id Author there uses a tool called WMI, and there should be some Java libraries to access this tool (another question you might find useful: https://stackoverflow.com/questions/4610063/recommended-libraries-howtos-for-using-wmi-with-java) – Gregory Witek Jul 17 '19 at 11:42
  • @f1sh, accounts are free to make, so anyone that wants to can just create infinite new accounts. I am not sure why someone wanted to downvote this.. perhaps they dont understand the question – Alex Jul 17 '19 at 12:01
  • @GregoryWitek Thank you those are helpful, but do you happen to know any Mac or Linux alternatives as well? – Alex Jul 17 '19 at 12:01
  • 1
    People with above average knowledge will see the same UID and change it by hand. Besides computer configuration can change because of any number of reasons, defeating the purpose. Another way is to ban email addresses. – Mark Jeronimus Jul 17 '19 at 12:52

0 Answers0