Skip to content

Networking faq

chino edited this page Jan 6, 2013 · 18 revisions

FAQ's are broken up into the following sections:

Why do I need to forward a port ?

Forsaken does NOT have a dedicated server it was always a peer-to-peer game meaning everyone connects to everyone in the game forming a mesh topology.

What is ipv4, nat, and routers ?

In the future this may become a mute point since ipv6 promisses to give every single device on the planet their own globally unique address. The current ipv4 system has a much smaller address pool hence isp's generally only give you one internet ip address and charge for extra for multiple ones. This is the main reason that nat based routers became so popular in homes. They allow you to have your own private network that you can connect hundreds of devices to while the router brokers messages back and forth between internet and the home network. So when the router receives a new message that didn't originate from inside it's network it has no clue where to route it and simply does nothing with it. This is the reason you need to setup a port-forward to let the router know where to send data. The router is smart enough to track when connections initially originate from the inside network to the internet and allows/maps return data back to the originating local ip.

Benefits of peer-to-peer

  • you have a direct connection to every player so you see them at their best possible ping to you
  • you don't have a to proxy messages all the way to the server and back
  • nobody has an disadvantage by being farther from the server
  • no dedicated server needs to be maintained or ran by any person / organization
  • the host can drop out at any time and the other players continue on

Downsides of peer-to-peer

  • the host must have a port open/forwarded on their firewall/router to allow incoming traffic
  • anyone but the first player that joins must also have their port open (because existing players are told to connect TO the new player)
  • there is no central authority on kills, physics, game events, etc so split-brain issues are common and do happen (such as two players acquiring the same pickup at the same time)

How do I setup my router / port forward ?

You must have your UDP port 2300 (by default) forwarded and that's it...

You can change which port is used but the external to internal mapping must be 1 to 1 meaning 2300 -> 2300 or 2301 -> 2301 etc...

You can confirm the port is setup correctly by joining the chat (see main wiki page) and typing !test at which point FsknBot will let test to see if it can join your game (this means you must be hosting a game obviously)...

Can I setup multiple pc's behind a firewall / router ?

Yes just make sure you forward a different port for each system and remember that port mappings must be 1 to 1.

See "How do I setup my router / port forward ?" for detailed information.

How do I host a game ?

Death Match -> Host

Also see above for information on setting up port forward...

In network make sure you have "send tracker updates" other wise someone would need to know your ip/hostname to join your game.

Lan Games

Following information pertains to hosting lan games.

How do I join a game ?

First see above for information on setting up port forward...

How come I can get in as the first player only ?

There is an exception when joining as the first player in which case you'll get in even without your port forwarded.

This is a great feature for those who are behind firewalls they don't control like at a campus or hotel.

This works because of the same reason your allowed to visit any web page (the host has their port open and you connected to them)...

How do I join/host a lan game ?

Proceed as you normally would and hopefully it will just work.

I can't join a lan game from the built in game list ?

If the game isn't in the list then see the "How do I host a game ?" section above.

The built in game list contains the hosts internet (external) ip so it will only work if your router is smart enough to loop the packets back and forth between the internet/external ip's.

It's probably also best to follow the "Can I setup multiple pc's behind a firewall / router ?" section earlier.

You can also type in the lan ip of the host to join.

Can internet players join my lan game ?

The easiest way is to have your local players join first and it should work just fine (there is an faq entry above that explains why).

If your lan players had to join your private lan address then they MUST join first... If you want them to be able to join later then they need to have their ports forwarded properly to each pc, see the "Can I setup multiple pc's behind a firewall / router ?" entry earlier.