# NOTE:
#  Line beginning with "#" (Number sign/hash) or ";" (semicolon)
#  indicates that the line is a comment. It will be ignored by
#  the emulator.
#
#  Read one by one to understand the meaning of each settings,
#  don't scroll down too fast like you're reading
#  facebook feeds or twitter tweets. (:


;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;     This section will be used by the loader to start your
;                      games properly.
;
; Launch the loader with /help command to discover more.
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Launcher]


;-------------------------------------------------------------
; Target
;    This must be pointed to your game executables (.exe)
; StartIn
;    Point to your game folder. Don't set if you want to use
;    emulator current directory. This will affect Target if
;    the target uses relative path.
; CommandLine
;    Additional command line for your games. Source (Valve)
;    games requires -steam or you will get "insecure"
;    message
;-------------------------------------------------------------
Target = RED-Win64-Shipping.exe
#StartIn = C:\Program Files (x86)\Steam\steamapps\common\Age of Empires II HD
#CommandLine = -steam


;-------------------------------------------------------------
; This must be pointing to SmartSteamEmu.dll, you can use
; absolute path or relative path; relative to the loader.
; The emulator storage folder will be created on
; the same folder as SmartSteamEmu.dll
;-------------------------------------------------------------
SteamClientPath = steamclient.dll
SteamClientPath64 = steamclient64.dll
SSEDllName = SmartSteamEmu.dll
SSEDllName64 = SmartSteamEmu64.dll


;-------------------------------------------------------------
; Persist
;    Don't exit the loader. Required for games that uses batch
;    file (.bat) or which launch multiple executables.
; InjectDll
;    Inject SmartSteamEmu module into process instead of waiting
;    for game to load it itself. If the game uses steam.dll
;    you might need this to be turned on.
; ParanoidMode
;    Warn you first if the steam client process is running
;    before launching the game.
;-------------------------------------------------------------
Persist = 0
InjectDll = 0
ParanoidMode = 0



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;          This section will be used by emulator.
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[SmartSteamEmu]

;-------------------------------------------------------------
; AppId
;    Your game appid. http://store.steampowered.com/app/<AppId>
;    Set to 0 to read from steam_appid.txt file.
;
; SteamIdGeneration - Specify one of these:
;    - Static
;    - Random
;    - PersonaName
;    - ip
;    - Manual (you must set ManualSteamId)
;    - GenerateRandom (Default, Generate steam id once and reuse the
;                      same generated steam id for the next time)
;    Remember, some games store steam id in save file and steam id
;    must match when loading the game again.
;
; ManualSteamId
;    Example: 76561197960287930
;
; LowViolence
;    Set this to 1 if you want to have a low violence game
;    and/or residing in a country that requires you to have this
;    restriction.
;
; Offline
;    Set this to 1 to set emu as offline.
;
;-------------------------------------------------------------
AppId = 1090630
Language = schinese
SteamIdGeneration = PersonaName
#ManualSteamId = 0
LowViolence = 0
Offline = 0


;-------------------------------------------------------------
; AvatarFilename
;    Avatar file, only .png is supported
; PersonaName
;    Set this to your name *OR* use one of these:
;    - ComputerName
;    - AccountName (default)
; AutomaticallyJoinInvite
;    When somebody send invite to you, you will automatically
;    accept their invite.
;-------------------------------------------------------------
AvatarFilename = avatar.png
PersonaName = AccountName
AutomaticallyJoinInvite = 0


;-------------------------------------------------------------
; StorageOnAppdata
;    Storage (save game) files will be saved on local account
;    appdata folder.
;        C:\Users\<YourName>\AppData\SmartSteamEmu
;
;    If you lose your savegame files after using this
;    version, disable this value or move your savegame files to
;    appdata folder.
;
; SeparateStorageByName
;    Each "PersonaName" will have its own storage folder for save
;    game, storage file, stats, achievements and avatar.
;
;    Before
;        SmartSteamEmu\<game files>
;    After
;        SmartSteamEmu\my name\<own game files>
;        SmartSteamEmu\his name\<own game files>
;        SmartSteamEmu\her name\<own game files>
;
; RemoteStoragePath
;    Specify your own location of remote storage path. The
;    default location is on SmartSteamEmu\remote_<appid> or
;    SmartSteamEmu\<persona name>\remote_<appid>.
;-------------------------------------------------------------

# StorageOnAppdata = 0
# SeparateStorageByName = 0
RemoteStoragePath = save

;-------------------------------------------------------------
; EnableHTTP
;    If disabled, all calls to create HTTP request will fail.
;    It is advised to keep this turned off.
;
; EnableInGameVoice
;    Enable In-Game voice using microphone input.
;    The implementation is not yet finished. It is recommended
;    to use other application for voice chat.
;
; EnableLobbyFilter
;    Turn this off to find all lobbies within the same app id.
;
; EnableOverlay
;    Tell game that we have overlay enabled.
;
; DisableFriendList
;    Disable friend list from appear in game.
;
; DisableLeaderboard
;    Disable leaderboard by not returning any leaderboad when
;    game requested it
;
; SecuredServer
;    VAC server. If the games complain it starts *insecure*ly
;    or to remove any plugins before attempting to connect to
;    a VAC secured server, set this to 0.
;
; VR
;    Tell supported games to enable virtual reality.
;
; RandomItemAwards
;    Give random items in CS:GO
;
; DisableGC
;    Disable GameCoordinator emulation
;-------------------------------------------------------------
EnableHTTP = 0
EnableInGameVoice = 0
EnableLobbyFilter = 1
EnableOverlay = 1
DisableFriendList = 0
DisableLeaderboard = 0
SecuredServer = 1
VR = 0
RandomItemAwards = 0
DisableGC = 0


;------------------------
; Master server list
;    In "<ip>:<port>" format. Multiple server is separated by
;    a space.
;
#MasterServer = 46.165.194.16:27011 46.4.71.67:27011 46.165.194.14:27011
#MasterServerGoldSrc = 46.165.194.16:27010 46.4.71.67:27010 46.165.194.14:27010
MasterServer = 188.40.40.201:27010
MasterServerGoldSrc = 188.40.40.201:27010


;------------------------
; Quick join hotkey for private match.
; Valid modifier are: BACKSPACE, TAB, ENTER, SHIFT, CONTROL, ALT
;   PAUSE, CAPSLOCK, ESCAPE, SPACE, PAGEUP, PAGEDOWN, END, HOME,
;   INSERT, DELETE, F1-F12.
;
; Must be a combination, example: CONTROL + J
;
QuickJoinHotkey = SHIFT + TAB



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                      Overlay Plugins
;
; SSEOverlay plugins comes with two functions, overlay being the
; main one and OnlineMode which allow you to connects to other
; players worldwide. To open overlay, use the QuickJoinHotkey
; defined on [SmartSteamEmu] section.
;
; The overlay may be highly unstable for some games and you may
; need to disable them.
;
; The online mode is turned on by default, if you wish not to
; connect to others or care for privacy or security, simply turn
; the option off.
;
; Language is defined in Language.ini inside Plugins\SSEOverlay
; folder.
;
; ScreenshotHotkey captures game screen using these hotkey. The
; rules is same as [SmartSteamEmu] QuickJoinHotkey
;
; HookRefCount allows DX9 games to be safely shutdown the device
; so it can change resolution without crash. If you experience
; crash with overlay try to disable this first.
;
; If you specified OnlineKey, you will be connected only to the
; same people that uses same OnlineKey.
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[SSEOverlay]
DisableOverlay = 0
OnlineMode = 1
Language = schinese
ScreenshotHotkey = F12
HookRefCount = 1
;OnlineKey =



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                       DLC subscriptions
;
; Use the following format for subscription:
;   <appid> = <1/0> or <DLC Name>
; Example:
;   57923 = Duke Nukem Forever: Hail to the Icons Parody Pack
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[DLC]

1213940 = Granblue Fantasy: Versus - Additional Character Set 2 (Narmaya)
1213950 = Granblue Fantasy: Versus - Additional Character Set 1 (Beelzebub)
1254920 = SteamDB Unknown App 1254920
1254921 = SteamDB Unknown App 1254921
1254922 = SteamDB Unknown App 1254922
1254923 = Granblue Fantasy: Versus - Character Pass 1
1255070 = Granblue Fantasy: Versus - Color Pack Set 1
1255071 = Granblue Fantasy: Versus - Color Pack Set 2
1255072 = Granblue Fantasy: Versus - Color Pack Set 3
1255073 = Granblue Fantasy: Versus - Color Pack Set 4
1255074 = Granblue Fantasy: Versus - Color Pack Set 5
1255075 = Granblue Fantasy: Versus - Color Pack Set 6
1255080 = SteamDB Unknown App 1255080
1255081 = SteamDB Unknown App 1255081
1255100 = SteamDB Unknown App 1255100
1255101 = SteamDB Unknown App 1255101
1255102 = SteamDB Unknown App 1255102
1255103 = SteamDB Unknown App 1255103
1255104 = SteamDB Unknown App 1255104

;------------------------
; If requested subscription id cannot be found here, 
; SmartSteamEmu will use this default value.
;
Default = 1

src103582791433980119 = Payday 2 Community
src103582791435633447 = Payday 2 Mod - HoxHud



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                      Achievements override
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Achievements]

; Unlocks all achievements
UnlockAll = 0

; If the game loops when reading stats/achievements, enable this.
FailOnNonExistenceStats = 0


; If you want to modify individual achievements, use the
; following format:
;   <achievement name> = 1/0



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                   Player Management
;
; Allow or deny who will able to connect to your server
;
; To deny or ban connection from steam id, use the following
; format:
;   STEAM_0:X:YYY = 0
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[PlayerManagement]

; Allow anyone to connect. If set to false, only allow connection
; from recognized steam emu.
AllowAnyoneConnect = 1

; Set a password to allow ban/unban remotely. The password must > 4
; characters long. Remove # infront AdminPassword to enable password.
; App restart is *required* to update the password.
#AdminPassword =



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                          Direct Patch
;
; Allow you to patch loaded game modules (.exe, .dll) on memory.
;
; Use the following format:
;   ModuleName.ext=Location;OriginalBytes;PatchBytes
; Example:
;   mymodule.dll=12ab;74fe;ebfe
;   mymodule.dll=*;74fe;ebfe
;   mymodule.dll=*;74??;eb
;   mymodule.dll=*;74??;9090??ebfe
;
; DirectPatch will only patch once per entry. The location is the
; file offset to patch. You can use asterisks (*) to search for
; pattern given by OriginalBytes.
;
; OriginalBytes is use to validate given offset or search for
; pattern.
;
; If you set the location to offsets, the OriginalBytes will be
; used to validate the bytes on that offsets. If it match, it
; will patch the offset using PatchBytes.
;
; If you set the location to asterisks (*), the OriginalBytes
; will be used as a pattern to search and once found matching
; pattern, it will patch using PatchBytes.
; 
; Both OrignalBytes and PatchBytes can include ?? to indicates
; wildcard.
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[DirectPatch]
; Dead Rising : OTR - Windowed mode
#deadrising2otr.exe=508bf8;00f3;01



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                     Logging and debugging
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Debug]

;------------------------
; EnableLog
;    Enable/Disable log file output.
; MarkLogHotkey
;    Mark the logfile with timestamp using this hotkey before
;    performing some action to make it easier when debugging.
; LogFilter
;    Filter log output. Separate by semicolon.
;
EnableLog = 0
MarkLogHotkey = CTRL + ALT + M
LogFilter = User logged on


;------------------------
; Create dump file when games crash. This can helps developers
; to investigate what causes the game crash and to improve this
; emulator.
;
Minidump = 0



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                     Emulator networking
; Warning: Advanced settings! Best to leave it as is if you
; don't know what these settings are for.
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[Networking]


;------------------------
; BroadcastAddress
;    Set broadcast address used by emulator discovery system.
;    To broadcast to multiple addresses, separate by a space.
;    To connect to other computer online, specify their ip or
;    ip:port here.
; ListenPort
;    Communication port used by this emulator, must match with
;    other player or it won't find each other.
; MaximumPort
;    Attempt to use another next port when current listen port
;    is already in use.
; DiscoveryInterval
;    Interval for discover packet in second. A small packet
;    sent by the emulator to broadcast address to discover
;    other players.
; MaximumConnection
;    Number of maximum allowed connection
;
BroadcastAddress = 255.255.255.255
ListenPort = 31313
MaximumPort = 10
DiscoveryInterval = 3
MaximumConnection = 30



;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
;                   steam_api.dll replacement.
;
; Allow you to start game directly without the launcher.
;
; To start the game without the launcher, rename original
; steam_api.dll to ValveApi.dll and then rename
; SmartSteamEmu.dll to steam_api.dll
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[SteamApi]

; The emulator will try to search for interface version
; automatically inside original steam api.
;
OriginalSteamApi = steam_api.dll
OriginalSteamApi64 = steam_api64.dll


; Manually specify interface version if no original steam_api.dll
; found. It must match the steam_api.dll that come with the game.
;
SteamClient = 15
SteamUser = 16
SteamGameServer = 1
SteamFriends = 13
SteamUtils = 5
SteamMatchMaking = 9
SteamMatchMakingServers = 2
SteamUserStats = 11
SteamGameServerStats = 1
SteamApps = 5
SteamMasterServerUpdater = 1
SteamNetworking = 5
SteamRemoteStorage = 10
SteamScreenshots = 1
SteamHTTP = 2
SteamUnifiedMessages = 1
SteamController = 1
SteamUGC = 1
SteamAppList = 1
SteamMusic = 1
SteamMusicRemote = 1
SteamHTMLSurface = 2

