Page 1 of 1

Server: automatically pause when a new player is joining

Posted: Fri Aug 02, 2019 12:07 pm
by Eiermann
TL;DR
Not all players can keep up with the speed of the server. Additional options for pausing the server when needed would be very helpful for larger bases / servers.

What ?
Players often pause the game or reduce the game speed while other players are connecting or catching up with the server. Of course this happens only when the server is hosting a base with a high ups load. But its kinda frustrating if you can not join your own server because you messed up the whole base the day before. Since the server is not throttling the ups load on its own its nearly impossible to join a bigger server. Currently the only solutions are 1.1) on empty servers someone with a faster / better pc has to connect and slow down / pause the server with a command 1.2) on empty servers the admin has to manually connect to server cli and pause / throttle the game speed 2) on server with other players online you have to kindly ask if they could throttle or pause the game 3) buy a faster pc.

For privat servers with bigger bases the easiest change would be an additional parameter for the server to configure the servers behaviour when someone is joining / catching up.
Example

Code: Select all

{
	"__catchup_behaviour_description": "available options are: never (disabled), pause (pause the server), slowdown (throttle the server)",
	"catchup_behaviour": "never",
	"__catchup_interval_ticks_description": "the number of ticks before the configured behaviour kicks in",
	"catchup_interval_ticks": "60",
	"__catchup_slowdown_steps_description": "defines the throttle if the behaviour 'slowdown' is configured",
	"catchup_slowdown_steps": "0.5"
}
Why ?
- People dont have to pause / throttle the game per hand while another player is joining / trying to catch up.
- Administrators dont need to pause / slow down the server over the CLI just to connect and pause the game per hand.
- People with slowers PCs could join empty servers with large bases.
- Buy merchandise instead of new hardware!
- The problem cant be solved with a mod

Re: Server: automatically pause when a new player is joining

Posted: Fri Aug 02, 2019 2:41 pm
by mmmPI
I like the idea, it wouldn't be used much for popular game due to the annoyance, but if you play a massive modded game with few friend and/or one just like me have a bad computer you would appreciate setting up the server this way.

Re: Server: automatically pause when a new player is joining

Posted: Mon Aug 05, 2019 5:45 pm
by Jon8RFC
I think this would be a useful addition for many people--not myself, but I appreciate the idea for games run among friends and the situations mentioned above.

To quote Rseding91 (not verbatim) when discussing the interface settings menu "I don't think many people request fewer configurations/options", referring to most people never saying "I want the ability to do less and have less control" (unless it's users of that one particular, mainstream tech brand--my opinion).

Re: Server: automatically pause when a new player is joining

Posted: Wed Aug 07, 2019 1:06 am
by slippycheeze
Jon8RFC wrote: ↑
Mon Aug 05, 2019 5:45 pm
To quote Rseding91 (not verbatim) when discussing the interface settings menu "I don't think many people request fewer configurations/options", referring to most people never saying "I want the ability to do less and have less control" (unless it's users of that one particular, mainstream tech brand--my opinion).
Rseding91 is correct. Unfortunately, in this case the science supports that mainstream tech brand -- GNOME, you say? ;) -- in that people *want* lots of choices, lots of options, and lots of switches. They also have a much happier experience when they don't get them, the vast majority of the time.

To be clear: I don't object to the feature or anything. I just don't think these are good knobs to put in front of anyone by default. Much better to find something that works for the 90 percent case based on public games, and telemetry from private ones, and then maybe offer these as a hidden, deep in the wiki only, sort of tuning for the much smaller set of users who do benefit from it.

Which is absolutely not zero people, and they might want a "don't be stupid" button they can press for their specialized needs like this one. Most people will either want the default, or just set it to something stupid and then be unhappy it didn't magically fix things, because people be like that.

Re: Server: automatically pause when a new player is joining

Posted: Wed Aug 07, 2019 9:05 pm
by Eiermann
In my oppinion it should be visible only for people who hosting servers on a dedicated server. Such as the option for the segment size per network message introduced in 0.17.59. Casual players never edit the server-configuration per hand.

Re: Server: automatically pause when a new player is joining

Posted: Sat Oct 22, 2022 2:07 pm
by Tiavor
necro bump
did anything come of this?
on my current K2SE map, if I don't pause manually and another player joins the map, it happens sometimes that the progress bar of catching up goes backwards. auto-pause when someone joins would be very appreciated, even if it's just a mod, but I don't see how to do this from looking at the api.
even just me joining the empty world already needs a catch-up because it's unpaused as soon as I join.

Re: Server: automatically pause when a new player is joining

Posted: Mon Oct 24, 2022 6:06 am
by ssilk
This feature can be misuses by griefers.

Re: Server: automatically pause when a new player is joining

Posted: Mon Oct 24, 2022 9:53 pm
by Tiavor
I want this option as a server owner. no one is griefing my server. there are literally just two people playing on it. no one else has access.

even just me joining it alone with no one else on it is almost impossible currently, as I have only mediocre mobile data available. 1.5MB/s is not enough to join a K2SE map in mid-game.

Re: Server: automatically pause when a new player is joining

Posted: Tue Oct 25, 2022 5:44 am
by ssilk
It’s all right. :)

I just want to make clear, that this option can be misused or can be quite annoying for open servers in many ways and needs imho some kind of vote of all other players, if they want to wait or not. For example: if x% of players vote against wait, the server will continue.

Re: Server: automatically pause when a new player is joining

Posted: Fri Oct 28, 2022 6:40 pm
by Tiavor
a vote seems a bit complex.
I'd just include the option (that is already available): "everyone can pause"
so if you have this pause-on-join on, the everyone-can-pause option is automatically enabled or required. so if someone doesn't want to wait, they can just unpause.

Re: Server: automatically pause when a new player is joining

Posted: Sat Oct 29, 2022 1:09 pm
by robot256
Tiavor wrote: ↑
Fri Oct 28, 2022 6:40 pm
a vote seems a bit complex.
I'd just include the option (that is already available): "everyone can pause"
so if you have this pause-on-join on, the everyone-can-pause option is automatically enabled or required. so if someone doesn't want to wait, they can just unpause.
This is the best suggestion so far. Even simpler, or in addition, when there are no other players in the game, don't unpause until the first player to join has actually finished loading. (If this is not the default behavior already, I really can't imagine why.)

I have experienced heavily modded public play. If a server mod was already on the server, they would pause the game or reduce game.speed when they saw someone struggling to catch up. Otherwise, it could take some people 5-10 minutes to join.

The game already pauses to save when someone tries to join. This is mildly annoying, but unavoidable. But it is even more annoying when someone tries multiple times to join, triggering multiple saves, because their computer can't catch up and disconnects. I would much rather have the option of extending the one pause.

If someone wants to grief, they can already do that by joining and griefing. If they cause too many join-pauses for no reason (which they can already do), add them to the server banlist like any other griefer.

Re: Server: automatically pause when a new player is joining

Posted: Sat Oct 29, 2022 9:51 pm
by Tiavor
it seems that it is paused until the first player is finished loading. but only if there wasn't another player online recently. if there was, the game still continues for a while, I guess till the next save.

that was my problem recently. I wanted to join and couldn't because someone else was on the server. that person left and the catch-up bar didn't move any faster.

UPDATE:
I found something useful in this regard: when the last one leaving the server pauses the game, then it's still paused the next time someone joins and doesn't need to catch up, unpausing with the ESC-menu. This is good enough for a small server with few people.

Re: Server: automatically pause when a new player is joining

Posted: Fri Mar 08, 2024 7:35 pm
by Camusensei
Hello, necroing this because what @tiavor said is wrong (at least for me).

Start a new server with auto-pause option enabled.
Join the game. The server will unpause as soon as you finish downloading, before you load, leading to a catch-up you may never be able to complete.

I fully agree with @robot256,
robot256 wrote: ↑
Sat Oct 29, 2022 1:09 pm
when there are no other players in the game, don't unpause until the first player to join has actually finished loading
And then we won't have the problem anymore.

Re: Server: automatically pause when a new player is joining

Posted: Sat Apr 06, 2024 1:22 pm
by mrudat
It strikes me that the best way to do what is desired is to have a mod record the UPS of the slowest client and configure the server to always run at that speed unless an admin changes things around.

It would have the (possibly dubious) advantage that UPS would be nearly constant, with the tradeoff of going consistently slow.

Does the server receive feedback from a failed client join due to being too slow?