I was wondering if it would be possible to generate Perlin noise values (or frankly just random numbers) in real time on one “parent” server and use messaging service or something to communicate to all other active servers. If so, how would you determine which server is to be the “parent” and which ones are just to listen in for the messages? And what would have to happen if the “parent” server closes, how could you assign another server to take up that job?
This sort of thing usually sucks to implement, and you’re better off hosting an off-site server that handles centralized stuff like that for you.
You might be able to do it with Messenging
In this particular case though, could you just hard-code a seed (or position offset) for all your servers to use?
Potentially on the seed? though it would be the kind of thing you dont want players to be able to predict.
The only reason I wouldn’t just go with messaging service is because I don’t think you can get any data about how many servers are currently running, and how to “pass ownership” of the generation to a specific server.
Versions of this question has come up a few times, for instance Pass and update a table on all servers - #5 by nicemike40
I don’t know of any good solutions myself, but they probably do exist. This sort of thing seems like a problem that’s been solved in other domains.
What application is this for?
Think stock market simulator in principle. Something where you want all servers to agree or else bias could easily occur. though the real market isn’t random but you know