The upnp that terraria uses is not mono compatible. While it's possible to replace its functionality with one that is, it's not really worth the drama of implementing it. This modification will remove the NAT code from the Terraria.Netplay constructor, thus allowing mono to continue.