mirror of
https://github.com/GameServerManagers/LinuxGSM.git
synced 2026-04-25 06:05:57 +03:00
[GH-ISSUE #786] Update feature : Online players check #630
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#630
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 @1stian on GitHub (Apr 22, 2016).
Original GitHub issue: https://github.com/GameServerManagers/LinuxGSM/issues/786
Originally assigned to: @dgibbs64 on GitHub.
Hi,
I would like to see a feature that checks for online players on the server before it starts the update. If there are players online. We can have a choice of letting them know it will be updated in 5 mins or so. Or just abort the update and recheck later.
I think this will be really nice to have.
This is not really a issue more like a feature request.
Thanks.
@dgibbs64 commented on GitHub (Apr 22, 2016):
I agree that would be a nice idea. Should be possible however Im not sure how to implement this yet.
@UltimateByte commented on GitHub (Apr 22, 2016):
http://steamcommunity.com/groups/linuxgsm/discussions/0/364039531228165077/
Quotation from myself : "This would require to query the server and get the amount of players on it. I's an interesting idea but would be quite hard to do."
@1stian commented on GitHub (Apr 22, 2016):
@UltimateByte @dgibbs64 Yes. Querying a server from a script is not the easiest thing to do I guess. Anyway... I can experiment a little. By creating something that will run your update script, when the server is empty.. if I even are able to do that at all..
Anyway I hope it will be implemented if you have time or can ofc :)
Thanks.
@UltimateByte commented on GitHub (Apr 28, 2016):
Once again, Cedar has a clever idea about this : using "stats" command.
@jaredballou commented on GitHub (May 9, 2016):
I use SteamCondenser in my stuff, but for a basic rcon implementation (in Node.js but easy to read), see https://github.com/randunel/node-srcds-rcon - we may want to create a function for rcon commands and use that to send and receive data to game instances. Using command stuffing and log scraping seems like a hacky approach. If I have some time (ha ha), I might try to add something like this.
@jaredballou commented on GitHub (May 19, 2016):
Also, there is this. I am using it to add these features to my forked gsquery.py:
https://github.com/Dasister/Source-Query-Class-Python/blob/master/QueryClass.py
@dgibbs64 commented on GitHub (Jun 15, 2018):
Node-Gamedig is now supported. This feature should now be possible
@dgibbs64 commented on GitHub (Jun 16, 2018):
#647 related
@dgibbs64 commented on GitHub (Nov 25, 2019):
Monitor has had a refactor and gamedig is better supported. This feature can now be developed for any game server that supports gamedig. However, will have to check results with bots
@dgibbs64 commented on GitHub (Sep 24, 2021):
gamedig support is much better in linuxgsm now. I will finally be looking to implement this functionality.
@1stian commented on GitHub (Sep 24, 2021):
Oh wow! That would be awesome! Totally forgot about this... Been using LinuxGSM for years.. So this would be great! Thanks!
@dgibbs64 commented on GitHub (Sep 24, 2021):
@dgibbs64 commented on GitHub (Feb 28, 2024):
So I am looking at this issue and so far I have gone with if players on the server then the server will not stop. This will cover all eventualities of stopping the server when a command is run. However the only issue is that an admin might WANT the server to stop even if players are still on the server. I am unsure how best to handle that
@MicLieg commented on GitHub (Feb 28, 2024):
I think the most important thing is not to change the current default of stopping / restarting / updating the server even when players are connected to avoid breaking current setups.
So a new setting to choose whether to "force" / "wait for no players online" is probably needed. The default being to force stopping the server.
If an admin sets this to "wait for no players online" in the config, LinuxGSM users should be promoted when players are online to make sure they want to stop the server anyway. This behaviour should be overridable by adding an argument like .
/gameserver restart forcefor automation.This way, admins who want this functionality will also see any hints from the
_default.cfgnotifying them of breaking cronjobs if they decide to enable the feature.Also it might be helpful to send alerts when stopping the server is delayed because of online players.
link #3676
@dgibbs64 commented on GitHub (Feb 28, 2024):
there will be a new var
stoponlyifnoplayers="off"for admins to enable if they want.I have just added some other functionality that if the server is blocked from restarting it will create a restart-request.lock file. When
monitoris run it will check for this file and trigger a restart (if no players). This is useful if there is a daily restart cron that happens to run while players are on the server. It will ensure that the server will eventually be restarted.Update will also only happen if no players are present. I expect as updates are released players will naturally drop off allowing the server to update itself without disturbing a running game.
I think adding
force-restartandforce-stopwill also be needed.Unsure on how to handle alerts currently but will give it some thought.
@MicLieg commented on GitHub (Feb 28, 2024):
Sounds good!
Perhaps this can also be achieved by adding a
maxstopdelayvar to the config, forcing the server torestart,stoporupdateafter the desired period of time.@dgibbs64 commented on GitHub (Jun 16, 2024):
So there a a few scenarios to this
Edit: add timeout setting to force restart after X mintues
@MicLieg commented on GitHub (Jun 17, 2024):
Tanks for your effort! @dgibbs64
I still think it might be useful to be able to set a grace period in the config, after which a
restart,stoporupdateis forced even if players are connected. Otherwise, a daily restart will be impossible in some cases, as some players will stay AFK/online overnight.@dgibbs64 commented on GitHub (Jun 17, 2024):
I agree I will add that functionality