Hey, you're making progress! That's good because I'm mostly only going to offer encouragement!
NAT is sometimes called port forwarding, so it could be that if you're describing a setting on your Telestra. If you are talking about the TerrariaServer "automatic port forwarding" it tries to set it up via UPnP. I dont have that installed on my home router and do the manual NAT/port forwards instead.
-----------------------
While I'm at it, I can describe my own setup story for hosting a network terraria game (I use linux tools, so some should carry over to MacOS I think). Perhaps you can find something useful from it.
The first is to start the game server (TerrariaServer.bin) and verify that it binds on the correct interface.
Bash:
netstat -na | grep -i 7777
tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN
Here I note it's using the wildcard address for me, that should work in most cases. (Not sure TerrariaServer offers alternative binds actually)
Next thing I need to do is to setup my home router (as I know I dont have UPnP on it). It also has the public IP on it's status page. It calls this a "port forward", but it's also referred to as Destination NAT by some other. To cut it short; home router receives packages at <public_IP>:7777 and rewrites destination to <private_IP>:7777 (port is kept unchanged to keep it easier to maintan and use, but DNAT can change that too if necessary). Some care was taken to ensure I had static DHCP lease on, or else the port forward would suddenly be incorrect in the future.
I could then verify this was working with tcpdump and filtering on port 7777, and saw incoming packages with my friends public IP on them. Good then it should work! ...except it did not. I only got SYN packages, and sent no data back which is typical behavior when there is kernel level filtering on a linux server (causing a timeout, hang in "connecting"). This caused me quite some confusion for some 10-20 minutes or so until I found out that my distribution displayed empty (and open) iptable rulesets ~only~ because it had moved on to do everything in nftables instead. *facepalm*. So last step was to allow his IP to connect on port 7777 on my Linux server.
----
My first idea was to use a VPN instead, but I have lazy friends >_>