Okay I'm trying to host a private Minecraft server from my PC for my friends and I to play together. I have read many guides on how to set up the server. I know my external IP my router IP (which is dynamic, it assigns the connected devices different IPs each time they connect), and my PC's IP. I have managed to assign a static IP to my computer so that the router won't change it and it will always be the same. Static IP is complete, the next step is to log into my router and open port 25565 and forward it to my computer's static IP, 192.168.x.xx. I logged into my router, forwarded port 25565 to my static IP, checked the box to open the port, and all that is done right. I then downloaded the server application from Minecraft.net and ran it. I accepted the EULA agreement and made sure the used port was set to 25565 in the server's settings. I left the Sever IP space blank in the server settings, since all the guides say to leave it blank. When I have the server application running, I can connect to my own server by typing in my computer's static IP address. I got my public IP address and gave it to my friends, but when they try to connect to my server, it says the connection is refused. I had them try every IP address I could find: My private/static IP, external IP, and router IP. Nothing ever worked. They tried every address including typing the port at the end, it never worked.
Added (1). I turned off every firewall, anti-virus/malware program, and all router security features and they still could never connect. I used an online tool that would tell me if my port was actually open and every program still says port 25565 is closed. But I've done everything right, to my knowledge.
Added (2). Can someone please tell me why the port won't open, what some things are I can try to troubleshoot it, or what exactly my problem is? If it hasn't been implied, I'm on the network that I'm hosting the server from and my friends are trying to connect from outside my network.