That's how steam works. You need a steam account with the game in the library to have steam say it can be run. The problem with VXAce and below is that there is a program that decrypts the built-in encryption, thereby making any attempt to write a script to protect the game is useless. They can decrypt the archive and see all the code and take something out if it's stopping them.
So what's wrong with making custom encryption? Few things.
- The main one is that no matter what you need a ruby script to load your own decryption system that makes the files readable. Since this script has to be stored just as any others so that Ace can have it called, anyone can easily get access to your encryption.
- If people want your stuff bad enough, they will get your stuff. It's only a matter of weeks before AAA games have their encryption hacked when they're released, and that encryption likely changes with each different game in order to keep it secure as long as possible. No one can keep their games secure. Not Valve, not Ubisoft, not Microsoft, not EA, not you. It just doesn't happen. If someone wants it, they will get it.
- Writing your own encryption and decryption is hard. It will take a very long time to get something that is secure and reversible. That's a 3-part statement, too. Secure is hard. Reversible is hard. Both is much harder. You'd have to pay a lot of money for someone to spend a lot of time to make something that at best would only prevent someone from getting into your resources for maybe a month. It's just not worth it.
EDIT: And before anyone gets mad and goes off on how this makes RPG Maker dumb and vulnerable and whatnot, that's not the case. Like I said,
any game can be broken. It just so happens that RPG Makers have been out long enough that they have their encryption reversible easily. Were AAA titles to use the same encryption for each game, then there'd be a program for that too, but those change on a per-game basis, which is something RPG Maker is not capable nor required or inclined to do. It helps you make a game, offers you a way to prevent people who have no idea what they're doing from getting your resources, but from people who have the knowledge, time, and motivation, they'll get it. No matter who you are or what you made.
EDIT EDIT: If you aren't already using it, however, I know Zeriab has made a script that connects to Steam's API to ensure the user is logged into an authorized account for your game. This will prevent the game from being pirated by simply copying the files to someone else, but like I've said above, anyone with the decryption program and get into the archive, see all the scripts, and remove the one(s) that check for piracy.