Conversation started Sep 6, 2015 at 15:01.
Sep 6, 2015 15:01
> There can be multiple server processes on the same machine using the same set of resource files.
Really the same file system and not machine
while it is true that it can be that, I don't quite expect there to be.
Then we should introduce a flag that prevents that from happening
also, if there are, we could have a server admin command such as /nogames which disables or enables whether or not new games are allowed to be played
I have no intention of preventing multiple servers on the same machine.
Then we should support there being multiple processes.
It is supported already
We just have to keep it in mind somehow when dealing with this issue.
Sep 6, 2015 15:06
@SimonForsberg I took this to mean that you didn't think we should support it
I meant that I don't expect it to be very often. That is, I don't expect it to be normal enough to think of it as a problem.
What do you mean by "we just have to keep it in mind"?
as I see it, and as you rightfully have noted, there is a potential problem that can happen with the implementation of issue 381. When fixing issue 381, we should try to fix it so that multiple processes of servers are supported.
How about writing an empty update.lock file and have the servers check if that file exists when starting a new game?
from my experience with Minesweeper Flags Extreme, having a /nogames command is very useful feature on a server.
I think the file should be called nogames.lock or something that conveys its functionality
[Zomis/BrainDuck] Zomis pushed commit 77af97fd to master: added a so far quite basic analyze feature
Sep 6, 2015 15:20
It would still not solve the problem of games that have already started their initialization when the lock is created though
when writing /update (assuming we will go by that approach), how about having the server that you are writing it on check the statuses of games. I believe server games are marked as NOT_STARTED in the beginning of the initialization.
if a server admin is running multiple servers, then he can use /nogames on one to disable new games, write /update on the other, which makes sure that no games are currently initializing and then downloads new files, and then write /nogames on the first again to re-enable new games
/nogames just creates the nogames.lock file, right?
either that, or toggles a boolean flag on the server.
personally I prefer the boolean flag
If we use a lock file the admin would not have to run the /nogames command on all servers before updating
If a server admin is running multiple servers but doesn't do /nogames on all of them before updating, it's their fault if anything goes wrong IMO.
Sep 6, 2015 15:29
Don't blame the user, blame the UI :)
If we're realistic, how likely is it that server admins will run multiple servers that are sharing the same mods folder on the same system anyway?
Not very likely. But if we think it's not sufficiently likely I think we shouldn't support it at all.
shouldn't support what at all?
Running multiple processes with the same resources
30 mins ago, by jacwah
Then we should introduce a flag that prevents that from happening
hey
Sep 6, 2015 15:34
Hey!
I disagree there. In fact, running multiple processes that have the same resources is done very often, if you run a server at the same time as you're doing gradlew test for example. However, the likelihood that you want to update both servers with the latest mod data is very low, not to mention the probability of something going wrong because you're updating at the same time as someone is starting a new game.
Oooooh, there's a discussion
@ARedHerring What makes sure the coming week won't be boring? :D
The easiest, and most reasonable, way for us IMO is to use a /nogames command that switches a flag on the server so that the server doesn't allow new games to be started. And in addition have a /update command that (safely, but only taking into the consideration the current process) updates the mod files resources.
Ok, I understand why you're saying that. We'll just have to make sure to document this in big red letters :)
> Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
like that? :)
Sep 6, 2015 15:42
@skiwi I'm not saying it won't be boring but it will be relaxing :-)
> If you're running multiple server instances using the same resources RUN THE FRIGGING /nogames COMMAND!!!
problem solved ^^
 
Conversation ended Sep 6, 2015 at 15:44.