I know that this seems generic, but I haven't been able to find a solution for my problem anywhere. I'll walk you through what I've done.
I wanted to set up a minecraft server for me and some of my friends to play on last week, and so after watching a couple of videos, I went ahead and set it up. The steps I took were:
Download the server.jar file
Accept the EULA
Ran it via the command line with the command from the minecraft server download site (java -Xmx1024M -Xms1024M -jar minecraft_server.1.14.4.jar nogui)
Went to my router settings (I have a netgear router, model number R6080, its a couple of years old) and set up port forwarding for TCP/UDP on port 25565 using my internal ip address.
Set up a static IP address to ensure that it did not change and break the port forwarding.
Added inbound and outbound exceptions in my firewall for port 25565.
Allowed both Java TM platform binary... apps through the firewall on both private and public networks.
Once I went through all those steps I checked it by connecting via my internal ip address and my external ip address and both worked, so I told my friend to jump on.
When he did he kept getting a network timed out error. When I connected to my phone hotspot with my laptop (to get to a different network) I was able to connect to the server, but he still was unable to connect. I also checked that the server was up on mcserverstat.us, and it was showing up as being online. After looking at things for a while we both went to bed.
I kept researching for a couple of days on google and forums like this and couldn't really find anything helpful. Yesterday I asked one of my other friends to try connecting to the server as well, and from his home network he still couldn't connect (I even completely disabled my firewall). I told him I would try to connect when I was at school today, and when I did I was able to connect to my server at my home computer. I told him I was able to connect, and so he also tried connecting (from the same school) and he was able to connect as well. I assumed everything was fixed.
Later when he tried connecting at his house he was unable to connect again, and so as an experiment he set up his own server, and I was able to connect to his without any issues.We got on the phone and talked through all of the settings and couldn't find any difference between the setup on our two computers. In that process I deleted all of the server information (.jar file, world files, log files, properties files, etc...) and reinstalled everything. We also checked the port (25565 on ipfingerprint.com and it says that it is open and the service running is minecraft.
All of the forums that I have looked at have pointing to double checking the port forwarding or the firewall, but I can't think of any issues I would be having with either of those. At this point I would try anything though.
I also don't have any mods or anything like that installed on the server. My minecraft has optifine installed, but that is all. Other than that it is the completely vanilla version of minecraft and the minecraft server.