***************************************************************
* SmartSteamEmu v1.1.9                                        *
* by syahmixp                                                 *
***************************************************************

This is a steam client emulator which enables you to play steam
games without STEAM client and play lobby enabled-games or
online multiplayer games on LAN without any internet connection.

This emulator initially intended only for Age of Empires II HD
to enable lobby features without depending on STEAM. Now the
emulator has been updated and can be used with other steam's
game.


Features:
 - Run steam game without steam
 - Enables play on LAN without internet connection
 - Emulates lobby, server browser
 - Stats, Achievements and Save games
 - Configurable DLC subscription
 - Avatar support
 - Plugins support
 - UGC/Steam Workshop partial support

Requirements:
 - Microsoft(R) Visual C++ 2010 Runtime (x86)
 - Steam games

How to use:
 - Extract all files to game directory or any directory.
 - Open SmartSteamEmu.ini and edit as neccessary.
 - Launch SmartSteamLauncher.exe and not the game executable.
 - To use different configuration file, add configuration file path
   to launcher parameter.
 - Put your plugins into SmartSteamEmu\Plugins folder. SmartSteamEmu
   will automatically load the dll files.

Note:
 If your games use cracked version that replace steam_api.dll,
 make sure you restore the original steam_api.dll file first.

 Some games may require pre-cracked file to run the games, but be
 sure steam_api.dll is the original.

 Some games such as tomb raider that can host private match
 require invite friends function to invite others to join their
 private match. Since this emulator didn't have any invite friend
 implemented, to JOIN the server press SHIFT+TAB simultaneously.

Plugin Development:
 Plugin is simply a dll file to extend or change the emulator or game
 behaviour. The dll will be loaded by SmartSteamEmu via LoadLibrary().
 Additionally the plugin can have SmartInit() and SmartShutdown()
 exported function. To get better understanding, download the PDK.

 PDK can be downloaded here: http://cs.rin.ru/forum/viewtopic.php?f=20&t=65200

***************************************************************

[Changelog]
Version 1.1.9 (February 11, 2015)
 - Storage(save games) now can be changed to app data (default).
 - Ability to use your computer name/account name for persona name.
 - Updated to latest steam interface.

Version 1.1.8 (September 7, 2014)
 - Automatically find interface version based on original steam_api.dll
 - Fixed remote storage increasing file count
 - Fixed remote storage file stream memory leak
 - Fixed rare crash when using as steam_api.dll replacement

Version 1.1.7 (August 14, 2014)
 - Fixed UGC crash.
 - Fixed some games save UGC on wrong path.
 - Added more API for plugins.

Version 1.1.6 (August 13, 2014)
 - Added UGC/Steam Workshop partial support.
 - Fixed plugins search path when turning on SeparateStorageByName.
 - Fixed default avatar doesn't get loaded when turning on SeparateStorageByName.

Version 1.1.5 (August 7, 2014)
 - This version introduces plugins development kit.

Version 1.1.4 (August 6, 2014)
 - Added missing SteamUtils007 interface.
 - Added plugins support.
 - Fixed exception log doesn't give exact problem.

Version 1.1.3 (July 27, 2014)
 - Added steam_api.dll replacement partial support
 - Added x64 build (Untested)
 - Added manual steam id support
 - Updated interface

Version 1.1.2 (January 1, 2013)
 - Fixed local user data folder doesn't get created
 - Fixed cs:go crash when starting with -steam parameter
 - Updated interface

Version 1.1.1 (October 23, 2013)
 - Fixed resident evil 6 multiplayer disconnect
 - Fixed avatar loading only accept absolute path
 - Fixed stats interface causing crash
 - Fixed others doesn't received lobby update
 - Fixed closing audio device when in-game voice disabled
 - Fixed lobby member limit always return zero
 - Fixed lobby initialization
 - Fixed lobby gives incorrect data when retrieving game server
 - Fixed lobby signal received when user not in lobby
 - Fixed crash when retrieving stats with empty key
 - Fixed all memory leaks
 - Fixed steam pipe count
 - Added new configuration section for log and debug
 - Added more log output
 - Added log output filter
 - Added lobby connection lost handling
 - Rewrite all interfaces
 - Rewrite the emulator core
 - Implemented user data folder
 - Implemented friend stats
 - Implemented lobby owner transfer
 - Implemented directory support for remote storage
 - Implemented DLC list

Version 1.1.0 (October 16, 2013)
 - Added support to change quick join hotkey
 - Added support to change avatar filename
 - Added support to override achievements
 - Updated network library
 - Fixed some random crash
 - Fixed language doesn't get changed on some games
 - Fixed some leaks
 - Fixed lobby data doesn't get updated
 - Implemented HTTP interface
 - Implemented more friends function
 - Implemented dummy leaderboard
 - Implemented new user interface v17
 - Implemented in-game voice support (experimantal)

Version 1.0.9 (October 7, 2013)
 - Added registry restoration after launcher closed
 - Fixed wrong interface version given causing crash in some games
 - Fixed empty interface (remote/screenshot) given causing crash in some games
 - Fixed random crash around lobby
 - Fixed steam pipe
 - Fixed server browser crash
 - Fixed virtual port overflow
 - Implemented friend rich present

Version 1.0.8 (October 5, 2013)
 - Added minidump creation during crash
 - Added loader support for launching with different configuration file using command line
 - Added support for networking manual override
 - Added resident evil 6 save game patch to load any others save game
 - Fixed crash when retrieving others persona name
 - Fixed validation issue causes game waiting for authentication result
 - Fixed lobby data retrieval always fail
 - Fixed lobby data notification spam for some games
 - Fixed empty value on configuration file doesn't uses default value
 - Fixed game doesn't get notified when connection with other was lost
 - Implemented partial matchmaking/game server browser support
 - Implemented user source retrieval
 - Implemented multiple local user
 - Implemented lobby member data
 - Implemented lobby data request notification
 - Implemented some missing steam interfaces

Version 1.0.7 (October 2, 2013)
 - Added different method of generating steam id
 - Updated interfaces

Version 1.0.6 (May 14, 2013)
 - Fixed most memory leaks
 - Fixed crash on exit for some games
 - Fixed issue around lobby and game server
 - Fixed remote storage quota false report
 - Fixed crash on some games due to HTTP emulation
 - Fixed socket deadlock causing networking failure
 - Fixed corrupted save game issue

Version 1.0.5 (Mei 8, 2013)
 - Fixed remote storage bug causing some games doesn't work properly
 - Fixed language doesn't properly detected by some games

Version 1.0.4 (Mei 7, 2013)
 - Reworked the networking
 - Added SHIFT+TAB to join lobby (emulate invites)
 - Added avatar support
 - Added more logging output
 - Added partial IPC support
 - Added game server steam id support
 - Added alternate socket listen port
 - Implemented some missing interfaces and functions
 - Fixed lost pid causes new game process failed to launch
 - Fixed crash when requesting lobby list
 - Fixed lobby doesn't delete some lobby data
 - Fixed some memory and handle leaks
 - Fixed invalid peer's steam id on some games
 - Fixed remote storage cache causing file count increases
 - Fixed aggresive discovery loop
 - Fixed cannot connect to secure server, plugin detected

Version 1.0.3 (April 27, 2013)
 - Added logging enable/disable support
 - Added DLC configuration
 - Added configuration support for boolean value "true/false" or 0/1
 - Added option to create secure/insecure server
 - Fixed some games cannot found lobby again
 - Fixed incorrect p2p data length given to games causing crash on some games
 - Fixed p2p handshaking causes some games to wait
 - Fixed remote storage give incorrect file count due to cache deduplication
 - Fixed remote storage give directory names to game
 - Fixed achievements bug
 - Fixed game waiting for data due to unimplemented method

Version 1.0.2 (April 26, 2013)
 - Added remote storage support
 - Added per user directory for stats/achievements/storage/save games support
 - Added launcher persistent mode
 - Added Support for absolute path on "Target" launcher settings
 - Added some logging
 - Added app id verification before launch
 - Added support to turn on low violence
 - Added support to change language
 - Fixed some lobby issue
 - Fixed some games doesn't found any lobby
 - Fixed some games fail to launch due to incorrect pid given
 - Fixed some games fail to launch caused by no app id found
 - Remove lobby app id verification

Version 1.0.1 (April 25, 2013)
 - Add support for stats and achievements
 - Add support for overriding app id
 - Fix cannot join created lobby
 - Fix PersonaName not being read correctly
 - Fix game doesn't transmit some lobby data
 - Fix lot of crash and memory corruption

Version 1.0.0 (April 20, 2013)
 - Added support for older games
 - Fixed some crashing
 - Replaced old loader with new one

Initial Release (April 17, 2013)
 - Lobby support for Age of Empires II HD

***************************************************************

Credits:
 Thanks to OSW members and supporting friends
 and to all cs.rin.ru developers.
