Multiplayer environments with Cesium

Greetings everyone,

I’m just wondering if anyone has experimented with using Cesium and multiplayer experiences please? I am working to put together a test (re the below description) and would appreciate any feedback from someone regarding feasibility or if anyone would like to develop some tests please get in touch. Thanks

Charles

Hi there, I am running some experiments to use Cesium in the creation of an online multiplayer stage where we will host concerts and lots of people can come watch world class artists and socialise so we can raise funds for The UN Decade on Ecosystem Restoration Ecosystem restoration implimentation partners, partying to save our planet!

The stage is like a big UFO that flies high above the ecosystems that we are partying to raise funds to restore.

I am working on a demo for one of the original directors of Fortnite who has created an amaZing new multiplayer hosting platform for unreal that allows for thousands of multiplayer users in the same virtual space.

I really need help to get our little demo stage + cesium we have built in Unreal hosted for multiplayer for some MASSIVE green multinationals who also want a demo and love the concept.

Please let me know if anyone would like to join our team and get this little pirate ship legal and flying.

Development portal:
www.create.green/program/restoration-festival

Hi @Charles_Fraser,

I wrote down some notes based on some preliminary testing I did with multiplayer support with Cesium for Unreal here: Multiplayer Origin Rebasing Support Notes · Issue #480 · CesiumGS/cesium-unreal · GitHub.

The issues and limitations you may run into will depend on the use case - how big of a playable area you are designing, what kind of servers, and whether anti-cheating is needed (players being able to get to arbitrary locations by changing their gravity, movement speed, etc.)

The playable area will inform whether you want to use multiplayer origin rebasing or not. For a play area smaller than 2km or so, it is probably not necessary, from 2-20km it would be recommended, for 20+ km it will be difficult to keep players in a stable, accurate position relative to the globe regardless due to limitations in Unreal’s networking, without modifying the source.

If the player characters will have gravity, it will be important to set bIgnoreClientMovementErrorChecksAndCorrection=true and bServerAcceptClientAuthoritativePosition=true. I describe this in a comment in that linked github issue as well.

Happy to answer in more specifics as you develop. Best of luck!

1 Like

Billiant thanks so much for this I’ll have a look through

It appears “Keep World Origin Near Camera” was deprecated in 5.1? I see it was renamed to sublevel camera, but only allows for selecting an actor currently in the scene which isn’t the case in a multiplayer server.

I’m having collision issues on client outside of 3-4km from server.