I have an older version of Libretime and have an issue whereby live DJ’s are not disconnected when their scheduled show ends.
We use Butt software.
The DJ cannot connect until their show starts but when it gets to the end (and they do not have permission on the next show), they stay connected.
When I tested this on a fresh install it seemed to work and would disconnect me, we are quite some time in with this install with a full schedule and it doesn’t disconnect anyone.
I can’t upgrade at the moment so I was wondering where do I look in the code for where it is supposed to disconnect the live DJ so I can try and debug it?
Thank you in advance.
Your best chance to find your answer is to browse the commit history of the playout/liquidsoap app in the repository. History for playout - libretime/libretime · GitHub
But you’ll be tweaking Libretime in a dangerous way, I would recommend upgrading instead of monkey patching your production setup.
We have the same issue where the current DJ is not disconnected at the end of their scheduled time. How can we force the current user to disconnect so the next DJ can take over? If the first / current DJ does not stop streaming the next scheduled DJ cannot begin their show.
LibreTime version 3.1.0
DJs live streaming using BUTT through show source
I did a hack in the end. We’re still running it and it has been working OK.
I installed “tcpkill” which is a program that you can use to disconnect TCP sessions.
I then made a Python script that runs every minute via cron. It uses the Libretime API to check the schedule and if the currentshow start time equals now, then it runs tcpkill to end the session on port 8002 like this:
subprocess.run(“timeout 1 /usr/sbin/tcpkill port 8002”, shell=True)
The effect is, if there is a new show starting, it ends the connection if there is one, allowing the new one to connect.
Hope this helps. Yes it is hacky, but it is working OK and is way better than it was before.