Alright, no worries—let me break it down step by step for you!
Quick External Test with Python 
-
Install Python (if it’s not already installed):
On Ubuntu, run this command:sudo apt update && sudo apt install python3
-
Run a Simple Web Server:
Go to any folder on your server with:cd ~
Then start a lightweight web server on port
8080
:python3 -m http.server 8080
-
Forward Port 8080 in Your Router:
Just like you forwarded port 25565 for Minecraft, forward port8080
to the same internal IP of your server. -
Ask a Friend/Tester:
Share your public IP like this:http://yourpublicip:8080
Have someone outside your network plug it into their browser. If they see a basic webpage of the folder contents, the connection is working. -
Stop the Server:
Once done, stop the web server by pressingCTRL+C
in your terminal.
If they can connect to this simple server but still can’t connect to Minecraft, it’s clearly some Minecraft-specific config headache. If they can’t connect at all, we pin it down to your network. Let me know how it goes!