Prevent launch without Steam

I plan to release my game on Steam. I managed to implement Steam subsystem into my game. But now there is still the problem that in packaged version, the game can be launched even when Steam is not running.

How do i prevent the game from starting if Steam is not running?

I was thinking about adding some simple classes that would shut it down if they detect that Steam is not running, however, i’m sure that there has to be some native way to do this.
Or how do i force the game to be launched via Steam?
I know about SteamAPI_RestartAppIfNecessary(THIS_GAME_ID); but i assumed that this would be called by UE itself. Do i have to add it to a class in the launch screen umap?

3 Likes

Is this to prevent piracy? Is so, I’m afraid there’s not much you can do.

Firstly, people are not going to appreciate it if they buy your game, and it won’t work if they’re not online.

Secondly, I’m pretty sure ( although I haven’t specifically seen it ), that there’s a fake Steam server you can run, precisely to get around this sort of thing.

1 Like

Yes it is a simple DRM method. I know that games can always be cracked, but this adds at least one simple layer of protection. Releasing it without this would mean that anyone could simply copy it.
You can start Steam in offline mode. The method that i’m talking about does not require you to be online, it simply requires you to launch Steam, even if it is on offline mode.

1 Like

From my experience, the game is cracked the day after you release it.

For some reason, some people see it as their mission in life…

3 Likes

It’s like locking your house even though anyone can break the window and climb in.

2 Likes

I understand. But if we use this analogy, people would be breaking into your house every day… :wink:

1 Like

image

This happens when I simply doublick on Aoe2DE.exe. I checked a couple of other games. All of them have some steam-specific executables that don’t run standalone. Unfortunately I am new to all of this, too. I surmise, Steam provides an API that allows for exactly that thing you are looking for.

Trying to start other games standalone also resulted in other stuff: I had to agree to some terms and conditions again, there were instant problems with the synchronization of my save games with steam cloud and so on.

https://partner.steamgames.com/doc/features/drm

Here they say some important things right in the beginning:

The Steam DRM wrapper by itself is not an anti-piracy solution. The Steam DRM wrapper protects against extremely casual piracy (i.e. copying all game files to another computer) and has some obfuscation, but it is easily removed by a motivated attacker.

We suggest enhancing the value of legitimate copies of your game by using Steamworks features which won’t work on non-legitimate copies (e.g. online multiplayer, achievements, leaderboards, trading cards, etc.).

And there you have a solution outlined. Use Steam DRM wrapper against stupid copying of your packaged game. Give the user additional incentives for buying a legal copy.

For me personally, as someone who copied a lot of stuff illegaly, a flawless multiplayer experience is more than enough reason not to pirate game. Nowadays I am not a poor student anymore and probably just steam achievements alone (and the fact that I tend to play a lot of indie games) are reason enough to cough up the coin.

3 Likes