Just to make everything clear here…
- This has nothing to do with your TS3 client.
- This is also not related with your permission system.
Hosting or Proxy IP addresses are mostly having the same problem, that there’s no country flag resolved for some reasons. Mostly, because the (proxy) server isn’t really sorted out because of this location, or the current datacenter. This happens many times when a client connects through another server (proxy) or when you directly connect with an localhost to this server.
To clarify your problem… you cannot directly disable the country flag on every client on your server. You need to force your user/client to connect during an proxy which is NOT sorted out, so where no flag is known to the client.
This is possible with an pre-routing.
Here below, I’ve made an little overview, how this basic’s work.
iptables -t nat -A PREROUTING -p udp --dport <port> -j DNAT --to-destination <server-IP>:<port>
iptables -t nat -A PREROUTING -p tcp --dport 30033 -j DNAT --to-destination <server-IP>:30033
iptables -t nat -A POSTROUTING -j MASQUERADE
You can basically pre-route everything via Linux IPtables from your main server, to an proxy server which should be leading back to the main-server, which is basically use as your TeamSpeak server.
BUT… You need to deal with it, that the (client-remote) IP addresses from your clients (which joined through the proxy) will get changed automatically to your (proxy) server IP address.
And note, that only IP2Location is able to change location’s from any IP addresses, so basically to change flags to other countries. Also, it’s because of the poor IP2Location Database, that these flags are still hidden, because they don’t really registed hosting or proxy IP addresses into the client section, for some reasons. That’s also, why I’d wanna personally to get rid of IP2Location, and switch to MaxMind which is a better software & GEO location tool. There’s also a good forum thread about it.
Well I hope this helped you out, for quite a while…