Is there a way to make Teamspeak client not connect from the Public IP?

I wanted to force people connecting into the DNS servers or SRV entries I made, but because apparently it’s easier for them to connect using IP Address, It’s not really a safe solution connecting using IP, so maybe there’s a way to deny IP address and accept DNS requests?

There is basically no real way, you can only ask them to use the domain etc. Otherwise you can turn off the IP so that only connections via internal IP like 10.0.0.0 are possible through a proxy, and that way only via domain you can connect. But this is also complicated and does not secure 100% IP-only use. And another disadvantage is that the IPs of the users are then also the “proxy” IPs, because unfortunately you cannot properly forward the real IPs so that they are displayed correctly. You would then have to create an administration script / bot to handle IP bans etc. That is also one of the points that bothers me with the official community servers in TeamSpeak, that the IPs are all the proxy IPs of the users.

So in the end effect there is not really a true benefit, not even really as anti DDoS protection, unless you use at least 2 but better 3 - 4 proxies with round robin. But that is very server-resource intensive because you again need many scripts and a global management for IP bans and IP mapping. Simply finding a better anti DDoS provider is easier.

But to come back to your question: you can also buy a /24 IP network and go to a provider where you can bring your own IPs. Then you will always have the same IP in case you are worried that it might change someday and users who connect via IP only cannot reach the server anymore. So the best method is simply USE OUR DOMAIN TO CONNECT, actively promote it, and never show the IP anywhere. Later when the server grows, you can still for 1–2 months keep the old server online with full information that the server has moved and the new address is your domain, for example ts.domain.com. That way users who connected only by IP like 123.123.123.123:9987 are forced to use the domain.