[GH-ISSUE #1351] include tsdns in ts3 startscript #1045

Open
opened 2026-02-27 02:55:01 +03:00 by kerem · 7 comments
Owner

Originally created by @Tealk on GitHub (Mar 3, 2017).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1351

Hi,
is it possible that you include the tsdns in your ts3 startscript?
Something like start tsdns bevor ts3

Thanks :D

Originally created by @Tealk on GitHub (Mar 3, 2017). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1351 Hi, is it possible that you include the tsdns in your ts3 startscript? Something like start tsdns bevor ts3 Thanks :D
Author
Owner

@UltimateByte commented on GitHub (Mar 3, 2017):

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?

<!-- gh-comment-id:284014446 --> @UltimateByte commented on GitHub (Mar 3, 2017): 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?
Author
Owner

@Tealk commented on GitHub (Mar 3, 2017):

A Variable to start tsdns bevor ts3 starts
tsdns=true/false

<!-- gh-comment-id:284103961 --> @Tealk commented on GitHub (Mar 3, 2017): A Variable to start tsdns bevor ts3 starts tsdns=true/false
Author
Owner

@xopez commented on GitHub (Aug 25, 2017):

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.

<!-- gh-comment-id:324837263 --> @xopez commented on GitHub (Aug 25, 2017): 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.
Author
Owner

@MarkTwoFive commented on GitHub (Aug 25, 2017):

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.

<!-- gh-comment-id:324873156 --> @MarkTwoFive commented on GitHub (Aug 25, 2017): 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.
Author
Owner

@xopez commented on GitHub (Aug 25, 2017):

i tried the kill command out. And started my tsdnsserver manually without any problems.

<!-- gh-comment-id:324878559 --> @xopez commented on GitHub (Aug 25, 2017): i tried the kill command out. And started my tsdnsserver manually without any problems.
Author
Owner

@MarkTwoFive commented on GitHub (Aug 25, 2017):

@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.

<!-- gh-comment-id:324882550 --> @MarkTwoFive commented on GitHub (Aug 25, 2017): @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.
Author
Owner

@Toutzn commented on GitHub (Dec 28, 2021):

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

<!-- gh-comment-id:1002056262 --> @Toutzn commented on GitHub (Dec 28, 2021): 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
Sign in to join this conversation.
No labels
Atomic
Epic
cannot reproduce
command: backup
command: console
command: debug
command: details
command: fast-dl
command: install
command: mods
command: monitor
command: post-details
command: restart
command: send
command: start
command: stop
command: update
command: update-lgsm
command: validate
command: wipe
distro: AlmaLinux
distro: Arch Linux
distro: CentOS
distro: Debian
distro: Fedora
distro: RedHat
distro: Rocky Linux
distro: Ubuntu
distro: openSUSE
engine: goldsrc
engine: source
game: 7 Days to Die
game: ARMA 3
game: Ark: Survival Evolved
game: Assetto Corsa
game: Avorion
game: BATTALION: Legacy
game: Barotrauma
game: Battalion 1944
game: Battlefield 1942
game: Black Mesa: Deathmatch
game: Blade Symphony
game: Call of Duty 2
game: Call of Duty 4
game: Call of Duty: United Offensive
game: Counter-Strike 1.6
game: Counter-Strike 2
game: Counter-Strike: Global Offensive
game: Counter-Strike: Source
game: Day of Infamy
game: Dayz
game: Death Match Classic
game: Don't Starve Together
game: ET: Legacy
game: Eco
game: Factorio
game: Factorio
game: Garry's Mod
game: Half-Life
game: Hurtword
game: Insurgecy
game: Insurgecy
game: Insurgency: Sandstorm
game: Just Cause 3
game: Killing Floor
game: Killing Floor 2
game: Left 4 Dead 2
game: Minecraft
game: Minecraft Bedrock
game: Mordhau
game: Multi Theft Auto
game: Mumble
game: Natural Selection 2
game: No More Room in Hell
game: Pavlov VR
game: Post Scriptum
game: Project Zomboid
game: Quake 3
game: QuakeWorld
game: Red Orchestra: Ostfront 41-45
game: Return to Castle Wolfenstein
game: Rising World
game: Rust
game: San Andreas Multiplayer
game: Satisfactory
game: Soldat
game: Soldier of Fortune 2
game: Squad
game: Squad 44
game: Starbound
game: Stationeers
game: Sven Co-op
game: Team Fortress 2
game: Teamspeak 3
game: Teeworlds
game: Terraria
game: The Front
game: Unreal Tournament 2004
game: Unreal Tournament 3
game: Unreal Tournament 99
game: Unturned
game: Valheim
game: Wurm Unlimited
game: Zombie Master Reborn
game: label missing
good first issue
help wanted
info: alerts
info: dependency
info: docker
info: docs
info: email
info: query
info: steamcmd
info: systemd
info: tmux
info: website
info: website
needs more info
outcome: duplicate
outcome: issue resolved
outcome: issue resolved
outcome: issue unresolved
outcome: pr accepted
outcome: pr rejected
outcome: unconfirmed
outcome: wontfix
outcome: wrong forum
potential-duplicate
priority
pull-request
type: bug
type: feature
type: feature
type: feature request
type: game server request
type: refactor
waiting response
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LinuxGSM#1045
No description provided.