Is there a way to export level (.umap) collisions? [server-side collisions]

Hi everyone,

I’m currently working on a small MMO prototype (which hopefully won’t be that small anymore after a few months).
For obvious reasons I need to calculate the player location on the server, which works quite good right now. But for calculating the player location i also need to calculate the collisions on server-side or otherwise players will be able to simply move through everything.

Since my backend code is completely independant of unreal engine I wonder if there’s any way to export the collisions of a .umap file to a more lightweight file format such as .json or .xml or anything else which I can interpret on the server?

If not are there any other viable solutions?

You are going to calculate collisions on a custom server, but why? :face_with_monocle:

Levels can be exported to .fbx (include collisions) (meshes named UBX_ UCX_ etc.).
There doesn’t seem to be anything more suitable.

You will most likely have to make your own script that will create collision information on the level, but are you sure you need it?

Hi there, thanks for your answer. Yeah I found that out as well, I’m really glad that levels can be exported as fbx. Now I was looking for a way to export only the nav mesh, because I strongly assume that working with the nav mesh is way more efficient than iterating through all meshes of the map and check if anything collides. Since I can’t seem to find any way to export a nav mesh, using the entire levels collision and importing them into my backend seem to be the only solutions for now.

Edit: To answer your question. Well for a mmo you’d typically don’t trust the clients. If you let the cliends calculate their position and wont check it on the server, people would just be able to walk through walls and stuff using cheat engine. And that’s definitely not wanted behaviour.

Unreal’s standard methods are already designed so that character (and anything else) movement can (should) be calculated on the server (the server instance of the game), and then the character positions and other data can be replicated to the players. Clients can “smooth” the movement, but the server remains the authority.

Did I understand correctly that you want to take information about the level, calculate the position of characters OUTSIDE Unreal based on it, and then apply the calculated data back IN Unreal?

THIS ^^^ unless you’re doing all custom movement. CMC is server authoritative by default. You can tick a few boxes in cmc settings to give clients authority over movement and stop server corrections. Bad idea in my opinion.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.