If you have enough tracks in your library-correctly id-tagged, it is easy to follow the rules. The only thing Libretime dont do, is writing a report of played songs, but a thrid party software can do that.
If you want geo-lock on Icecast, you can f.ex use the config ex here: https://gist.github.com/anthonyeden/7cc90e4d9fed0a84701d6f36ffb43d05.
Same with Shoutcast…you can log in to shoutcast DNAS panel and block ranges of ip-adresses.
Another way around is to buy a small shoutcast package at a stream-provider who offers those things, then use Libretime and relay the Icecast stream to the Shoutcast-server.
Just some ways to go around 