M0tah Apr 1, 2013 @ 10:23pm
Dark Souls Connectivity Fix v1.2
Hello Dark Souls fans! I am proud to announce the release of Dark Souls Connectivity Fix (DSCfix). DSCfix is intended to greatly improve co-op with friends. I hope you enjoy it!

Version 1.2 fixes a major issue finding friends to connect with - if you had issues connecting with your friend(s), try this update. It also fixes compatibility issues with x360ce and Windows XP. Please download it below.

Please read the readme for more information:
Dark Souls Connectivity Fix (DSCfix) by M0tah
Version 1.2
Latest release: http://sdrv.ms/128mNwY
Alternative download: http://darksouls.nexusmods.com/mods/334/
Discussion thread: http://steamcommunity.com/app/211420/discussions/0/828935269278734403/


General Information
===================
DSCfix aims to improve the online experience when attempting to engage in jolly cooperation with friends. It is an interception DLL intended to be used with DSfix and functions by adding any online GFWL friends to your P2P connection pool before searching for random peers. This means that direct connections to friends are established right away, whereas in vanilla Dark Souls this only happens after the first successful summon or invasion (if you were even lucky to get that far).

This greatly reduces the time required to summon a friend, with typical wait times of about a few seconds.

What DSCfix does do:
-- Intercepts GFWL matchmaking functions to return a friend's session if available. This is repeated until all online friends are connected to, at which point it resumes normal behavior of looking for random peers.
-- Allows near-instantaneous summoning / invasion of friends, as well as other network info exchanged such as bloodstains, visible blue ghosts / bonfire phantoms, bonfire kindling, etc.

What DSCfix does NOT do:
-- Change any rules of summoning or invading (area boss must not be defeated, players must still be within level range, host must be human, etc.)
-- Fix any NAT related problems. If you have a strict NAT (as reported by GFWL) and have not been able to successfully summon/be summoned, DSCfix will probably not help.
-- Otherwise tamper with any aspect of Dark Souls gameplay. The connections it establishes with friends are the exact same as those established after successfully summoning / invading a player.

Disclaimer:
Due to the nature of DSCfix it must make changes to the internal functionality of Dark Soul's multiplayer networking code. Although there have been no issues during testing of DSCfix, I cannot be held responsible for any potential malfunctioning of the code or GFWL bans. Use DSCfix at your own risk.


Installation & Usage
====================
1) Install DSfix if you haven't done so already: http://blog.metaclassofnil.com/?tag=dsfix
2) Next, place DSCfix.dll and DSCfix.ini in your Dark Souls DATA directory (where DARKSOULS.exe is - for example: "C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA")
3) Open up DSfix.ini and search for the following line:
dinput8dllWrapper none
Replace it with:
dinput8dllWrapper dscfix.dll

4) ** If you're using DSMfix or another DInput hook (otherwise skip this step) **
Open up DSCfix.ini and search for the following line:
;dInput8Chain = dsmfix.dll
Remove the ; (comment character) so the line looks like:
dInput8Chain = dsmfix.dll (or whatever dll you want to load)

5) Boot up Dark Souls, have a friend also using DSCfix place a sign, and behold. ;)
(Note: Normal rules for summoning apply)

** All players involved must be using DSCfix ** (see notes below on why)


Uninstallation
==============
Simply delete DSCfix.dll, DSCfix.ini, and DSCfix.log.


Frequently Asked Questions
==========================
When starting Dark Souls I see a message box with "Loading of specified dinput wrapper failed with error 126: The specified module could not be found." and the game exits. What's going on?
-- Double-check that you have put DSCfix.dll and DSCfix.ini in the DATA directory (there should also be DARKSOULS.exe and DATA.exe in this directory)
-- You may have made a typo when modifying DSfix.ini; check the line containing dinput8dllWrapper.

When starting Dark Souls I see a message box with "Loading of specified dinput wrapper failed with error 1114: A dynamic link library (DLL) initialization routine failed." and the game exits. What's happening?
-- This suggests that you made a bad edit to DSCfix.ini; check DSCfix.log for more information.

DSCfix isn't working! What's up?
-- Verify that you have installed DSCfix and it is being loaded. When this is happening, a DSCfix.log file will be created in DATA.
-- Verify that you have Invite to Game buttons in the GFWL friends list.
-- Verify that your target friend has installed DSCfix correctly: http://steamcommunity.com/sharedfiles/filedetails/?id=137890394
-- Change the logLevel in DSCfix.ini to all, and verify that messages of the format "Connected to friend <gamertag>" are being written.
-- If you didn't find anything after doing the above, please let us know as per the Known Issues section.

I enabled the notice log level, and I see that I am constantly disconnecting and then reconnecting to my friend. What's causing this?
-- This suggests that Dark Souls is attempting to establish a direct connection to your friend but failing.
-- According to Juuri, this issue may be caused by not having ports forwarded or not using UPnP.

Can I use DSCfix without DSfix?
-- Yes: simply rename DSCfix.dll to DINPUT8.dll.


Notes
=====
-- In order for DSCfix to get friend session information, that session must have the "presence" flag set, which DSCfix also does. This is why all players involved must be using DSCfix.
-- You may notice Invite to Game / Join Session in Progress options available when playing Dark Souls now. This is a side-effect of setting the session "presence" flag on the above point. However, the game ignores these invite/join requests completely (fun fact: presence was always advertised for phantom sessions, which is why someone playing with phantoms always had a Join Session in Progress option).
-- The notice log level will cause connections established with friends to be logged to DSCfix.log. This may be useful for verifying that you are connected to friends.
-- See http://steamcommunity.com/app/211420/discussions/0/882962698499356788/ for an excellent description of how Dark Souls network connectivity works. One clarification: you MUST quit and restart the game completely to clear your P2P IP pool - quitting to the title screen will not clear the pool.
-- Buy Dark Souls if you like hardcore action RPGs!


Known Issues
============
-- Can cause short (~a second) freezes when establishing connections in-game
-- Possible issues with Battle of Stoicism (unconfirmed)
-- Let us know if you find any other issues!
-- Please include the following in your report:
-- OS version (Win 8, 7, etc; and 32 or 64 bit)
-- Whether you are using x360ce, DSfix, and/or DSMfix
-- Any other information that would help us reproduce the issue


Special Thanks
==============
-- foxUnit01/foxBabble for extensively testing DSCfix with me and pushing me to develop and release it. He also helped write this readme :)
Last edited by M0tah; Apr 15, 2013 @ 10:34pm
Showing 1-15 of 1,110 comments
< >
fox Apr 1, 2013 @ 10:24pm 
Shabam!

Edit: To everyone, ** PLEASE READ THE INSTALL STEPS CAREFULLY **. Particularly steps 3 and 4, I realize it may be easy to confuse DSfix, DSCfix, and DSMfix (perhaps the DS*fix naming scheme was not the best one..)
Last edited by fox; Apr 4, 2013 @ 5:17am
Strapping Young Vlad's Apr 1, 2013 @ 11:24pm 
This almost sounds too good to be true... Thanks for posting it, will give it a shot later on with some friends!
Denise Crosby stole my pants Apr 1, 2013 @ 11:37pm 
Originally posted by вк☭:
This almost sounds too good to be true... Thanks for posting it, will give it a shot later on with some friends!

Yes it does, and it is april 1st...just throwing it out there.
f-rombouts Apr 2, 2013 @ 3:11am 
So, does it work, or...? I am anxious to try it, but also a bit nervous, because it was posted on the first of april...
MrThebigcheese Apr 2, 2013 @ 3:57am 
Originally posted by f-rombouts:
So, does it work, or...? I am anxious to try it, but also a bit nervous, because it was posted on the first of april...

I tested this a little and yes it does work. You see your friend's signs very quickly and you can still see stranger's as well. It's awesome.

While playing with a friend I was even invaded by a stranger so everything seems to be working.
Last edited by MrThebigcheese; Apr 2, 2013 @ 4:04am
da KoSmEtiKz G0D Apr 2, 2013 @ 8:03am 
Hi, if this is the wrong place to ask i am sorry in advance. I am using a type of ps3-controller to play Dark Souls, using this software: https://code.google.com/p/x360ce/ which seems to conflict with DSCfix, as Dark Souls won't launch when they are used together. Does anyone have a potential solution for this? thank you
SageHashirama Apr 2, 2013 @ 8:04am 
Nice ty
Beffy Man Apr 2, 2013 @ 8:09am 
Praise the Sun! \O/
Animu Foreveru (Matt) Apr 2, 2013 @ 8:11am 
I'm going to test this sometime with a friend. It looks promising, but it was posted on April 1st.
SageHashirama Apr 2, 2013 @ 8:27am 
me trying 2 test it lol
Point Three Apr 2, 2013 @ 8:59am 
Waiting for responds...
Last edited by Point Three; Apr 3, 2013 @ 4:38am
Killershane Apr 2, 2013 @ 12:09pm 
Testing this with a friend of mine, safe to say, this worked like a charm.
Valk 93 Apr 2, 2013 @ 12:10pm 
C-could it be? Even when this is posted on april 1st?
SarcFa Apr 2, 2013 @ 12:44pm 
Waiting to test this out just to make sure GFWL doesn't throw a fit and start banning people for no good reason.
shkaduw Apr 2, 2013 @ 12:58pm 
Works wonderfully!
Showing 1-15 of 1,110 comments
< >
Per page: 15 30 50