how to make a game that work only on single machine, i am not talking here about online keys that to be generated and match with the purchasing product , i need unique system id from hardware information,
how do i connect to device manager in java for hardware ids
wmic commands not reliable because they can be change in registry,
powershell i need to know more.
but a more specific thing is device manager, how do i get device manager information through java
Why would you want to have the game run on only one PC?
Do you just want to reduce piracy and thus force one PC per copy? In which case, you get the problem that @MoffKalast mentioned which could very easily reduce the copies being sold because people hate bullshit like that and thus increase piracy the moment that people find a way to get around it. (Which they will if the game is good enough)
Having said that, for the sake of information ill shed my 2 cents.
Minecraft does it the best way imo for auth. Its basically two-factor. Look at how it works and its limitations.
Then look at how it doesnt work. Single player is a game in itself for a novice hacker. The license can be circumvented. It also requires servers not using hacked servers. But you can.
Now look at how popular it is. If you are leaking money because of this you are in a great position. People love your game.
So. Do DRM. Provide perks. Cloud storage. Settings saving. Encourage buying it by making a game i would pay for. Dont spend your weekend coming up with DRM people will hate and get circumvented anyway.
Isn’t that partially what Steam does for you though? Somewhat protects the games that are sold in Steam from piracy etc.
To be fair I haven’t read much on it but I always thought that that’s why a lot of games like going the Steam route since they don’t need to think about piracy so much when releasing a game. Not saying it’s impossible but that it’s generally above the lowliest of hackers ability and that it’s definitely just easier to simply buy the game anyways.
And break it in some funny way - like they did with The Settlers (don’t remember which one exactly) where miners produced food instead of coal and gold.
What @MoffKalast said is true, however, you don’t need to pay anything to get access to the documentation, just sign the nda. At least that’s how it used to be, dunno if steam direct changed anything.
Steam mostly protects, due to the frequent updating of the game.
If you own a pirated version, you need to obtain a updated one each time the steam version is updated,(applies to multiplayer mostly). By using steam all regular customers have always the new version, so there is a constant need to invest time to stay in a playable state for illegal copy users. This quickly reaches a point where investing 10-20€ for a game and go to work instead of trying to find the game illegally is actually cheaper.
There are ways to just not let the game run if logged in steam user doesnt own the game or if steam is not running in steamworks api. But I guess that can be cracked too.
“Space War” I only say, fake steamid to be recognized as a free game with multiplayer. The best protection you get with steam is, taht if you update constantly, all illegal users must search for new downloads constantly, and that gets annyoing quickly.