Server/client issue with procedural levels

Hey guys/gals,

My cousin/codeveloper/business partner recently provided me the tech demo/proof of concept for his procedural level generation portion of our game. I started incorporating it into the project and noticed a few issues, many of which I was able to fix on my own but I can’t seem to find where this particular issue is happening.

Basically, when we are playing in either a built package(Development build) OR in editor under separate processes (standalones), certain objects do not appear unless the server player is in the vicinity. For instance: we spawn the buildings/road zones/ ambient vehicles/ enemy spawners etc procedurally. If the client player walks too far from the visibility of the server player, the city has serious “popping” issues, the cars are invisible and sometimes the city is in a different layout than the server. As soon as the server player enters the vicinity, the issues fix themselves.

All of the components of the algorithm replicate (all actors/bps/etc), and the algorithm is only executing on the server.
I guess what I am looking for is if you guys have any ideas as to where to start on a fix for this/where to look etc.

Thanks in advance!

-Neov

Image 1 is an example of what the street SHOULD look like, image 2 shows typical layouts. The issue occurs usually when the server is around a corner from the client.

Basically, it uses the world position of a particular component of the previous road, to select the location to spawn, and then runs the randomization to determine WHICH zone to spawn. This is grabbed from an event that occurs on the server, so theoretically I would assume it grabs the server’s position for that object.

This decision making is being handled in a “spawnmanager” which uses a check at the beginning to ensure the spawn events occur only on server (have tried with both the “isserver” node, and an authority check node)

Hi,

and the algorithm is only executing on
the server

Do you only take the server position into account when generating the world, or also the positions of all clients? Or in other words do you only generate the world around the server or also around each client?