How to play with friend in dark souls now with steamworks?

Solution 1:

For you to be able to understand how to connect to your friend more reliably, it's important to understand how the Dark Souls multiplayer client works.

When you begin your game (at the title screen, even), the networking engine creates a pool of IP addresses. The IPs are slowly fed into your pool over time. The IPs are selected, from what everyone in the community can tell, randomly (this may have changed with Steamworks, but unlikely). These are the IPs that Dark Souls attempts to ping, and once the game knows they're still playing, the IP owner's sign shows up in your game or vice versa.

What does all this mean? Well, it's effectively impossible to reliably play with your friend in the vanilla game. However, there are a number of workarounds and programs that can help. check out http://forums.steampowered.com/forums/showthread.php?t=2959611 for more information.

Solution 2:

On top of various in-game requirements of being able to see a sign (or have one of your signs seen) by another player, from my experience it helps that the players are both set to the same region within Steam.

I had a lot of issues setting up my DSFix and Steam settings to be able to play the game with my brother who lives down the hall and my friend from an entirely different state. All of us setting our Steam client to the same Datacenter worked just fine (again, as long as we're within the appropriate level range and all that good stuff).

I hope this helps and I will be glad to pull more info and look into it more when I get home from work, but the method I just described has worked for my friends and I.