[GH-ISSUE #3619] [BUG] sdtd monitor query fails #2413

Closed
opened 2026-02-27 03:02:47 +03:00 by kerem · 8 comments
Owner

Originally created by @PointWolf-Dev on GitHub (Oct 14, 2021).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3619

I## Basic info

  • Distro: [Distro: CentOS Linux 8]
  • Game: [SDTD]
  • Command: [Monitor]
  • LinuxGSM version: [ v21.3.2]

Further Information

Unable to run the monitor command as it shows my the query as failed:
[sdtdserver@games ~]$ ./sdtdserver monitor
[ OK ] Monitoring sdtdserver: Checking session: OK
[ .... ] Monitoring sdtdserver: Querying port: gsquery: 95.216.16.217:26900 : 0/[ FAIL ] Monitoring sdtdserver: Querying port: gsquery: 95.216.16.217:26900 : 0/1: FAIL

To Reproduce

I am unsure as this is a fresh install on a dedicated server.

Server Resource

CPU
Model: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Cores: 8
Frequency: 3803.346MHz
Avg Load: 0.24, 0.30, 0.33

Memory
Mem: total used free cached available
Physical: 32GB 14GB 18GB 13GB 18GB
Swap: 16GB 0B 16GB

Storage
Filesystem: /dev/md2
Total: 1.8T
Used: 17G
Available: 1.7T

Network
IP: 0.0.0.0
Internet IP: 95.216.16.217

Game Server Resource Usage

CPU Used: 31.6%
Mem Used: 42% 13395MB

Storage
Total: 16G
Serverfiles: 15G

7 Days To Die Server Details

Server name: NuperSatural - WoW - The Great Plague 10k
App ID: 294420
Server IP: 0.0.0.0:26900
Internet IP: 95.216.16.217:26900
Server password: NOT SET
Maxplayers: 25
Game mode: GameModeSurvival
Game world: The.Great.Plague.10k
Master server: not listed
Status: STARTED

Originally created by @PointWolf-Dev on GitHub (Oct 14, 2021). Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/3619 I## Basic info * **Distro:** [Distro: CentOS Linux 8] * **Game:** [SDTD] * **Command:** [Monitor] * **LinuxGSM version:** [ v21.3.2] ## Further Information Unable to run the monitor command as it shows my the query as failed: [sdtdserver@games ~]$ ./sdtdserver monitor [ OK ] Monitoring sdtdserver: Checking session: OK [ .... ] Monitoring sdtdserver: Querying port: gsquery: 95.216.16.217:26900 : 0/[ FAIL ] Monitoring sdtdserver: Querying port: gsquery: 95.216.16.217:26900 : 0/1: FAIL ## To Reproduce I am unsure as this is a fresh install on a dedicated server. Server Resource ================================================================================ CPU Model: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz Cores: 8 Frequency: 3803.346MHz Avg Load: 0.24, 0.30, 0.33 Memory Mem: total used free cached available Physical: 32GB 14GB 18GB 13GB 18GB Swap: 16GB 0B 16GB Storage Filesystem: /dev/md2 Total: 1.8T Used: 17G Available: 1.7T Network IP: 0.0.0.0 Internet IP: 95.216.16.217 Game Server Resource Usage ================================================================================ CPU Used: 31.6% Mem Used: 42% 13395MB Storage Total: 16G Serverfiles: 15G 7 Days To Die Server Details ================================================================================ Server name: NuperSatural - WoW - The Great Plague 10k App ID: 294420 Server IP: 0.0.0.0:26900 Internet IP: 95.216.16.217:26900 Server password: NOT SET Maxplayers: 25 Game mode: GameModeSurvival Game world: The.Great.Plague.10k Master server: not listed Status: STARTED
Author
Owner

@dgibbs64 commented on GitHub (Oct 24, 2021):

[  OK  ] Monitoring sdtdserver: Checking session: OK
[  OK  ] Monitoring sdtdserver: Querying port: gsquery: xxx.xxx.242.198:26900 : 0/1: OK

Just checked and I can query OK. Unsure what is causing the issue

<!-- gh-comment-id:950403378 --> @dgibbs64 commented on GitHub (Oct 24, 2021): ```[lgsm@li1527-198 sdtdserver]$ ./sdtdserver m [ OK ] Monitoring sdtdserver: Checking session: OK [ OK ] Monitoring sdtdserver: Querying port: gsquery: xxx.xxx.242.198:26900 : 0/1: OK ``` Just checked and I can query OK. Unsure what is causing the issue
Author
Owner

@dgibbs64 commented on GitHub (Oct 28, 2021):

@johnoclockdk query seems to fail if the server has been running for a while. I am unsure what we can do to address this

<!-- gh-comment-id:953733729 --> @dgibbs64 commented on GitHub (Oct 28, 2021): @johnoclockdk query seems to fail if the server has been running for a while. I am unsure what we can do to address this
Author
Owner

@johnoclockdk commented on GitHub (Oct 28, 2021):

@johnoclockdk query seems to fail if the server has been running for a while. I am unsure what we can do to address this

maybe a leak with 7 Days To Die is it a old game

<!-- gh-comment-id:953734700 --> @johnoclockdk commented on GitHub (Oct 28, 2021): > @johnoclockdk query seems to fail if the server has been running for a while. I am unsure what we can do to address this maybe a leak with 7 Days To Die is it a old game
Author
Owner

@dgibbs64 commented on GitHub (Oct 28, 2021):

It might be that the bug has to be reported to the game developers. The only current workaround maybe to disable querying.

<!-- gh-comment-id:953736142 --> @dgibbs64 commented on GitHub (Oct 28, 2021): It might be that the bug has to be reported to the game developers. The only current workaround maybe to disable querying.
Author
Owner

@parasyte commented on GitHub (Jan 26, 2022):

I just setup a monitor because the game crashed, and I want to be notified the next time it happens. But the monitor cannot connect to the query port because the server does not listen on the port at all:

Useful port diagnostic command:
ss -tuplwn | grep 7DaysToDieServe

DESCRIPTION  PORT   PROTOCOL  LISTEN
Game         26900  udp       0
Game+2       26902  udp       2
Query        26900  tcp       0
Web Admin    8080   tcp       0
Telnet       8081   tcp       1
$ ss -tuplwn | grep 7DaysToDieServe
udp    UNCONN  0       0                   0.0.0.0:26902          0.0.0.0:*      users:(("7DaysToDieServe",pid=142064,fd=27))
udp    UNCONN  0       0                      [::]:26902             [::]:*      users:(("7DaysToDieServe",pid=142064,fd=31))
tcp    LISTEN  0       4096              127.0.0.1:8081           0.0.0.0:*      users:(("7DaysToDieServe",pid=142064,fd=23))

This might be a bug introduced by the game developers, but this definitely has nothing to do with how long the server has been running.

<!-- gh-comment-id:1021812415 --> @parasyte commented on GitHub (Jan 26, 2022): I just setup a monitor because the game crashed, and I want to be notified the next time it happens. But the monitor cannot connect to the query port because the server does not listen on the port at all: ``` Useful port diagnostic command: ss -tuplwn | grep 7DaysToDieServe DESCRIPTION PORT PROTOCOL LISTEN Game 26900 udp 0 Game+2 26902 udp 2 Query 26900 tcp 0 Web Admin 8080 tcp 0 Telnet 8081 tcp 1 ``` ``` $ ss -tuplwn | grep 7DaysToDieServe udp UNCONN 0 0 0.0.0.0:26902 0.0.0.0:* users:(("7DaysToDieServe",pid=142064,fd=27)) udp UNCONN 0 0 [::]:26902 [::]:* users:(("7DaysToDieServe",pid=142064,fd=31)) tcp LISTEN 0 4096 127.0.0.1:8081 0.0.0.0:* users:(("7DaysToDieServe",pid=142064,fd=23)) ``` This might be a bug introduced by the game developers, but this definitely has nothing to do with how long the server has been running.
Author
Owner

@parasyte commented on GitHub (Jan 26, 2022):

I was able to fix the issue with the listening port. In my case, the game could not find steamclient.so. Updating the game files fixed it. Probably because the next server start fixed some hard links for steamcmd.

DESCRIPTION  PORT   PROTOCOL  LISTEN
Game         26900  udp       1
Game+2       26902  udp       2
Query        26900  tcp       1
Web Admin    8080   tcp       0
Telnet       8081   tcp       1
$ ss -tuplwn | grep 7DaysToDieServe
udp    UNCONN  768     0                   0.0.0.0:26900          0.0.0.0:*      users:(("7DaysToDieServe",pid=160356,fd=208))
udp    UNCONN  0       0                   0.0.0.0:26902          0.0.0.0:*      users:(("7DaysToDieServe",pid=160356,fd=27))
udp    UNCONN  0       0                      [::]:26902             [::]:*      users:(("7DaysToDieServe",pid=160356,fd=31))
tcp    LISTEN  0       4096              127.0.0.1:8081           0.0.0.0:*      users:(("7DaysToDieServe",pid=160356,fd=23))
tcp    LISTEN  0       4096                0.0.0.0:26900          0.0.0.0:*      users:(("7DaysToDieServe",pid=160356,fd=214))

Even with the query port listening, monitor never gets a response from the server. I confirmed that no packets are sent back with tcpdump. I also tried sending the protocol-valve stuff with netcat and socat, and the server just will not respond at all to the query.

<!-- gh-comment-id:1021859605 --> @parasyte commented on GitHub (Jan 26, 2022): I was able to fix the issue with the listening port. In my case, the game could not find `steamclient.so`. Updating the game files fixed it. Probably because the next server start fixed some hard links for steamcmd. ``` DESCRIPTION PORT PROTOCOL LISTEN Game 26900 udp 1 Game+2 26902 udp 2 Query 26900 tcp 1 Web Admin 8080 tcp 0 Telnet 8081 tcp 1 ``` ``` $ ss -tuplwn | grep 7DaysToDieServe udp UNCONN 768 0 0.0.0.0:26900 0.0.0.0:* users:(("7DaysToDieServe",pid=160356,fd=208)) udp UNCONN 0 0 0.0.0.0:26902 0.0.0.0:* users:(("7DaysToDieServe",pid=160356,fd=27)) udp UNCONN 0 0 [::]:26902 [::]:* users:(("7DaysToDieServe",pid=160356,fd=31)) tcp LISTEN 0 4096 127.0.0.1:8081 0.0.0.0:* users:(("7DaysToDieServe",pid=160356,fd=23)) tcp LISTEN 0 4096 0.0.0.0:26900 0.0.0.0:* users:(("7DaysToDieServe",pid=160356,fd=214)) ``` Even with the query port listening, `monitor` never gets a response from the server. I confirmed that no packets are sent back with `tcpdump`. I also tried sending the `protocol-valve` stuff with netcat and socat, and the server just will not respond at all to the query.
Author
Owner

@parasyte commented on GitHub (Jan 26, 2022):

Whew! I got it working. It looks like 7 Days to Die no longer supports the UDP protocol-valve for gamedig or gsquery, so you have to switch the monitor mode to TCP to get it working.

E.g. I added this line to my common.cfg:

querymode="5"

And now it's all good:

$ ./sdtdserver monitor                                        
[  OK  ] Monitoring sdtdserver: Checking session: OK                              
[  OK  ] Monitoring sdtdserver: Querying port: tcp: 0.0.0.0:26900 : 0/1: OK 

This should really be changed in the default config: github.com/GameServerManagers/LinuxGSM@fdfeae1fcd/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg (L137-L144)

<!-- gh-comment-id:1021876912 --> @parasyte commented on GitHub (Jan 26, 2022): Whew! I got it working. It looks like 7 Days to Die no longer supports the UDP `protocol-valve` for gamedig or gsquery, so you have to switch the monitor mode to TCP to get it working. E.g. I added this line to my `common.cfg`: ```ini querymode="5" ``` And now it's all good: ``` $ ./sdtdserver monitor [ OK ] Monitoring sdtdserver: Checking session: OK [ OK ] Monitoring sdtdserver: Querying port: tcp: 0.0.0.0:26900 : 0/1: OK ``` This should really be changed in the default config: https://github.com/GameServerManagers/LinuxGSM/blob/fdfeae1fcdccb89f55e41ca33e964bbcb035d2ce/lgsm/config-default/config-lgsm/sdtdserver/_default.cfg#L137-L144
Author
Owner

@github-actions[bot] commented on GitHub (Jun 3, 2023):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:1574454833 --> @github-actions[bot] commented on GitHub (Jun 3, 2023): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
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#2413
No description provided.