Comments (12)
Thanks @Nuc1eoN & @CM2Walki - happy to try this!
from csgo.
volumes: csgo:
Make sure to setup the volume correctly. Or did you just forget a bit of the compose file there?
EDIT: nvm, it's a named volume. I still have to get used to that syntax.
Any noteworthy logs when it gets caught in restarts?
from csgo.
@CM2Walki I already restarted the whole container, so the logs are gone. I will followup in a few days with details!
from csgo.
Happened again:
ESC[36mcsgo_1 |ESC[0m ^CMasterRequestRestart
ESC[36mcsgo_1 |ESC[0m Your server is out of date and will be shutdown during hibernation or changelevel, whichever comes first.
ESC[36mcsgo_1 |ESC[0m Host state 5 at Tue Aug 18 00:27:16 2020
ESC[36mcsgo_1 |ESC[0m -- sv_shutdown hibernating server right now.
ESC[36mcsgo_1 |ESC[0m Host_ShutdownServer
ESC[36mcsgo_1 |ESC[0m CBaseServer::Shutdown
ESC[36mcsgo_1 |ESC[0m CSteam3Server::Shutdown
ESC[36mcsgo_1 |ESC[0m NET_SteamGameServer_Shutdown
ESC[36mcsgo_1 |ESC[0m Shutting down low level socket/threading support.
ESC[36mcsgo_1 |ESC[0m SteamGameServer_Shutdown
ESC[36mcsgo_1 |ESC[0m SV_ShutdownGameDLL
ESC[36mcsgo_1 |ESC[0m Host_Shutdown
ESC[36mcsgo_1 |ESC[0m Shutdown function NET_Shutdown() not in list!!!
ESC[36mcsgo_1 |ESC[0m NET_Shutdown
ESC[36mcsgo_1 |ESC[0m NET_CloseAllSockets
ESC[36mcsgo_1 |ESC[0m NET_SteamGameServer_Shutdown
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_132.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_132.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_129.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_129.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_114.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_114.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_113.vpk was never closed
...
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_102.vpk was never closed
ESC[36mcsgo_1 |ESC[0m File /home/steam/csgo-dedicated/csgo/pak01_102.vpk was never closed
ESC[36mcsgo_1 |ESC[0m Tue Aug 18 02:13:04 UTC 2020: Server restart in 10 seconds
ESC[36mcsgo_1 |ESC[0m Updating server using Steam.
ESC[36mcsgo_1 |ESC[0m ----------------------------
ESC[36mcsgo_1 |ESC[0m /home/steam/csgo-dedicated/srcds_run: line 301: ./steam.sh: No such file or directory
ESC[36mcsgo_1 |ESC[0m ----------------------------
ESC[36mcsgo_1 |ESC[0m Setting breakpad minidump AppID = 740
ESC[36mcsgo_1 |ESC[0m Using breakpad crash handler
ESC[36mcsgo_1 |ESC[0m Forcing breakpad minidump interfaces to load
ESC[36mcsgo_1 |ESC[0m Looking up breakpad interfaces from steamclient
ESC[36mcsgo_1 |ESC[0m Calling BreakpadMiniDumpSystemInit
ESC[36mcsgo_1 |ESC[0m [S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
ESC[36mcsgo_1 |ESC[0m [S_API] SteamAPI_Init(): Loaded '/home/steam/.steam/sdk32/steamclient.so' OK.
ESC[36mcsgo_1 |ESC[0m LD_LIBRARY_PATH=/home/steam/csgo-dedicated/bin:/home/steam/csgo-dedicated:/home/steam/csgo-dedicated/bin:
ESC[36mcsgo_1 |ESC[0m #
ESC[36mcsgo_1 |ESC[0m #Console initialized.
ESC[36mcsgo_1 |ESC[0m #Using breakpad minidump system 740/13763.1175.DC
ESC[36mcsgo_1 |ESC[0m #Loading VPK file hashes for pure server operation.
ESC[36mcsgo_1 |ESC[0m #Loading VPK file hashes for pure server operation.
ESC[36mcsgo_1 |ESC[0m #Loading VPK file hashes for pure server operation.
ESC[36mcsgo_1 |ESC[0m #Loading VPK file hashes for pure server operation.
ESC[36mcsgo_1 |ESC[0m #Loading VPK file hashes for pure server operation.
ESC[36mcsgo_1 |ESC[0m #Filesystem successfully switched to safe whitelist mode
ESC[36mcsgo_1 |ESC[0m #Game.dll loaded for "Counter-Strike: Global Offensive"
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'server_pre_shutdown' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'game_newmap' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'finale_start' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'round_start' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'round_end' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'difficulty_changed' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'player_death' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'hltv_replay' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'player_connect' unknown.
ESC[36mcsgo_1 |ESC[0m #CGameEventManager::AddListener: event 'player_disconnect' unknown.
ESC[36mcsgo_1 |ESC[0m #GameTypes: missing mapgroupsSP entry for game type/mode (custom/custom).
ESC[36mcsgo_1 |ESC[0m #GameTypes: missing mapgroupsSP entry for game type/mode (cooperative/cooperative).
ESC[36mcsgo_1 |ESC[0m #GameTypes: missing mapgroupsSP entry for game type/mode (cooperative/coopmission).
ESC[36mcsgo_1 |ESC[0m Failed to load gamerulescvars.txt, game rules cvars might not be reported to management tools.
ESC[36mcsgo_1 |ESC[0m Server is hibernating
ESC[36mcsgo_1 |ESC[0m No web api auth key specified - workshop downloads will be disabled.
ESC[36mcsgo_1 |ESC[0m maxplayers set to 64
ESC[36mcsgo_1 |ESC[0m ConVarRef cl_embedded_stream_video_playing doesn't point to an existing ConVar
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_bobamt_vert"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_bobamt_lat"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_bob_lower_amt"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_viewmodel_shift_left_amt"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_viewmodel_shift_right_amt"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_teamid_min"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_teamid_max"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_teamid_overhead"
ESC[36mcsgo_1 |ESC[0m Unknown command "cl_teamid_overhead_maxdist"
ESC[36mcsgo_1 |ESC[0m Setting mapgroup to 'mg_active'
ESC[36mcsgo_1 |ESC[0m Invalid file id.
ESC[36mcsgo_1 |ESC[0m Invalid file id.
ESC[36mcsgo_1 |ESC[0m NET_CloseAllSockets
ESC[36mcsgo_1 |ESC[0m ---- Host_NewGame ----
ESC[36mcsgo_1 |ESC[0m Switching filesystem to allow files loaded from disk (sv_pure_allow_loose_file_loads = 1)
ESC[36mcsgo_1 |ESC[0m Host_NewGame on map de_dust2
ESC[36mcsgo_1 |ESC[0m CGameEventManager::AddListener: event 'teamplay_win_panel' unknown.
ESC[36mcsgo_1 |ESC[0m CGameEventManager::AddListener: event 'teamplay_restart_round' unknown.
ESC[36mcsgo_1 |ESC[0m CGameEventManager::AddListener: event 'arena_win_panel' unknown.
ESC[36mcsgo_1 |ESC[0m GameTypes: missing mapgroupsSP entry for game type/mode (custom/custom).
ESC[36mcsgo_1 |ESC[0m GameTypes: missing mapgroupsSP entry for game type/mode (cooperative/cooperative).
ESC[36mcsgo_1 |ESC[0m GameTypes: missing mapgroupsSP entry for game type/mode (cooperative/coopmission).
ESC[36mcsgo_1 |ESC[0m ConVarRef room_type doesn't point to an existing ConVar
ESC[36mcsgo_1 |ESC[0m ammo_grenade_limit_default - 1
ESC[36mcsgo_1 |ESC[0m ammo_grenade_limit_flashbang - 1
ESC[36mcsgo_1 |ESC[0m ammo_grenade_limit_total - 3
ESC[36mcsgo_1 |ESC[0m ammo_item_limit_healthshot - 4
ESC[36mcsgo_1 |ESC[0m bot_allow_grenades - 1
...
ESC[36mcsgo_1 |ESC[0m Executing dedicated server config file
ESC[36mcsgo_1 |ESC[0m Unknown command "sv_unlag"
ESC[36mcsgo_1 |ESC[0m Unknown command "tv_allow_camera_man"
ESC[36mcsgo_1 |ESC[0m maxplayers set to 64
ESC[36mcsgo_1 |ESC[0m Console: "> ESL GOTV Config loaded - 14.01.2016 <"
ESC[36mcsgo_1 |ESC[0m exec: couldn't exec gamemode_competitive_server.cfg
ESC[36mcsgo_1 |ESC[0m PrecacheScriptSound 'Survival.VO.Taunt4a' failed, no such sound script entry
ESC[36mcsgo_1 |ESC[0m PrecacheScriptSound 'Snowball.Bounce' failed, no such sound script entry
ESC[36mcsgo_1 |ESC[0m CHostage::Precache: missing hostage models for map de_dust2. Adding the default models.
ESC[36mcsgo_1 |ESC[0m PrecacheScriptSound 'balkan_epic_blank' failed, no such sound script entry
ESC[36mcsgo_1 |ESC[0m Commentary: Could not find commentary data file 'maps/de_dust2_commentary.txt'.
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m [S_API FAIL] SteamAPI_Init() failed; create pipe failed.[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
ESC[36mcsgo_1 |ESC[0m CAppInfoCacheReadFromDiskThread took 1 milliseconds to initialize
ESC[36mcsgo_1 |ESC[0m CApplicationManagerPopulateThread took 0 milliseconds to initialize (will have waited on CAppInfoCacheReadFromDiskThread)
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServer013 /
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamUtils009 /
ESC[36mcsgo_1 |ESC[0m Setting breakpad minidump AppID = 730
ESC[36mcsgo_1 |ESC[0m Forcing breakpad minidump interfaces to load
ESC[36mcsgo_1 |ESC[0m Looking up breakpad interfaces from steamclient
ESC[36mcsgo_1 |ESC[0m Calling BreakpadMiniDumpSystemInit
ESC[36mcsgo_1 |ESC[0m Looking up breakpad interfaces from steamclient
ESC[36mcsgo_1 |ESC[0m Calling BreakpadMiniDumpSystemInit
ESC[36mcsgo_1 |ESC[0m Setting breakpad minidump AppID = 740
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServer013 / GameServer
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamUtils009 / Utils
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamNetworking005 / Networking
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServerStats001 / GameServerStats
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMHTTP_INTERFACE_VERSION003 / HTTP
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMINVENTORY_INTERFACE_V001 / Inventory
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMUGC_INTERFACE_VERSION014 / UGC
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMAPPS_INTERFACE_VERSION008 / Apps
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamUtils009 / Utils
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamNetworkingSocketsSerialized004 /
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServer012 / GameServer
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMHTTP_INTERFACE_VERSION003 / HTTP
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServer013 / GameServer
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamUtils009 / Utils
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamNetworking005 / Networking
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServerStats001 / GameServerStats
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMHTTP_INTERFACE_VERSION003 / HTTP
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMINVENTORY_INTERFACE_V001 / Inventory
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMUGC_INTERFACE_VERSION014 / UGC
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): STEAMAPPS_INTERFACE_VERSION008 / Apps
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameCoordinator001 /
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamGameServer013 / GameServer
ESC[36mcsgo_1 |ESC[0m RecordSteamInterfaceCreation (PID 7069): SteamUtils009 / Utils
ESC[36mcsgo_1 |ESC[0m Error parsing BotProfile.db - unknown attribute 'Rank'
ESC[36mcsgo_1 |ESC[0m Initializing Steam libraries for secure Internet server
ESC[36mcsgo_1 |ESC[0m Logging into Steam gameserver account with logon token '09570B01xxxxxxxxxxxxxxxxxxxxxxxx'
ESC[36mcsgo_1 |ESC[0m Initialized low level socket/threading support.
ESC[36mcsgo_1 |ESC[0m Set SteamNetworkingSockets P2P_STUN_ServerList to '' as per SteamNetworkingSocketsSerialized
ESC[36mcsgo_1 |ESC[0m SteamDatagramServer_Init succeeded
ESC[36mcsgo_1 |ESC[0m PutClientInServer: no info_player_start on level
ESC[36mcsgo_1 |ESC[0m GOTV[0] broadcast active.
ESC[36mcsgo_1 |ESC[0m Connection to Steam servers successful.
ESC[36mcsgo_1 |ESC[0m Public IP is 31.xx.xx.xx.
ESC[36mcsgo_1 |ESC[0m Assigned persistent gameserver Steam ID [G:1:3433575].
ESC[36mcsgo_1 |ESC[0m Gameserver logged on to Steam, assigned identity steamid:85568392923472xxx
ESC[36mcsgo_1 |ESC[0m Set SteamNetworkingSockets P2P_STUN_ServerList to '146.66.155.101:3478' as per SteamNetworkingSocketsSerialized
ESC[36mcsgo_1 |ESC[0m VAC secure mode is activated.
ESC[36mcsgo_1 |ESC[0m GC Connection established for server version 1175, instance idx 1
ESC[36mcsgo_1 |ESC[0m ^CMasterRequestRestart
ESC[36mcsgo_1 |ESC[0m Your server is out of date and will be shutdown during hibernation or changelevel, whichever comes first.
I have cut out irrelevant parts with ...
.
from csgo.
I think that proves that the issue is the server trying to going down for an auto update on it's own.
This is either caused by:
- It not being able to find the /steam.sh (which we don't have as we are using steamcmd) (I have no idea how to fix this)
ESC[36mcsgo_1 |ESC[0m /home/steam/csgo-dedicated/srcds_run: line 301: ./steam.sh: No such file or directory
EDIT: Apparently, this can be fixed by including the steam_appid.txt with the right steamappid in the directory of the srcds runtime: https://forums.alliedmods.net/showthread.php?t=234053
- It exiting the actual srcds process, thus killing the process the container is attached to via the entry.sh
Line 10 in 8c00df8
This could be addressed by possibly starting the process detached with & and then attaching to "while true; sleep 5", however that will prevent the container from automatically restarting if it crashes. The easy way would be to get rid of the autoupdate.
from csgo.
This is the relevant code in /home/steam/csgo-dedicated/srcds_run
:
# Run the steam update
# exits on failure if STEAMERR is set
if test -n "$AUTO_UPDATE"; then
if test -d "$STEAM_DIR"; then
echo "Updating server using Steam."
echo "----------------------------"
OLDWD=$(pwd)
eval "cd $STEAM_DIR"
eval "STEAMEXE=steamcmd ./steam.sh +runscript $STEAMCMD_SCRIPT"
eval "cd $OLDWD"
echo "----------------------------"
else
It seems that steamcmd
is executed in steam.sh
. Can't we just add it? Excuse me if this is a naive question, I'm not too familiar with the Steam server.
from csgo.
I think this issue can be "addressed" by adding
restart_policy:
condition: on-failure
to your service. The reason why nobody ever noticed it is likely because most people launch their container with restart=always, so if there is an update, it shuts down the parent container process which in turn restarts the container, which then ends up updating and restarting the game server. It's ugly but it works.
If you manage to find the actual root cause of the issue (and a fix) let me know, I'll leave this issue open for the time being.
from csgo.
Dunno if it helps, but one can also run the binary srcds_linux
directly instead of the wrapper script srcds_run
.
IIRC the (apparently) problematic autorestart feature is provided by srcds_run
.
In my containters I used to run srcds like this:
ENTRYPOINT LD_LIBRARY_PATH=/home/steam/csgo-dedicated/bin:/home/steam/csgo-dedicated \
./srcds_linux \
-game csgo \
-autoupdate \
-console \
-usercon \
+ip $IP \
-port $PORT \
-tv_port $TV_PORT \
+sv_region $REGION \
-tickrate $TICKRATE \
+fps_max $FPSMAX \
-maxplayers_override $MAXPLAYERS \
+sv_setsteamaccount $TOKEN \
+hostname $HOSTNAME \
+rcon_password $RCON_PW \
+sv_password $SV_PW \
+mapgroup $MAPGROUP \
+game_type $GAME_TYPE \
+game_mode $GAME_MODE \
+map $MAP
So in this case -autoupdate
will simply "shutdown during
hibernation or changelevel, whichever comes first", but will not reboot the server.
Note: Providing LD_LIBRARY_PATH
is mandatory when using srcds_linux
directly.
from csgo.
Very likely addressed by CM2Walki/steamcmd#15
from csgo.
See c6f9d9a
Turns out there was another problem with the autoupdate, the bash variables were not expanded correctly. Pushed a fix for that, too.
from csgo.
Is this issue resolved? Did you have another instance, in which the docker-compose service didn't come back up?
from csgo.
Looking good so far!
from csgo.
Related Issues (20)
- Issue Running Docker Image HOT 2
- esl configs are outdated HOT 5
- My server is unable to list in the CSGO Community Servers HOT 2
- Server not showing on LAN tab when running on WSL2 HOT 1
- entry.sh
- Running on OS X on Docker Desktop HOT 2
- CS2 HOT 10
- Volume owner and group HOT 1
- Getting `SteamAPI_Init() failed; create pipe failed.free(): invalid pointer` on sourcemod build HOT 5
- Container is not starting on Ubuntu 18.10 HOT 13
- Malware found in container HOT 1
- How to change the server port after created a container HOT 2
- Server suddenly not starting anymore HOT 10
- Instance is not accessible from Internet HOT 2
- 100% CPU Usage can't kill container HOT 3
- missing configuration files HOT 3
- [Feature Request] Update only execution HOT 1
- Get5 mod compatibility question HOT 1
- Container don't start with Debian 11 HOT 1
- Permission denied HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from csgo.