Jump to content

Request: option to keep the (dedicated) server ticking even when empty


Kadigan KS-b

Recommended Posts

Hello; first post. Name's Kad (also on the Discord server). May be a very short introduction, but I suppose better this than nothing, right? 😉

 

Anyway, moving on.

 

 

 

The way I have my game set up, there's a lot of inventory and high stack sizes. My father likes going through the motions, and likes to build/craft stuff -- and, when chilling out, I like to do that as well. However, there's one particular issue I keep running into: whenever I have a crafting queue that's significant (8~10 real-time hours), I have to keep my gaming PC running with the game running on it, in order to see it complete sometime before next week...

 

What I need, is for the server to keep ticking when all players leave the game. The way we have it set up, there are no blood moons/hordes, and the zombies do little to no damage to blocks, so it technically shouldn't affect us negatively (and, in all honesty, it could provide an extra layer of challenge if game hosts could choose to demand players be on-line at specific times).

 

The way I see it -- the game already does most (if not all) of the things it would need to in order for this to work; it only takes one player for all queues to keep ticking on. So why not have the option to remove that requirement?

 

 

I wouldn't mind a separate executable that could create a "dummy player" that would be logged in all the time, if it were possible -- that's a solution as well. However, while I possibly could reverse-engineer enough of the protocol to get it working, I doubt it'd pass STEAM peer verification.

 

 

Suggestions?

Edited by Kadigan KS-b (see edit history)
Link to comment
Share on other sites

To clarify, since someone mentioned these on Discord:



- I do not wish this to be a default option. I only ask that it be an option, so that I (and others like me, if they're out there) could use it. Every other player/admin that do not wish this be thrust upon them need not worry: if this is added, it will not affect any server that doesn't explicitly turn this on.

 

- While it is true that I can simply purchase a second copy of the game on sale, that's not all of the expense required to make this work. I would also need to put together a second PC to run it, a second STEAM account (not sure about the rules there, but IIRC one person = one account, so I could potentially be running afoul of the STEAM Subscriber Agreement this way), and not least of all: I'd have to pay for the electricity the PC would consume. As you can see, this is not an ideal solution.

 

- While it's true that I could simply share the game in my library, this only removes the issue of having to have a second copy; I'd still need a second PC and a second STEAM account to run it from, I'd still need to pay for the power the PC consumed, and... it adds a different constraint: I wouldn't be able to play anything else while that's happening.

 

 

All I'm asking is for a server-side configuration option (or even a command-line switch, like -tickonempty) to fix all this.

Edited by Kadigan KS-b (see edit history)
Link to comment
Share on other sites

I don’t understand what you are trying to accomplish.

Is the issue it takes too long to process stone into concrete for a massive build?

if this is the issue why not multiple furnaces or mixers or whatever?

Are you trying to build something ridiculously sized? Why not enable cheats?

 

I just don’t understand what in the game could take 10 real time hours to process. 

Link to comment
Share on other sites

That's the thing - I have cheats enabled. That's not the point.

 

I want things to continue running in the background. That's the end goal, here. It's not an XY problem, I'm not trying to solve A by having B. My goal of having things going is to have things going. I want to come back in and pick processed stuff up.

Link to comment
Share on other sites

I still don’t understand why you need the game to run 24/7 with no players but you can play the game on the same machine that is running the server game client. I do it every week. Get a second copy of the game, second steam account and on the machine that is running the world log in as a player with admin rights, enable god mode and travel far underground then stay there forever. 
You and other players join the game as you do now. Game keeps running when others log off. Admin account has god mod on so will never starve and is deep underground to never be seen.

You also could enable invisibility for the admin account then no zombie or player will ever know it is there.

Link to comment
Share on other sites

Is there a way to mod the workstations to increase the crafting speed? If so, you could just make the workstation crafting be 10x faster or something like that.

 

Or when you log in, just throw away an equivalent amount of base materials and grab the processed materials from creative.

Link to comment
Share on other sites

> Yes, that would be a pretty easy mod to make.

 

Already did. Can't mod everything however, so while some things take minutes, others take 8-10 hours at my stack sizes. ;)

 

 

> Get a second copy of the game, second steam account and on the machine that is running the world log in as a player with admin rights

 

Apart from purchasing a second copy of the game, I would also need to purchase a GPU capable of running it (the server machine doesn't have a GPU). While it may not be a huge cost, it's still a cost.

 

Also, my server runs on Linux. From what I can tell, getting the client to run on Linux is still a headache, and it could very well make the minimum requirements higher.

 

 

And again: if this were a config/command-line switch, none of this is necessary. This is extra load (running a full-blown GPU game client), at extra cost (second copy + hardware to run it).

 

I'm not sure why you're trying to convince me that the current situation (as outlined above) is fine - it really, really isn't.

 
 
Link to comment
Share on other sites

I also like to have this option.

 

If read several request like that over the last few years.

 

However i somehow understand why it is not implemented. The balancing is aligned around the bloodmoon. At first, if time keeps running on a server, this would allow players to skip every bloodmoon. And it will screw "timing". With the default 60min day and horde every sunday a bloodmoon would occur every 7 hours, so even varying in time. So you might play several realtime days and not encounter a single bloodmoon by accident and next time you log on you will probably join directly into a bloodmoon, which might cause problems.

The crafting times are also somehow a limit between bloodmoons. You should not be able to craft unlimited amounts of whatever between two bloodmoons. At least you need to scale by using more forges/workbenches/chems/etc.

 

On the other hand, if everything is balanced around the bloodmoons, why is there an option to turn bloodmoons off. If a player intentionally wants to screw all balancing, let him do so.

 

Imho letting time running with no player would require a complete rebalance of the game. With the current values, it would be massively overpowered and so you can indeed also use creative menu to cheat yourself 10 stacks directly of 7,62 instead of craft them with a 10 hour job and search for ways how to exploit these 10h.

Link to comment
Share on other sites

2 hours ago, Kadigan KS-b said:

... Also, my server runs on Linux. From what I can tell, getting the client to run on Linux is still a headache, and it could very well make the minimum requirements higher....

 

Buying a second copy just for this is not a sensible suggestion, no question about that. But the reason above has no foundation. While there may be slightly less FPS on average on linux and there are sometimes graphical bugs because of GPU driver differences, support for linux has been exemplary on the whole. I have been playing since A15, on linux, and never needed to skip a day playing the vanilla game. Mods sometimes create problems, but never vanilla.

 

Developers are very hesistant to add options. The chance that this option will be added because of your problem is pretty slim as creative mode is easily able to simulate this: Make a writable storage box and write "forge" on it. Whenever you need forged iron, take a stack of scrap iron out of it and drop it on the floor. Add a corresponding stack of forged iron from cm. Voila, the instant forge.

 

By the way, the forge seems to get an overhaul in A20 or A21, with the smelting phase being removed. It could make modding of the production times easier.

 

 

 

Link to comment
Share on other sites

... *le sigh*

 

The game doesn't really appeal to me, to be honest. My father wants to build stuff, and I do this for him. 🙂 For me... I'm going through the motions, wasting a bit of time away on gathering resources, processing them, and then stockpiling them. That's my fun in this game - building warehouses, essentially.

 

Spawning resources in via the CM takes that (along with any remaining enjoyment) out of the game, for me. But I also don't have enough time to spend 10-12 hours in game sessions waiting for things to finish, nor do I wish to sit around twiddling my thumbs. Right now, the ratio of gathering-to-processing is about 1:20 for me, and that's still taking hours. I would much rather pop on for 30 minutes, gather some stuff, set it to process... and quit 'till tomorrow. Rinse, repeat.

 

The problem, though, is that my father doesn't want to play alone, so if I'm not playing - he's not playing, either. And right now, this whole "wait a few hours for stuff to process" is killing my enjoyment of the game (as much as I can enjoy a game that doesn't appeal to me in the first place).

 

 

I don't see why adding such a setting would require a rebalance, considering that it wouldn't be a default option. It's the sentiment expressed by Liesel: if people want to unbalance the hell out of their game, why not let them? There already is an option to set the world to perpetual day (or night, if you want), as well as having blood moons every other cycle... so why would this change require rebalancing that the others didn't?

 

 

I'm not expecting miracles, really. Maybe someone in the dev team will see this and be convinced, and the change turns into 3 lines of code. That would be nice... but if not, it's not the end of the world (though it will, most likely, hasten the abandonment and death of our dedicated server).

 

 

25 minutes ago, meganoth said:

While there may be slightly less FPS on average on linux and there are sometimes graphical bugs because of GPU driver differences, support for linux has been exemplary on the whole. I have been playing since A15, on linux, and never needed to skip a day playing the vanilla game. Mods sometimes create problems, but never vanilla.

 

I don't honestly know about that... I'm a server guy, primarily. I understand CLI. Getting drivers and GPU and stuff working has never been something I do well, under Linux, and I've seen friends struggle with this over the years as well. I guess I've built up an aversion to even trying this, and the (admittedly cursory) Google search on "7 Days to Die" and "Linux" didn't give me encouraging results - one of them even mentioned devs suggesting people run it under Wine, and I know how much of a pain Wine is.

 

So, yeah, if that ruffled your feathers somewhat, blame it on my ignorance. It's still not something I'd enjoy dealing with just for the sake of running a dummy game client. :) 

 

And yeah, we also run mods on the server (a crapton of additional buildables), so if that's potentially a source of issues - that makes me want to try it even less, somehow. ;)

 

 

Edited by Kadigan KS-b (see edit history)
Link to comment
Share on other sites

1 hour ago, Kadigan KS-b said:

I don't see why adding such a setting would require a rebalance, considering that it wouldn't be a default option. It's the sentiment expressed by Liesel: if people want to unbalance the hell out of their game, why not let them? There already is an option to set the world to perpetual day (or night, if you want), as well as having blood moons every other cycle... so why would this change require rebalancing that the others didn't?

I think you didn't understand my post completely. ;)

I'm a little ambivalent about this, because

 

on the one hand i assume that would be an (technically) easy change and easy to add as an option and my general opinion is "if people want to "break" their game, let them do so".

 

on the other hand the game IS completely unbalanced if time keeps running. So you are requesting a change that is completely against on how the game is supposed to work. But the devs understandably follow a plan on how the game should work and don't care for corner case settings like your request, especially if this change breaks basically everything.

 

But because this should be a very little change, i assume one of the dev should be able to "implement" this easily in (far) less than 1 hour of work. Pretty sure it's just remove the check that stops the time if no player is online from the source... done... If my assumption is correct, for gods sake simply add that f*cking option. Wasted 3 hours of discussion and probably even more thinking about it for a change that takes only 10 minutes.

Maybe someone can even disassemble the binary, find the correct jump instruction, hex-edit it to "jump not"... could probably work. 🤣

Link to comment
Share on other sites

It's not "a change that breaks basically everything", it's "an option that allows you to break basically everything" -- just like with daytime settings, blood moon frequency, zombie damage etc. The distinction is that things only get broken if you switch it on -- which is already something you can do with mods (take any one mod that increases inventory or stack size, and all balance is already shot to hell). So I don't see how it's any more "game-breaking" than the other options already are.

 

I'm honestly not expecting anyone to balance the game for me with that setting in mind. Just let me switch it on, and let me worry about how balanced the game will be afterwards. Why does it matter how enjoy the game? Provide me the option and let me decide how I'll go about having my fun. :)

 

 

And - I hope the change is as simple as you say. I don't expect it to be. But here's hoping! ;)

 

There are two notable areas where this mode of operation could cause issues -- zombie drops (from zombies killed when you're not there), and supply drops (which, as I understand, tend to drop near a player -- which may not work well if there's no player around). Both have to do with resource exhaustion as well (tracking too many things)... but please, let me worry about it. Besides, it's already heavily implied that you should restart the server once every 24 hours, so... could it be that much worse? :D At worst, if there are 0 players, these drops could simply not happen.

 

 

WARNING: OPINION.

Spoiler

Also, if you're a dev and you're refusing to add in options to customize the game, because then it wouldn't play how it was "supposed to", then you're either Kojima and you're not making multiplayer sandbox, or you're Apple and you're evil.

 

Edited by Kadigan KS-b (see edit history)
Link to comment
Share on other sites

Every option they add during alpha, they have to test and debug with every change they make to the game.

 

Adding an option like this which would appeal to such a niche audience would not be likely because of this.

 

There have been many requests to add optional sliders to turn off specific zombies or animals, turn off digging zombies,  turn off sleeper respawns, etc. Those options also have not been added, because during the development process they only add options they feel are necessary and that they feel are worth keeping updated, tested and debugged.

 

Before gold, they will likely revisit the options available when creating a game, but quite likely not until then.

 

In the meantime, they keep the game easily moddable so that you can customize the game to your preference.

Link to comment
Share on other sites

1 hour ago, Liesel Weppen said:

I think you didn't understand my post completely. ;)

I'm a little ambivalent about this, because

 

on the one hand i assume that would be an (technically) easy change and easy to add as an option and my general opinion is "if people want to "break" their game, let them do so".

 

on the other hand the game IS completely unbalanced if time keeps running. So you are requesting a change that is completely against on how the game is supposed to work. But the devs understandably follow a plan on how the game should work and don't care for corner case settings like your request, especially if this change breaks basically everything.

 

But because this should be a very little change, i assume one of the dev should be able to "implement" this easily in (far) less than 1 hour of work. Pretty sure it's just remove the check that stops the time if no player is online from the source... done... If my assumption is correct, for gods sake simply add that f*cking option. Wasted 3 hours of discussion and probably even more thinking about it for a change that takes only 10 minutes.

Maybe someone can even disassemble the binary, find the correct jump instruction, hex-edit it to "jump not"... could probably work. 🤣

 

It isn't only about the potential 10 minutes it costs to add such a switch into the game even though it is more like a few hours of work:

1) The dev needs to add the option flag to the code,

2) then add the option to serverconfig.xml,

2a) and make sure the parser for serverconfig.xml recognizes the option

3) then add the option to the GUI (with all the problems of formatting and moving stuff around so it looks good again)

3a) and add the boiler plate code that handles the new GUI option

4) then add a few lines of code that let the timer run on if that flag is set (this step is probably the smallest part in it).

5) Then test that setup, potentially correcting any bugs (which are bound to crop up because with so many steps in so many different parts of the total code base a mistake or omission is very likely)

 

It is also about the GUI real estate that the option occupies. Most developers want single-page non-scrolling options and not too many tabs. This option potentially competes with lots of other sensible options people were asking for that want to be on that option page

 

It is also that any option that gets added adds at least one new test case and one mode of operation the devs and testers of the game have to check upon and support. If we look at permutation of options, it even doubles that number.

 

It is one of the most common misconceptions of non-programmers to underestimate the work necessary to support options.

 

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

1) unit tests

2) unit tests

3) can be a CLI switch instead (and not required for the listenserver at all, since it doesn't keep running when nobody is playing)

4) this one would actually require proper testing, to see if it at least doesn't actually break the game somehow

5) can technically be ignored, if defined as "unsupported configuration" (been done before)

 

Potentially doubling - yeah, okay. Actually doubling? Doubtful. This is a rolling alpha release; most stuff that isn't directly affected could be relegated to bug reports, assuming all that many people actually end up using the option. Consider: the game is expected to run just as if there's a player attached (so most issues are already tested for); if it doesn't in some way rely on client feedback to run, not all that many components should theoretically be affected (and if it does, this would be a sizeable changeset, which puts it outside of scope in a hurry).

 

Edited by Kadigan KS-b (see edit history)
Link to comment
Share on other sites

10 minutes ago, meganoth said:

It is one of the most common misconceptions of non-programmers to underestimate the work necessary to support options.

I'm a software developer 🤣

 

This option is only relevant for the dedicated server, because an ingame host with no player "online" makes no sense at all.

So basically, change the condition to (not) stop time, add to serverconfig.xml (hopefully you are using a generic XML-parser, then it is really not a big deal) and done. No need for any GUI changes and half of your reply can be dropped completely. ;)

 

Ok, there is further effort for testing... but this should really not be a big deal.

Link to comment
Share on other sites

15 minutes ago, katarynna said:

In the meantime, they keep the game easily moddable so that you can customize the game to your preference.

 

If this could be achieved by a mod, I wouldn't even bother with starting a thread. :) 

 

  

Just now, Liesel Weppen said:

I'm a software developer 🤣

 

Spoiler

So am I.  🤣 But I don't deal with shrinkwrap like this, and I expect the specifics to be somewhat different.

 

 

Edited by Kadigan KS-b (see edit history)
Link to comment
Share on other sites

Right, there is no need for a GUI. That actually would increase the chance for this option greatly I would assume.

 

 

 

18 minutes ago, Kadigan KS-b said:

1) unit tests

2) unit tests

3) can be a CLI switch instead (and not required for the listenserver at all, since it doesn't keep running when nobody is playing)

4) this one would actually require proper testing, to see if it at least doesn't actually break the game somehow

5) can technically be ignored, if defined as "unsupported configuration" (been done before)

 

Potentially doubling - yeah, okay. Actually doubling? Doubtful. This is a rolling alpha release; most stuff that isn't directly affected could be relegated to bug reports, assuming all that many people actually end up using the option. Consider: the game is expected to run just as if there's a player attached (so most issues are already tested for); if it doesn't in some way rely on client feedback to run, not all that many components should theoretically be affected (and if it does, this would be a sizeable changeset, which puts it outside of scope in a hurry).

 

 

Doubling is the upper limit, just 1 more is the lower. I also don't think devs want to add unsupported configurations even if they technically can wash their hands of it. Players tend to ignore such details when they complain.

 

In what way do unit tests help in writing the code? And unit tests have to be written as well. And considering the state of actual software development who knows whether TFP uses unit tests at all.

 

 

Edited by meganoth (see edit history)
Link to comment
Share on other sites

27 minutes ago, Kadigan KS-b said:

If this could be achieved by a mod, I wouldn't even bother with starting a thread.

Couldn't you mod the recipe so that 1 cement mix, 1 stone and 1 sand gives 10 units of concrete? This would function the same as increasing production time by 10, and you could always throw out the resources not used so that the resources required stays the same.

 

Just find a creative way to achieve what you want instead of expecting the devs to spend time customizing the game to your exact standards during alpha development.

Link to comment
Share on other sites

3 hours ago, Kadigan KS-b said:

... *le sigh*

 

The problem, though, is that my father doesn't want to play alone, so if I'm not playing - he's not playing, either. And right now, this whole "wait a few hours for stuff to process" is killing my enjoyment of the game (as much as I can enjoy a game that doesn't appeal to me in the first place).

 

 

Not sure if anyone mentioned this or if you don't want to try but have you thought of getting your father to join someones server. There are many out there and am sure there are some that would suit his playstyle.  A nice friendly PVE server may be the thing for him. Many probably have people on 24/7 so that would solve the problem of having the server running all the time.

Link to comment
Share on other sites

I still don’t understand why or what takes 8-10 hours to process, can you give a moderately specific example?

 

Seems you are playing on the same machine that runs the server. Instead of logging out how about stay in game and activate god mode and as I said earlier go invisible or deep underground. When you play again deactivate god mode.

I realize this solution will prevent you from playing other steam games but there simply is no way around this without a second copy and a second machine.

I don’t see a solution being developed for your issue because as I read this thread and correct me if I am wrong it appears to me you are literally the only person playing this game that has this requirement. 

 

Edit: maybe Dad sends you a message when he is done playing and you log in again? Steam does allow other games to be played while the server client is running. Log out of game client when dad is playing then log back in when he is done.

Edited by Fanatical_Meat (see edit history)
Link to comment
Share on other sites

... I wish. The fact that he can't speak English limits his choices to pretty much 0. :) And the idea behind the server was that we could set it up however we wanted, like him having CM on it, or loading up our own maps (currently trying to explore a 16k one with tons of structures).

 

3 hours ago, katarynna said:

Just find a creative way to achieve what you want instead of expecting the devs to spend time customizing the game to your exact standards during alpha development.

 

Wish it were that easy. And, arguably, this should've been a config option from the get-go.

 

 

But hey, if the devs don't do this, they don't actually lose anything. I mean, we already paid. I doubt they'll care about two players, in the end.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...