If your server is at your home then the Static IP address has to come from your ISP, if they offer such.
First, a few definitions:
LAN - Local Area Network. This is the plug you use to connect your computer to your router
WAN - Wide Area Network. This is the plug on your router that connects to your ISP. Can be integrated in the router or a separate modem.
NAT - Network Address Translation
Public Address - An IP address that is valid on the greater internet, I.E. a leased and assigned address and not a Private Address.
Private Address - Any address that falls within 3 ranges:
Class A = 10.0.0.1 - 10.255.255.255
Class B = 172.16.0.1 - 172.31.255.255
Class C = 192.168.0.1 - 192.168.255.255
These addresses are free for anyone to use but can only exist on the LAN side of a router... They are automatically filtered and dropped if encountered on the WAN side, both incoming and outgoing.
If your server has a Private address then no external client will ever connect without additional configuration of one or both routers. WAN addresses are assigned by your ISP. Some ISPs actually assign Private addresses which is a bit more problematical but not insurmountable.
For example, Comcast assigned a Public address to the WAN side of my Cable Modem/Router, while my internal, or LAN address is Private.
Using NAT, my router wraps my Private Addressed packets into a new packet with my WAN address as the originator. This way my packets can transverse the internet. When they return the router dis-assembles the packets and restores them to their original address.
There are ways around this...
1). Plug your friend's computer in at your house (probably not feasible)
2). Set up a "Proxy" address on your router.
3). Set up a VPN (Virtual Private Network) between your router and your friend's router
4). Use a 3rd party server program... The one I've seen mentioned in these forums is something like "Hibachi", except that's a small barbeque
TL;DR: If you want to start messing around with networks be prepared to learn a lot of stuff