There are 3 basic things you need to make port forwarding work.
1. Most important is you need a actual public IP address assigned to your router....which you say you have.\
2. You need to have the port forwarding rules set correctly.
3. The application program actually has to be running on the port you think it is and respond.
I would always start with the DMZ option since it is not as confusing to configure on some router. I would remove any port forwarding rules and only use DMZ until you get things working.
Try to test the server by access the application from a local lan device using the local lan IP. This will confirm that the basic functioning of the application is correct.
When you think you have all these 3 basic things then it is going to be something harder. What you need to do is somehow test each part. What you can likely do it put a firewall rule in the router that blocks the traffic. This is purely to see if you get log messages saying it was blocked. You would then know at least the traffic is getting to your house.
Next you need to see if the server is receiving the traffic from the router on the correct ports and if it does does the server respond. Although it can be a massive amount of data I would use wireshark on the server. You want to try to not run anything other than the server program to avoid extra network traffic. Wireshark of course has the ability to filter only traffic you want but if you have not used it before it tends to be easier to just capture everything and manually look though the capture.
What you want to see is incoming traffic from some ip on the internet to your pc on the port your server is on. You then hopefully see the response the server sends.