Pluppets Oct 10, 2012 @ 9:48am
Dark Souls Multiplayer Network Guide (repost- jonaswashe)
Don't forget to first enable upnp or open the ports described @ the bottom
of >>>>this post.<<<<


Thanks again to jonaswashe, OP on the Steam forum.

Originally posted by jonaswashe:
The Definitive Dark Souls (PC) Network Connectivity Guide



1. Summoning rules:

The host must be human (The client can be human or undead) and WITHIN 15% + 10 Whole Number Soul Levels above or below the client. (i.e. SL 65 could summon SL 83, but not SL 84(9.75+10=19.75+65=84.75)) The area boss must still be alive.

2. Dark Souls creates a P2P IP Pool of other players as you play the game:

Dark Souls connects to GFWL (65.55.42.54, 65.55.42.52 and 64.4.11.25) for authentication and then Data.exe communicates with a single GFWL ip (65.55.42.52, for me) and starts adding player ip's into your P2P ip pool. This begins at the title screen. It continues to feed you a new ip every few seconds to several minutes. This appears to not be prioritized by location, but seems to be completely randomly selected as I've been connected with Canada, Finland, Australia, the UK, and just now Sweden, long before I've been connected to someone in the US. In addition, since IPs start being added when you are at the title screen and are not dropped when you raise your soul level significantly, I doubt it's based on in-game area or soul level. (Can others verify if their game uses an ip different than 65.55.42.52 to get ips once the game finished making its initial authentication checks?)

What the Dark Souls P2P IP Pool looks like in Comodo Firewall

3. Just because GFWL says you have OpenNAT and are using UPnP does not mean you will have no problem summoning or being summoned:

You can check connections by installing Comodo Firewall or Network Traffic View, and opening the Active Connections menu from Firewall Page. If all is working correctly you should see the game (Data.exe) making UDP IN and UDP OUT communications to various other player's ips after a few minutes. Check the above link of a healthy IP pool for a reference to verify connections.

GFWL does not always use port 3074 on the local side, but will uncommonly select a dynamic port in the 0-65535 range. In the example IP Pool above, my local port used by GFWL is 38413. If you do not or cannot use UPnP you may have to forward this "random" port to 3074 (The dynamic port is always the same port for your computer). I am thinking this happens if GFWL detects multiple instances of itself on the LAN. You can use Network Traffic View or Comodo Firewall to find the UDP port Data.exe is choosing.

Note: Even if you do the above, you will still get summoning failed, I will go into detail on the causes of this later.

4. Dark Souls uses your IP Pool to create a P2P web which sends messages and souls signs throughout the player base:

It takes roughly 10-15 minutes to reach a healthy IP Pool (~10 ip connections) and this begins when you hit the title screen. Quiting the game entirely will purge your ip pool. Changing areas, will not. Anyone you summon or anyone who invades you is added to your IP pool, this is why it's much easier to summon someone once you have done it once, however, the delay on repeat invasions prevents you from invading the same person immediately. (Unless they use the dried finger) Messages, bloodstains, summon signs and invasions are sent through the P2P network through direct IP connections, but are not necessarily from someone directly connected to you.

5. Nearly all the summoning advice you've read is wrong:

Spamming summon signs, "Join Session in Progress", and sitting at bonfires, do nothing and soul sign spamming actually hurts.

When you drop your soul sign, it is sent to all of the clients in your ip pool, then it is sent to each client they are connected to until it reaches someone who wants to summon you. Therefore, the bigger your ip pool, the higher the chance you will be summoned. Spamming your soul sign is actually counter-productive as it sends false signals throughout the P2P network. When trying to play with someone specific, doing anything but waiting tends to be counterproductive. Once you have about 10 ips each, their summon sign will usually begin to show up. You will probably get summoning failed during your first attempt to summon them.

6. Why do I get summoning failed?

There are a number of causes for summoning failed. Obvious ones being that the player disconnected, the player was summoned, the player died, the player left the valid summon area, the player is soul sign spamming, or your firewall is blocking inbound UDP traffic. However, the most common cause is what I call P2P echoes. As mentioned above, when your sign is placed it must travel across direct ip connections to reach another player. Since it may have to travel from Germany to Australia before it gets to you, there is quite a bit of lag involved (on average ~15-23 seconds) The summon sign sends out pulses for about 30 seconds before disappearing. Thus, when it pops up in your game, it's actually no longer a valid connection as the pulse has ended. You will notice that the summon sign will usually disappear within seconds after a summon attempt which fails. This works the same way with invasions. The best thing you can do is wait for the summon sign to show up again and keep trying. You will usually get the summon to work within 2-5 attempts. Having the client spam soul signs just makes the problem worse, and quitting the game/re-loading completely purges your P2P IP Pool, making you start from scratch.

There is one more cause of summoning failed. I have no idea what causes it, but if both the host and client have an ip pool that is nearly full (~20 connections), you will sometimes get summoning failed over and over again. You generally know this is happening if the summon sign sticks around long enough for you to summon the same failed sign again before it disappears and you receive the summon failed message. In this one instance, I advise the host or client (not both) to reload their game and purge their ip pool. After a few minutes you will re-establish your ip pool and your partners summon sign will show up. After that, the first or second summon attempt should work. I'm theorizing that this problem is caused because the P2P summon sign echoes completely override the actual summon sign, but figuring this out will require more testing by manually clearing the ip pool rather than purging it.

Using the above guidelines, I can reliably summon a friend in around 5-10 minutes on average.


TL;DR

Best way to summon a friend:

Use Network Traffic View to make sure the game is making UDP IN and OUT connections. Make sure host is human, the boss is alive and you're within SL Range. If you've both just opened the game it will take around 20 minutes to create your P2P ip pool. For best results, leave the game idling in the background an hour or so before your co-op session. If you get summoning failed multiple times in a row before your partner's sign disappears, quit to desktop and re-load on either the host or client computer, but not both.

Summoning takes 5-10 minutes on average.

Under no circumstances should you spam your summon sign.




(Please note that everything in this guide is based on my own observation of Dark Souls network data and may be subject to change at any time)
Last edited by Pluppets; Feb 16, 2013 @ 2:14am
Showing 1-15 of 251 comments
< >
Ed Oct 10, 2012 @ 10:57am 
Great piece of information! Thanks for posting this!
Pluppets Oct 10, 2012 @ 12:04pm 
Thanks!

++ to check connections while in-game:


Originally posted by Wulf2k:

http://www.nirsoft.net/utils/network_traffic_view.html

The above is pretty useful as well, for those who don't want to install Comodo just to see connections.
Last edited by Pluppets; Oct 10, 2012 @ 12:05pm
Alien Architect Oct 10, 2012 @ 1:15pm 
This should be stickied.
Pluppets Oct 10, 2012 @ 1:19pm 
How does one acquire this "sticky" of which you speak.

Are there admins for Hubs?
Alien Architect Oct 10, 2012 @ 6:08pm 
I've heard of those...just not in this forum. Guess they forgot their humanity.
Pluppets Oct 10, 2012 @ 6:08pm 
hahahahahah
Marduk Oct 11, 2012 @ 6:26am 
Done all of this above but my problem is that Comodo Firewall is showing that my Dark Souls Data.exe is only making UDP OUT connections, never seen UDP IN connection in the list of active connections. Is this a problem? If yes any advice how to fix it?
hghwolf, Rider in the Skies Oct 11, 2012 @ 6:46am 
Originally posted by Marduk:
Done all of this above but my problem is that Comodo Firewall is showing that my Dark Souls Data.exe is only making UDP OUT connections, never seen UDP IN connection in the list of active connections. Is this a problem? If yes any advice how to fix it?

I have this very problem. Any ideas on fixing it ?

I`ve noticed that I can be summoned and invade easily, but have trouble hosting a phantom. Could this be the cause ?
Alien Architect Oct 11, 2012 @ 7:23am 
With most ISPs you can enter something like 192.168.1.254 in your web browser (which is the default router ip for most modems) and it'll let you configure your modem's internal settings. Figure out what your default IP is and consult with your ISP if you need to.
Pluppets Oct 11, 2012 @ 7:37am 
Originally posted by hghwolf:
Originally posted by Marduk:
Done all of this above but my problem is that Comodo Firewall is showing that my Dark Souls Data.exe is only making UDP OUT connections, never seen UDP IN connection in the list of active connections. Is this a problem? If yes any advice how to fix it?

I have this very problem. Any ideas on fixing it ?

I`ve noticed that I can be summoned and invade easily, but have trouble hosting a phantom. Could this be the cause ?

Ouch!

I am noticing::
My UDP OUT's are coming from 26500 -> 3074
My UDP IN's are from 3074 -> 26500

Are any in's showing up on that port for you?
(forwarding it doesn't help for me, as im on UPnP)

Last edited by Pluppets; Oct 14, 2012 @ 2:14pm
hghwolf, Rider in the Skies Oct 11, 2012 @ 8:11am 
Originally posted by EE1213:
Ouch!

I am noticing::
My UDP OUT's are coming from 26500 -> 3074
My UDP IN's are from 3074 -> 26500

Are any in's showing up on that port for you?
Maybe forwarding that port, too, might help?

Ports are all forwarded. I have NO UDP IN`s of any sort connected to DATA.exe. I was invaded twice succesfully twice today though, so it may be unrelated after all.
Marduk Oct 12, 2012 @ 1:15am 
Im getting invaded aswell but getting summoned or summon someone else through white sign soapstone is a problem. Didnt have succesful summon since forwarding my ports and even before that it worked in one of 30 attempts. I dont have port 26500 forwared, would forwarding it help?
Pluppets Oct 12, 2012 @ 10:44am 
Originally posted by Marduk:
Im getting invaded aswell but getting summoned or summon someone else through white sign soapstone is a problem. Didnt have succesful summon since forwarding my ports and even before that it worked in one of 30 attempts. I dont have port 26500 forwared, would forwarding it help?

No, I tried it. 26500 forwarded doesn't help. ;_;

If anything, i had WORSE luck with it open.
Though, I'm using UPnP so it was overkill anyway.
Last edited by Pluppets; Oct 12, 2012 @ 10:47am
Alien Architect Oct 13, 2012 @ 4:28pm 
bump
Pluppets Oct 14, 2012 @ 2:13pm 
bampf
Showing 1-15 of 251 comments
< >
Per page: 15 30 50