As steam extends itself more and more and game creators use Steam as a publishing platform, local LAN support has become a rare breed amongst games. Furthermore, the games that are published through Steam tend to have a crippled LAN subsystem: even though the game features a local LAN mode, it is impossible to play the game without having an Internet connection because the game is rigged to refuse to work without having a connection to Steam. For instance, a game such as "Dead Island", when launched in LAN networking mode, will simply refuse to see any other games on the local network if the game cannot contact Steam - the game will not even announce or tell the user that it cannot find any local games because it cannot contact steam, leaving the user totally oblivious to why the game does not work as described.
The consequences are multiple, in such cases and mostly denote a shady practice on the behalf of the game producer. First and foremost, all games that are rigged in this manner have an extra Steam dependency, such that, even in legitimate circumstances, if an Internet connection is not available, the game will not work in LAN mode even if it is a purchased product. Next, even though Steam has become a giant, it is not entirely absurd that, at some point in time, Steam might just go away, in which case, all the games that have been published with a Steam dependency will simply not work anymore.
The following tutorial opens up some options for games that have a Steam dependency and offers alternatives on how to get these games to work.
By far the best solution is to emulate Steam via software such as "SmartSteamEmu". Even if the game is pirated, the Steam dependency is rarely eliminated and forums are usually stuffed with cries for help on how to get LAN working.
SmartSteamEmu is software that is installed for every game with a Steam dependency and works by intercepting calls to Steam and then emulating the replies such that the game is convinced that it is connected to Steam. Even though SmartSteamEmu is not a Steam replacement, SmartSteamEmu successfully manages to unlock LAN mode for most games.
To use SmartSteamEmu, the following prerequisites are needed:
steam_api.dll
file,
If a game is pirated, then the cracked files must be copied over but steam_api.dll
, steam_api64.dll
and steam_appid.txt
must be originals. The reason for that is that games might include copy protection in the offline binaries themselves which is removed by the cracker group however, SmartSteamEmu requires the original non-cracked DLL files in order to be able to intercept the calls to Steam.
With that in mind, most game repacks offer the ability to install either the original version, or the cracked version or allow you to overwrite some files yourself. In such cases, go for the cracked version but extract the original steam_api.dll
from the original version somehow. For instance, install the original version, backup steam_api.dll
and steam_appid.txt
, uninstall the game, install the cracked version and overwrite with the backed up steam_api.dll
, steam_api64.dll
and steam_appid.txt
.
Once the game is installed and with the original Steam DLL files, extract the contents of SmartSteamEmu.zip
directly inside the game folder next to the game executable. Now, open up SmartSteamEmu.ini
in order to change two settings Target
and StartIn
. Target
should be set to point to the game executable and StartIn
must be set to the full path to the folder where the game executable resides in. Both these settings are documented in SmartSteamEmu.ini
itself.
For example, a SmartSteamEmu.ini
for the Dead Island game may have the following settings:
Target = DeadIslandGame.exe StartIn = C:\Games\DIDE
where:
Target
is set to DeadIslandGame.exe
which is the cracked executable,StartIn
is set to the folder where the game repack was installed C:\Games\DIDE
It may be helpful to additionally change SteamIdGeneration
and ManualSteamId
in orde to set a persistent albeit fake Steam ID for all games that you are playing. In order to achieve that, set SteamIdGeneration
to Manual
and generate a random number for ManualSteamId
. When installing a different game, you would then use the same random number you generated for that game too.
Finally, to start the game and play, you will have to execute either SmartSteamLoader_x64
or SmartSteamLoader
depending on your architecture (and the architecture that the game has been compiled for?) instead of using the game executable (or the shortcut that may have been created when the game was installed). It is of course possible to create a shortcut pointing to the loader executable and change the icon for a seamless experience.
The following is a compiled list of problems found with the corresponding fixes:
If you launch a game and it claims that your profile cannot be saved, if the game does not seem to properly create any save games or if you seem to lose progress then you may need to just run SmartSteamLoader
as an Administrator.
The main reason for this type of errors is that steam games are usually installed within the user profile where the user obviously has permissions to write however repack games tend to install to system folder (ie, Dead Island installing in C:\Games
).
If the original steam DLLs and the file steam_appid.txt
is not in the launch directory then the application may complain about a missing App ID. In such cases, make sure that you have the original steam DLL files!