Server: automatically pause when a new player is joining

Moderator: ickputzdirwech

Eiermann
Long Handed Inserter
Long Handed Inserter
Posts: 60
Joined: Tue Jan 08, 2019 7:27 am
Contact:

Server: automatically pause when a new player is joining

Post 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
mmmPI
Smart Inserter
Smart Inserter
Posts: 3643
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

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

Post 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.
User avatar
Jon8RFC
Filter Inserter
Filter Inserter
Posts: 554
Joined: Tue May 10, 2016 3:39 pm
Contact:

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

Post 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).
Image
slippycheeze
Filter Inserter
Filter Inserter
Posts: 587
Joined: Sun Jun 09, 2019 10:40 pm
Contact:

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

Post 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.
Eiermann
Long Handed Inserter
Long Handed Inserter
Posts: 60
Joined: Tue Jan 08, 2019 7:27 am
Contact:

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

Post 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.
Tiavor
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sat Apr 29, 2017 1:08 pm
Contact:

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

Post 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.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

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

Post by ssilk »

This feature can be misuses by griefers.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Tiavor
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sat Apr 29, 2017 1:08 pm
Contact:

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

Post 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.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

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

Post 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.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
Tiavor
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sat Apr 29, 2017 1:08 pm
Contact:

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

Post 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.
robot256
Filter Inserter
Filter Inserter
Posts: 929
Joined: Sun Mar 17, 2019 1:52 am
Contact:

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

Post 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.
Tiavor
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sat Apr 29, 2017 1:08 pm
Contact:

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

Post 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.
Camusensei
Burner Inserter
Burner Inserter
Posts: 6
Joined: Fri Oct 06, 2023 5:20 pm
Contact:

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

Post 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.
User avatar
mrudat
Fast Inserter
Fast Inserter
Posts: 248
Joined: Fri Feb 16, 2018 5:21 am
Contact:

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

Post 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?
Tiavor
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sat Apr 29, 2017 1:08 pm
Contact:

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

Post by Tiavor »

From the newest FFF:
Case 1: When you join the auto-paused server it instantly resumes running - even if you haven't fully loaded into the game. It turns out, this was incredibly simple to address just for some reason it fell through the cracks over the years. For 2.0 auto-paused servers will stay paused until at least 1 player has fully loaded into the game.
this helps a lot. thanks.

though since the last time I posted, I got a new CPU for my PC, so this isn't really a problem for me. And my old laptop couldn't even handle the map anymore, even if loaded into the paused game.
Case 2: Joining players need to catch up to the running game. This works great for "normal" games and allows the existing players to continue without having to wait for the joining players. But, players run into issues with much larger maps, or slow internet connections. Someone joining might take 1, 2, or several minutes to download, load, and catch up to the server fully if it continues on without them. For 2.0 we've added an option to "auto-pause when a player is joining" which works exactly as it says.
Thanks for this too :)
for small and private servers like mine this is exactly what I wanted. I mean small in terms of users that join, the map is already at 400MB, loading and catching up takes a long time.


I consider this topic solved
Koub
Global Moderator
Global Moderator
Posts: 7784
Joined: Fri May 30, 2014 8:54 am
Contact:

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

Post by Koub »

[Koub] Moved to Implemented in 2.0. The implementation might not be exactly what was described in the suggestion, but the purpose is the same.
Koub - Please consider English is not my native language.
Post Reply

Return to “Implemented in 2.0”