LinuxGSM
LinuxGSM copied to clipboard
include tsdns in ts3 startscript
Hi, is it possible that you include the tsdns in your ts3 startscript? Something like start tsdns bevor ts3
Thanks :D
Hi It has been discussed before. https://github.com/GameServerManagers/LinuxGSM/issues/281
I don't see how LGSM would help with tdns, it's more of something to be added by users. Do you have an idea of what it should actually do?
A Variable to start tsdns bevor ts3 starts tsdns=true/false
I am also for this this idea.
you must manually stop tsdnsserver to update teamspeak since the etracting also tries to overwrite the tsdns-folder.
for start you need something like this
teamspeak@mightful-noobs:~$ serverfiles/tsdns/tsdnsserver &
This way it starts at forthground, but you have to CTRL+C to get it running in background, so that you can close your ssh session.
For short the variable must vaiable, path will be always "serverfiles/tsdns/tsdnsserver", and if you set variable on true, tsdnsserver must also be killed from the tasks. port for tsdnsserver is 41144, don't know if changeable but possible kill function if on same port and only on per user.
kill $(netstat -tulpn | grep :41144 | awk '/tsdnsserver/{print $7}' | tr -d '/tsdnsserver')
This will get the pid on the port for the running user. Example output:
teamspeak@mightful-noobs:~$ ps -u teamspeak
PID TTY TIME CMD
340 pts/4 00:00:00 ps
947 ? 00:00:00 sh
950 ? 00:01:48 tsdnsserver
3551 ? 06:44:54 ts3server
32537 ? 00:00:00 systemd
32541 ? 00:00:00 (sd-pam)
32552 ? 00:00:00 sshd
32553 pts/4 00:00:00 bash
teamspeak@mightful-noobs:~$ `kill $(netstat -tulpn | grep :41144 | awk '/tsdnsserver/{print $7}' | tr -d '/tsdnsserver')`
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
teamspeak@mightful-noobs:~$ ps -u teamspeak
PID TTY TIME CMD
364 pts/4 00:00:00 ps
3551 ? 06:44:54 ts3server
32537 ? 00:00:00 systemd
32541 ? 00:00:00 (sd-pam)
32552 ? 00:00:00 sshd
32553 pts/4 00:00:00 bash
teamspeak@mightful-noobs:~$
As can see from ps command it got the PID 950 and after my command it's killed.
Having tsdns support actually sounds reasonable as it would - hopefully - decrease the amount of gaming communities giving out IP-addresses instead of a domain and abandoning their users upon address changes.
All tsdns needs is the configured tsdns_settings.ini
and a process to run on. It is nearly instantly started and stopped on ctrl+c
. Just note that killing tsdns may not free the ports instantly which may lead to "Failed to bind port" issues.
i tried the kill command out. And started my tsdnsserver manually without any problems.
@xopez Yeah most often I've also got no problems but sometimes this happened ¯\(ツ)/¯. I "fixed" this by delaying a start a few seconds after it's been stopped.
If you want to use it quickly, you can do the following workaround via systemctl:
# Contents of /etc/systemd/system/tsdns.service
[Unit]
Description=tsdns
After=network.target
[Service]
User=lgsm
Group=lgsm
Type=simple
Restart=always
WorkingDirectory=/home/lgsm/serverfiles/tsdns/
ExecStart=/home/lgsm/serverfiles/tsdns/tsdnsserver
[Install]
WantedBy=multi-user.target
save the file under /etc/systemd/system/tsdns.service
and activate it via systemctl enable tsdns.service; systemctl start tsdns
Cheers