If my server is directly on the Internet (no NAT), do I still have to forward ports?

No, you do not.  If the server has a direct, unique  public IP address, no port forwarding is required.