skeleton.dll has no module thread function
Building a58f747a and starting a server results in the following error:
[2023-03-19 19:56:27.420] [BLR] [debug] initializing proxy startup thread
[2023-03-19 19:56:27.430] [BLR] [debug] Initializing EventManager
[2023-03-19 19:56:27.430] [BLR] [debug] EventManager is initialized
[2023-03-19 19:56:27.430] [BLR] [debug] Initializing EventManager
[2023-03-19 19:56:27.430] [BLR] [debug] EventManager is initialized
[2023-03-19 19:56:34.571] [BLR] [debug] Invoked 1 handlers for Function OnlineSubsystemPW.OnlineSubsystemPW.Init
[2023-03-19 19:56:34.633] [BLR] [debug] ModuleLoader::LoadModule Loaded -snip-\blacklightretribution\Binaries\Win32\Modules\server-utils.dll
[2023-03-19 19:56:34.641] [BLR] [debug] server-utils: registered oneshot handler for event * IsConfigFiltered
[2023-03-19 19:56:34.642] [BLR] [debug] server-utils: registered oneshot handler for event * UpdateGameSettings
[2023-03-19 19:56:34.642] [BLR] [debug] server-utils: registered handler for event * UpdateGameSettings
[2023-03-19 19:56:38.237] [BLR] [error] ModuleLoader::LoadModule: Module -snip-\blacklightretribution\Binaries\Win32\Modules\skeleton.dll has no module thread function!
[2023-03-19 19:56:38.256] [BLR] [debug] Invoked 1 handlers for Function FoxGame.FoxDataProvider_Playlist.IsConfigFiltered
[2023-03-19 19:56:43.351] [BLR] [debug] Invoked 2 handlers for Function FoxGame.FoxGame.UpdateGameSettings
[2023-03-19 19:56:48.363] [BLR] [debug] Invoked 1 handlers for Function FoxGame.FoxGame.UpdateGameSettings
And from what I can tell the server starts and run just fine, just without the module.
I've tried adding a simple ModuleThread to skeleton.cpp based on server-utils':
/// <summary>
/// Thread thats specific to the module (function must exist and export demangled!)
/// </summary>
extern "C" __declspec(dllexport) void ModuleThread()
{
// Dunno if it's fine to use Utils like that
// but it also crashes when the function is completely empty so I left it
if (!Utils::IsServer()) {
return;
}
}
But then it silently crashes, with no outstanding log events:
(is it intended that there's two? I suppose there's one for debug?)