It’s better to post text export (“/export” command in terminal), it’s more readable.
For start, your firewall doesn’t do anything useful, your rules:
#0 - Allows any input from list OurLocalLan.
#1 - Drops any input from list OurLocalLan. So it does nothing, because everything it could possibly drop will always be accepted by #0.
#2 - Allows any tcp input from anywhere to destination in list DMZ. Most likely does nothing, because if DMZ list contains DMZ addresses (11.x.x.x), none of it will end up in input chain. And it’s useless, because default action is accept, so if there are no futher rules, everything will be allowed anyway.
Since you forward all tcp to server, you’re safe here, no one can connect to e.g. WinBox from outside. But if you have remote DNS requests enabled, you are open resolver. And forwarding is unrestricted in any direction.
Next your dstnat rules:
#1 - Forwards any tcp traffic from public address to server.
#2 - Forwards udp port 28015 from public address to server. Works only from WAN.
#3 - Forwards udp port 9987 from public address to server. Works only from WAN.
#4 - Forwards tcp port 10011 from public address to server. Works only from WAN. Useless, because #1 will catch it first.
Start by removing to-ports=0-65535 from rules. I’m not sure if it can have any unexpected effects, but if you just want to keep port number, you don’t need this option at all (it’s useless also in rule #2, because it’s the same as dst-port). Rules #2-#4 have in-interface=ether1, so they will only work from outside, not if you’d connect to public address from LAN (that might not be a problem).
According to nmap test from outside, rule #1 works. Rule #4 have no chance to do anything. But both udp ports in rules #2 and #3 show as closed. If they work directly on 11.11.0.253, then check firewall there, if it allows access from anywhere. And btw, 11.x.x.x is public range, it’s wrong to use it for internal network.