Greetings, my name is Typo Hui and this guide is a step by step process to creating a local static IP and opening port(s) specifcally for Risk of Rain although this can be applied to every game that you want to host for. Although this guide does not specifically explain how to forward ports for the router, I will leave the most information I can to help direct you in the right direction!
The default port number is 11100.
(To mods: I know this is not directly tied towards gameplay with Risk of Rain, but since co-op is a pretty big feature and port opening/forwarding is required to play, that you keep this: thank you)
Warnings and Risks
There is a reason why by default your router's ports are closed and your firewall is strict on traffic is that these are your lines of defence against hackers. Every port you open, it is creating a small hole in your security for data to get into/out your computer. Eventhough it sounds scary, so long you don't go crazy and only open ports when you need them, you will have minimal risk. That said, to best protect yourself, if you are using a port you manually opened, close the port and reopen it later on a needed basis! This can be done from within the router or by disabling the rule from within the firewall.
Your ISP Could be Blocking your Portforwarding Attempts
Sometimes depending on your contract you setup with your ISP, they could be controlling what ports are forwarded or not and not allow you to make any personal changes. In most situations, unless you live in a rural area or you have a very basic/limited internet, you would not have to worry about this. Bottom line: you might not be able to host servers.
ALSO IMPORTANT NOTICE FOR PEOPLE USING LAPTOPS
When you create a local static IP on a wireless network (WIFI), you have a risk of setting a local static IP that might be used on the network you are trying to connect to. This could create problems! If possible try to stick to using a direct wired network so you limit the chance of this. Alternatively, you can change back the setting from static to dynamic (which I will state below as you are changing it to static if you are still going to use the wifi method).
Why do I Need a Local Static IP and to Open Ports for my Firewall?
This section is just for people questioning why they need to do this. If you don't care then just skip this section.
Why do I need a local static IP?
For varying reasons, your IP might change if not set as a static IP. When you set your router's settings, you will have to state what the local IP the forwarded ports are going to be allowed to. If your local ip changes, the forwarded ports are not going to apply to your computer anymore and you will occasionally have to change them.
Why are local static IP's not set by default?
By default, Windows sets your local IP automatically (aka dynamically) because as more people get onto your local network, this will keep you and another person obtaining the same local IP which would cause ip conflictions (or unable to connect to the network as a whole). Unless you need a static IP (like in this case: hosting a server), there is no reason to have one.
What Makes Opening Ports for my Firewall Nessasary?
Actually depending on the situation, this step might not even be needed. For example, when I opened the required port for this game, I did not even need to touch my firewall as it had default settings that apparently I did not even need to change/alter to host a server. However often you will need to manually open the port because it is just not going to work without doing so. (Sorry that I can't explain exact reasons to why sometimes you need to while other times you don't. My only explaination is that the firewall chooses how to open the ports defaultly that work or don't work)
Step 1: Creating a Local Static IP
Search for "cmd" (without quotes) in the start menu and press enter
Type "ipconfig /all" (again no quotes and will continue like this) and press enter. Minimize the window and save it for later (do not close the window!)
Search "Network Connections" and press enter
Next right click on "Local Area Connection" and select "properties".
If you are using a wireless connection, even after the warning above, instead right click on "Wireless Network Connection" and click on "properties".
Select "Internet Protocol Version 4 (TCP/IPv4)" and make sure it it checked (it should be, but just be sure), and then click on "properties".
First select the bullet that says "Use the following IP address:" as well select the bullet that says "Use the following DNS server addresses:" then bring back up the Command Prompt (cmd) we minimized earlier and copy the information as shown in the picture below
NOTE: My DNS settings will probably be different from what you will see. By default the DNS settings should be the same as "Default Gateway" and usually you will not have a "Alternate DNS" address and it can be left blank if you don't see it in the Command Prompt.
Also I think that defaultly, the "DNS servers" in the Command Prompt might be right under the "Subnet Mask" and not by itself like you see in mine.
WIRELESS USERS: This is where you would change back the settings to dynamic when you are on another wireless network than your home (or wherever your main internet you use is located). All you need to do is click the bullets that say "Obtain an IP address automatically" as well as "Obtain DNS server address automatically". Don't worry, your settings should be saved so all you would have to do next time is reclick the bullets to make them static again!
Finally click "OK" to apply the settings you just set (as well click "OK" for the other window called "Local Area Connection Properties". Congrats you now should have a local static IP
Step 2: Setting Up Your Router
Note: Again I am sorry I can't directly help you in this area; there are far too many different routers out there that have different ways of opening ports.
Eventhough I can't give direct steps, I can say this:
First find your brand name of the router (company name)
Then select the model number you own (if you don't see the exact same model number, usually another similar model name should work.) *
While choosing a specific game in this case does not really matter, if you see one for minecraft select that because it only requires one port to be opened.
When you get to the point where you will put in "25565" (minecraft's port) instead put in Risk of Rain's default port "11100". **
You can use the software they provide to test the port, but Risk of Rain automatically checks the port in the "Start Online Co-op" menu.
If your port does not show it's open after doing all that. DON'T WORRY, it might mean your firewall is blocking the port, which is covered next!
Note: Even if it shows it is open, the firewall might still block the ports! Turning off your firewall does not (always) fix the problem!
* If you don't know your model name, usually the model name is at the bottom of the router itself. ** You don't have to use 11100. Actually, you can use any number that's within range of your router, and any game can also use that number as well. So you can host other servers using that port number once you get it open! (keep in mind though, some games require more than one port). As a rule of thumb though, avoid lower port numbers because they are usually used for something else on your computer. For a general list: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
Step 3: Opening Firewall Port(s)
If you tested the port and it is still showing that it is not open, it could mean your firewall is blocking the port. I will show you how to open the port using Windows' default firewall. If you are using a 3rd party firewall, sorry to say I won't be covering that and you might have to search online to see how to open a port: I'd sugest you search something like "<name of your firewall> open port" and see that others have to say about it
First things first, in the start menu search "Windows Firewall" and make sure you click on "Windows Firewall with Advanced Security".
Next you should see the firewall settings pop up. Click on "Inbound Rules".
First, we are going to check and make sure the firewall does not already have Risk of Rain settings. Scroll down the middle area (it should be in alphabetical order), and see if "Risk of Rain" is shown within.
If you do see two "Risk of Rain" like shown in the picture below. You have two choices. Either edit those settings which should apply the ports JUST to the program or create a universal opened port that will apply to the whole computer. (the reason I give you the option is because sometimes if one way did not work, the other way might). But if you plan to use other games with this port as well, then you will have to make a universal port! (I will explain both ways below).
If you don't see any, then just go on and do the next thing which is creating a universal port.
METHOD 1: Creating a Universal Port on the computer (Recomended)
First click on "New Rule..." near the top right (use picture above if you can't find it)
A Wizard will start, and you will select "Port" bullet then click "Next >"
Keep the port type to "TCP" and make sure "Specific Local Ports" bullet is selected. Place the port number of the desired game, in our case for Risk of Rain it is "11100" unless you chose a different number, then USE THAT. Finally click "Next >"
Make sure "Allow the Connection" bullet is selected and click "Next >"
Untick (uncheck) the "Public" setting (although for some people they could only get it to work if it is checked. It is just a bit more secure if it is unchecked though). Make sure "Domain" and "Private" are checked and then click "Next >".
Finally, give it a name. You could say something like "Host Game Port [TCP]" or something like that but it can be whatever you want it to be! Note: I recomend putting "[TCP]" at the end of the name; you will see why next.
Great, now you have created a rule! Now repeat the steps creating another rule above but this time when it asks "TCP" or "UDP" choose "UDP" this time and name it whatever you want ending with "[UDP]". The picture below shows that point you will need to make that adjustment!
METHOD 2: Editing a Rule Already Given to us by the Firewall
Rightclick on the "Risk of Rain" rule and select "Properties".
First we will check to make sure the correct program is selected. (It should be, but I have seen a few times it did not and was one of the problems why the port was not opening correctly).
Click on "Programs and Services" tab at the top of the window.
Check and make sure the program selected has an address like this: D:\Program Files (x86)\Steam\steamapps\common\Risk of Rain\RoR v1.0.0 Steam.exe NOTE: It is "D" drive for me, but it could be "C" or some other letter for you; same for "Program Files (x86)" for you could have "Program Files". This is fine!
Next we will click on "Protocols and Ports" tab. Take note of the Protocol type being "UDP" or "TCP" because the other rule we are going to edit will have the other type from what you see here. Both of the rules will not be the same for their protocol type (i.e. both are UDP or TCP).
Select the dropdown box that is to the right of "Local Port:" and select "Specific Ports". Now the text box right below should become un-greyed and type in "11100" or whatever number you chose when you were portforwarding the router!
Finally make sure that the dropbox to the right of "Remote port:" says "All Ports" and click "Apply" at the bottom right of the window.
If you want to double check to make sure you changed everything correctly, the picture below shows what one of the two should look like!
Great, you have edited the rule to allow a program to use the specific port 11100 or whatever number you choose to open! Now you will have to repeat this process for the other rule, but make sure, like I stated above, that the next rule has the other protocol type compared to the first rule. (i.e. if the first one was TCP, the next should say UDP or vice versa).
Congrats you now finished opening a single port on your computer with windows firewall! Start the game (or use the port opening software) to see if it states your port is open!
Step 4: Hosting Your Risk of Rain Server!
Start the game as you would normally and select "Start Online Co-op"
You should see host and join options. Write down the IP under "Host Game", Click on the "Host Game" header and you should see a lobby load.***
This is where you invite your friends! Note the IP you will give them will depend on where your friends are going to join from.
If they are on the same network as you (ie: your friend comes over to your house) you will give them your "LOCAL" IP. This is the same ip you set for your static local IP and set your router to forward that port!
If your friend is remotely going to connect to your server, you will give them your "EXTERNAL" IP. This IP should be the IP shown ingame before you started your lobby.
***NOTE: Currently the game is not showing the External IP and/or stating your port is "(Closed)". This is a bug, so if you don't know your external IP go to Google and search "What is my IP" and google will tell you your External IP Address. As for the "(Closed)" bug, it is just visual. Go on and host the server and see if it works anyways!
Troubleshooting Possible Issues
If you still can't get the port open after following the steps above, see if one of these solutions below fix the problem
The port states it is "open" yet when people try to join they get a response saying you were "disconnected"
If you skipped the opening a firewall port, try doing that using "Method 1" above.
Otherwise double-check to make sure all the settings are correct. Also If you did method 2, try method 1.
Trying to get a person to join locally on the same network as me (LAN)
If you are trying to join locally, using your external IP (that the game gives you) is probably not going to work. Rather give your friend your local IP (the static IP we created above) and that should work.
Some games let you use 127.0.0.1 or "localhost" which is a loopback address. The local IP should work, but this might work as alternatives.
Dissconnection ERROR - Troubleshooting the Firewall
If you get a dissconnection error when you try to join, it means that it found the server, but it was dissconnected imediantly. This is probably a cause of the firewall. Look back and make sure you created your rules correctly! (and if you did method 2, try method 1!)
NOTE: Even if you turn off your firewall it could still be blocking ports! (varys between person)
Unable to connect ERROR - Troubleshooting the Router
Getting a "unable to connect" error means that your port is not beeing seen. Most likely this could be a router issue.
Make sure to check and recheck that your static IP matches the IP you set the port to be opened on the router!
(Again there are differences between routers) Make sure the router's port is actually being forwarded from within the settings (something like a tick (check mark) or a dropbox that says "enable/disable" that states to apply or enable the ports).
Other Misc Things to Check
Do you have any antivirus software? If so (and likely you do), check and make sure it is not also acting like a mini firewall ALSO blocking your ports. Search online to see if your antivirus does block ports and if it does search "<name of your antivirus> port open" and follow the steps there to open them. Some antivirus software does not interfear like I personally use "Microfsoft Security Essentials" and it does not interfear with hosting.
Are there programs running that could alter IP settings? Hamachi is a program that can really create problems when you try to correctly forward/open ports. Make sure programs like this are not running (even in the background)! Also, when I personally tried hamachi (for a friend), it created havoc on my hosting abillities and as such I could not host correctly till I uninstalled the program.
Change the port number you want to open. Sometimes ISP (your internet provider) close certain ports on their end, not allowing traffic for those specific ports to go to your computer.
If you are 100% sure you have done everything correct in the guide and have checked troubleshooting methods with no success, there is the possiblity your ISP is not allowing you to forward your ports (read a little bit more information in "Warnings and Risks" section). If this is the case, contact your ISP and see if they can make changes to allow you to forward ports (make sure to note you are doing this privately because they might think you are going to create a lot of traffic)