Okay, okay, let's try to get an overview here:
You have a bunch of weird mods that notoriously make ESF go on the fritz.
If we assume those aren't the problem, then there are a few things that have to be in place:
Whoever creates the server has to be either directed connected to, or have a network that is directly connected to the internet. For someone
outside of your local area network (LAN), you have to specify a port that the router knows should be forwarded to your internal network address.
Client [Internet] -> Router [Internet/LAN] -> Host [LAN]
Obviously the person connecting also has to be online, and they have to own ESF legally through Steam.
Procedure:
- Connect to your router from a computer. Your router has an address you can connect to through an internet browser. Often, you will find that address underneath it. Many routers require a login and or password. If you don't have these, you may have to google the make and model to find the default password, or ask whoever set it up for the password.
- Forward the port required to your internal internet address. The port required in this instance is 27015, unless I'm mistaken (there might be more, and Sky can correct me on this), and your internal internet address is easily found by doing the following: Windows Button + R to access the Run window. Once in the Run window, type "cmd" and press enter. A new, black window will pop up, and it will say "Command Prompt", and allow you to type things into it. Type in "ipconfig". There will be something called an IPV4 Address with numbers following it. That is your internal network address.
- Host your server, and make sure your friend has your internet address and not your internal network address. Skyrider's post details how to find that.
If this doesn't work, and your friend can't connect, there are a bunch of problems that we can't help you with unless you provide some details for us.