Hello, I’ve been trying to solve this problem for months. I package the dedicated server for distribution, and when I start it, the following message appears: Assertion Failed: Missing SDL3.dll
I’ve already tried copying the dll from another software and putting it in the Win64/Binaries folder, but it didn’t work, I don’t know where this dll is from, if I pack the normal game, this DLL is also not generated and no errors occur.
I tried it too and it didn’t work. I put the file explorer to search for SDL3.dll in the editor engine folder and see which plugin it comes from, maybe copying the path of the folder with the dll will make it work again.
I looked for the file, SDL3.dll does not exist anywhere in the engine and does not belong to any plugin, nor do internal or third-party modules, the engine is simply trying to load this DLL from beyond for an unknown reason and no log or debug is generated, it simply shows nothing, practically everything needs to be reverse engineered.
Sorry for the delay, after 33 hours of compiling the engine, I found out that it didn’t work, but then I packed the dedicated server to the “Debug” target and it showed this log:
I think this was my Elevator Blueprint, and I believe it is the Text3D component of the Text3D plugin, it seems that this is not being packaged on the Dedicated Server, only on the client, it is the only place in the game that I use this component.
Does the plugin have an option to package it? If so you can copy over the packed plugin and it should work (I do that with custom nodes for bp projects)
Ok that changes the situation a bit. How are you organizing your server? Is it a completely separate project with it’s custom uproject file or is it a mixed client / server project with the server target file?
Notice the TargetDenyList Server.
It doesn’t pack by design as ui elements don’t exist on dedicated servers.
You could clone the plugin into your project and remove the deny list entry and in theory it would pack, but the question is why do you need ui elements on the server if there is no graphics there?
the pre processor
#if !UE_SERVER
// your code here
#endif // !UE_SERVER
can be used to strip elements on the server (notice the ! to negate the is server check)
Yes, I will do it, just so I don’t have to clone the project, refactor the project code to server mode and wait for hours of compilation, I’m not sure if that’s the exact reason for the error, but I’ll try.
You only need to compile the engine once, unless you need to make engine source changes.
In this case you can just clone the plugin itself and you should be good to go. You might need to temporarily hide it in the engine (you can zip it) so that there is no conflict between the two versions.
I’m waiting for it to finish, it’s impossible to get around this, every time I build just the .sln project it completely compiles the engine, it’s still faster than clicking rebuild, it still takes about 19 hours for each line of C++ code you change. My CPU is an I7 7700K Octa Core 4.20 GHZ and 16GB RAM 2400mhz