mirror of
https://github.com/GameServerManagers/LinuxGSM.git
synced 2026-04-25 06:05:57 +03:00
[GH-ISSUE #1705] Host_Error: WatchdogHandler called - server exiting, but not restarting #1329
Labels
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
No due date set.
Dependencies
No dependencies set.
Reference
starred/LinuxGSM#1329
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @diamondburned on GitHub (Nov 22, 2017).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/1705
From script log: https://pastebin.com/Me7bbfuC
From server: https://pastebin.com/NzsmN2sg
From log file: https://pastebin.com/294fmvgF
In the file:
The server, however, didn't restart. What can I do to make it autorestart?
@UltimateByte commented on GitHub (Nov 22, 2017):
I have no idea what you are talking about (no context at all... come on), but you for sure didn't follow the support guidance.
https://github.com/GameServerManagers/LinuxGSM/wiki/Support
@MarkTwoFive commented on GitHub (Nov 23, 2017):
You may use server monitoring for that. But I don't think LGSM has a feature for automatic restarts upon crashes.
You better fix the cause of the issue not the symptom.
@diamondburned commented on GitHub (Nov 23, 2017):
I really can't, the nature of the gamemode is already bad enough. Although my server can handle it, sometimes it would just hit the 2048 edicts limit (Team Fortress 2 btw, oops), and the server dies. Tried a few edicts restarting plugin, but it didn't work.
P/S: I have server monitoring on a cronjob right now, it checks every 2 minutes(./tf2server monitor). Will monitoring autorestart?
@diamondburned commented on GitHub (Nov 23, 2017):
Update1: Problem still isn't fixed, even with
./tf2server monitorinside crontab, running every 2 minutesWatchDog! Server took too long to process (probably infinite loop).
Host_Error: WatchdogHandler called - server exiting.
Server monitor fails to start the server
@Nealcaffrey2016 commented on GitHub (Nov 24, 2017):
It seems that the server program code has a bug,which cause you change to much will cause a element excessive the size signed to it,cause a memory error.
Sent from Neal Caffrey
On 11/23/2017 06:44, diamondburned wrote:
From script log:
Nov 22 11:00:03.323 tf2server: CHECK: INFO: Using anonymous Steam login Nov 22 11:00:04.337 tf2server: UPDATE: INFO: Checking for update: Server logs Nov 22 11:00:06.400 tf2server: UPDATE: INFO: Checking for update: SteamCMD Nov 22 11:00:13.808 tf2server: UPDATE: PASS: Checking for update: SteamCMD Nov 22 11:00:14.810 tf2server: UPDATE: PASS: Checking for update: SteamCMD: No update available Nov 22 11:00:14.811 tf2server: UPDATE: INFO: Current build: 2294876 Nov 22 11:00:14.812 tf2server: UPDATE: INFO: Available build: 2294876 Nov 22 11:00:14.825 tf2server: UPDATE: PASS: command_update.sh exiting with code: 0 Nov 22 11:30:04.193 tf2server: CHECK: INFO: Using anonymous Steam login Nov 22 11:30:05.214 tf2server: UPDATE: INFO: Checking for update: Server logs Nov 22 11:30:07.368 tf2server: UPDATE: INFO: Checking for update: SteamCMD Nov 22 11:30:14.598 tf2server: UPDATE: PASS: Checking for update: SteamCMD Nov 22 11:30:15.610 tf2server: UPDATE: PASS: Checking for update: SteamCMD: No update available Nov 22 11:30:15.611 tf2server: UPDATE: INFO: Current build: 2294876 Nov 22 11:30:15.612 tf2server: UPDATE: INFO: Available build: 2294876 Nov 22 11:30:15.618 tf2server: UPDATE: PASS: command_update.sh exiting with code: 0
From server:
L 11/22/2017 - 11:04:21: "Richardo<133><[U:1:377627119]><>" entered the game L 11/22/2017 - 11:04:24: "george.maddox.whitlock<129><[U:1:455777988]>" changed role to "soldier" L 11/22/2017 - 11:04:36: "Richardo<133><[U:1:377627119]>" joined team "Red" L 11/22/2017 - 11:04:38: "Richardo<133><[U:1:377627119]>" changed role to "scout" L 11/22/2017 - 11:04:58: "Richardo<133><[U:1:377627119]>" changed role to "heavyweapons" L 11/22/2017 - 11:05:14: "Richardo<133><[U:1:377627119]>" changed role to "pyro" L 11/22/2017 - 11:05:14: "Richardo<133><[U:1:377627119]>" committed suicide with "world" (attacker_position "-439 12174 256") L 11/22/2017 - 11:05:15: "Richardo<133><[U:1:377627119]>" changed role to "heavyweapons" L 11/22/2017 - 11:05:27: "Richardo<133><[U:1:377627119]>" changed role to "soldier" L 11/22/2017 - 11:05:44: "Richardo<133><[U:1:377627119]>" triggered "flagevent" (event "defended") (p
From log file:
`*** ERROR *** Excessive sizelevel (1073) for element
*** ERROR *** Excessive sizelevel (1074) for element
*** ERROR *** Excessive sizelevel (1075) for element
*** ERROR *** Excessive sizelevel (1076) for element
*** ERROR *** Excessive sizelevel (1077) for element
*** ERROR *** Excessive sizelevel (1078) for element
*** ERROR *** Excessive sizelevel (1079) for element
*** ERROR *** Excessive sizelevel (1080) for element
*** ERROR *** Excessive sizelevel (1081) for element
*** ERROR *** Excessive sizelevel (1082) for element
*** ERROR *** Excessive sizelevel (1083) for element
*** ERROR *** Excessive sizelevel (1084) for element
*** ERROR *** Excessive sizelevel (1085) for element
*** ERROR *** Excessive sizelevel (1086) for element
*** ERROR *** Excessive sizelevel (1087) for element
*** ERROR *** Excessive sizelevel (1088) for element
*** ERROR *** Excessive sizelevel (1089) for element
*** ERROR *** Excessive sizelevel (1090) for element
*** ERROR *** Excessive sizelevel (1091) for element
*** ERROR *** Excessive sizelevel (1092) for element
*** ERROR *** Excessive sizelevel (1093) for element
*** ERROR *** Excessive sizelevel (1094) for element
*** ERROR *** Excessive sizelevel (1095) for element
*** ERROR *** Excessive sizelevel (1096) for element
*** ERROR *** Excessive sizelevel (1097) for element
Ignoring unreasonable position (-183.861755,13073.099609,-16385.429688) from vphysics! (entity tf_dropped_weapon)
*** ERROR *** Excessive sizelevel (1098) for element
Ignoring unreasonable position (-190.611633,13078.674805,-26354.783203) from vphysics! (entity tf_dropped_weapon)
L 11/22/2017 - 11:06:01: "george.maddox.whitlock<129><[U:1:455777988]>" committed suicide with "world" (attacker_position "7 -11763 4")
Ignoring unreasonable position (-191.517807,13079.423828,-36324.328125) from vphysics! (entity tf_dropped_weapon)
*** ERROR *** Excessive sizelevel (1099) for element
Ignoring unreasonable position (-191.639450,13079.524414,-46293.968750) from vphysics! (entity tf_dropped_weapon)
Ignoring unreasonable position (-191.655792,13079.537109,-56263.687500) from vphysics! (entity tf_dropped_weapon)
L 11/22/2017 - 11:06:14: "george.maddox.whitlock<129><[U:1:455777988]>" committed suicide with "dumpster_device" (attacker_position "-293 -11318 -280")
WatchDog! Server took too long to process (probably infinite loop).
Host_Error: WatchdogHandler called - server exiting.
status
^CWed Nov 22 14:31:43 PST 2017: Server Quit
`
Note that I have to Ctrl+C to stop it. What can I do to make it autorestart?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
@sdplisskenbr commented on GitHub (Jul 22, 2018):
I had the same problem with my Codename CURE server. My solution is a script to restart the server everytime that appears the message "Host_Error: WatchdogHandler called - server exiting.". In my server I use crontab, gnu screen, a script for each CURE server, a script to create a gnu screen session, a script to read log from servers and restart the server when catch the "WatchdogHandler called".
My scripts (I edited my scripts for secure issue):
Script iniscript.sh to start screen:
==========================================================
#!/bin/sh
screen -d -m -S ayyserver1 -t htop
screen -S ayyserver1 -p 0 -X stuff 'htop\r'
screen -S ayyserver1 -X screen -t legacy1
screen -S ayyserver1 -p 1 -X stuff '~ /steamcmd/legacy1.sh\r'
screen -S ayyserver1 -X screen -t legacy2
screen -S ayyserver1 -p 2 -X stuff '~ /steamcmd/legacy2.sh\r'
screen -X -p 1 log on
screen -X -p 2 log on
==========================================================
'~ /steamcmd/legacy1.sh\r' = there is no space between ~ and /
"~" = /home/username
"screen -X -p 1 log on" = enable logging and create the file screenlog.1
"screen -X -p 2 log on" = enable logging and create the file screenlog.2
Script "watchdog.sh" to read the screenlog.* files (the script read each line of screenlog files and search for the line "Host_Error: WatchdogHandler called - server exiting."):
==========================================================
#!/bin/bash
serv=(
legacy1.sh
legacy2.sh
)
pathserv="home/username/steamcmd/"
sl="screenlog."
text="Host_Error: WatchdogHandler called - server exiting."$'\r'
function readlog(){
while IFS='' read -r line || -n "$line" ; do
if [ "$line" == "$text" ]; then
screen -S ayyserver1 -p "$[i+1]" -X stuff ^C
sleep 5
screen -S ayyserver1 -p "$[i+1]" -X stuff "$pathserv""${serv[i]}"'\r'
echo "${serv[i]}"' - '
date>> ~/steamcmd/LogDog.txtfi
done < "$pathserv""$sl""$[i+1]"
rm "$pathserv""$sl""$[i+1]"
}
for ((i=0;i<${#serv[@]};i++))
do
readlog
done
==========================================================
dateis between "grave accent" (ascii 96)"screen -S ayyserver1 -p "$[i+1]" -X stuff ^C" = Ctrl+c command
"screen -S ayyserver1 -p "$[i+1]" -X stuff "$pathserv""${serv[i]}"'\r'" = script to start the server
Note: Some times the "Ctrl+c command" is successful and the "script to start the server" command fails. I think it happens because there is a delay after "Ctrl+c command" to quit server. A solution is the command "sleep 5" to wait 5 seconds before the "script to start the server" command.
echo "${serv[i]}"' - '
date>> ~/steamcmd/LogDog.txt = create a log everytime the server restartcrontab -e:
==========================================================
@reboot ~/steamcmd/iniscript.sh
0-59/5 * * * * ~/steamcmd/watchdog.sh
==========================================================
"0-59/5 * * * * ~/steamcmd/watchdog.sh" = execute the script every 5 minutes
legacy1.sh is something like:
==========================================================
#!/bin/sh
~/steamcmd/cure/srcds_run -game cure -console +map cbe_office_legacy +exec server1.cfg -autoupdate -steam_dir ~/steamcmd -steamcmd_script
==========================================================
CURE - Dedicated server setup guide (by Hoobalugalar_X):
https://steamcommunity.com/sharedfiles/filedetails/?id=490472068
@sdplisskenbr commented on GitHub (Oct 1, 2018):
My new script to my server (startserver.sh)
Start server:
./startserver.sh 1
Watchdog only:
./startserver.sh
*
dateis between "grave accent" (ascii 96)==============================================================
#!/bin/bash
serv=(
legacy1.sh
legacy2.sh
standard1.sh
standard2.sh
short1.sh
short2.sh
survival1.sh
survival2.sh
)
sn="ayyserver1"
dirserv=$HOME'/steamcmd/'
sl="$dirserv""screenlog."
text="Host_Error: WatchdogHandler called - server exiting."$'\r'
function readlog(){
while IFS='' read -r line || -n "$line" ; do
if [ "$line" == "$text" ]; then
screen -S "$sn" -p "$[i+1]" -X stuff ^C
sleep 5
screen -S "$sn" -p "$[i+1]" -X stuff "$dirserv""${serv[i]}"'\r'
echo "${serv[i]}"' - '
date>> "$dirserv"/LogDog.txtfi
done < "$sl""$[i+1]"
rm "$sl""$[i+1]"
}
function startscreen(){
screen -S "$sn" -X screen -t "${serv[i]}"
screen -S "$sn" -p "$[i+1]" -X stuff "$dirserv""${serv[i]}"'\r'
screen -X -p "$[i+1]" log on
sleep 1
}
if [ "$1" == 1 ]; then
screen -d -m -S "$sn" -t htop
screen -S "$sn" -p 0 -X stuff 'htop\r'
fi
for ((i=0;i<${#serv[@]};i++))
do
if [ "$1" == 1 ];
then startscreen
else readlog
fi
done
@diamondburned commented on GitHub (Oct 5, 2018):
Can you add in a diff file instead?
@lock[bot] commented on GitHub (Oct 5, 2019):
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.