I wonder if a solution to that might be to take what I will call the "counterstrike model" where the game developer doesn't necessarily have to run all of the game servers themselves.
In other words , when you run the game you get a selection of servers to play on. If you want to play on the official servers you need an account from the developer (which you get when you buy it) but if you are a pirate user you get to run on any of the unofficial servers only. Of course paying customers will be able to use either official or unofficial servers.
Simplest way would be to automatically email the customer a link with a long randomly generated number (only valid once) when they purchase, when you hit that URL it prompts you to set a username and password.
I have no idea, not an iOS developer. I assume there must be some API or email proxy that you can use to contact customers if they don't reveal the actual address.
I don't think there is a way to get any details at all about a specific purchase on the app store except when using in app purchases.
When using in app purchases you will get a receipt from apple that is signed with their certificate that you can process and send to your own servers to limit pirates from accessing the servers.
In other words , when you run the game you get a selection of servers to play on. If you want to play on the official servers you need an account from the developer (which you get when you buy it) but if you are a pirate user you get to run on any of the unofficial servers only. Of course paying customers will be able to use either official or unofficial servers.