So in the last month we began doing a massive migration of FLHook 5 to FLUF. As of yesterday we have a mostly bug free FLUF build that contains both server & client code. The implications of this will be lost on most, but generally it means that:
FLHook (now just 'Server' code) can now run in Single Player
We can integrate plugins directly within a client context, allowing things like user interfaces to be used for FLHook commands (no more/minimal text commands)
We have migrated all of the save data into a series of SQL tables (via Postgres) which has some massive performance and storage gains (~90% smaller server space)
All data loading for FLServer is now multi-threaded (I dread the race conditions that will reveal themselves)
Things like the Warehouse plugin will be made significantly more sane when using a DB file rather than a series of interconnected INI files
Rewritten the API structure to be more sane and generally more accessible, the bar for writing modules is significantly lower before (with minimal tutoring someone with minimal C++ skill managed to write one)
This opens up the world of client hook development to use the same dev kit as the server hooks, which should make client hook writing significantly more approachable.
Probably more, but these are the highlights. We will be conducting larger scale playtests to ensure server stability in the not too distant; specifically we targeting issues with concurrency.
Hey Laz any news as to why FLUF seems to throw exceptions involving ntdll's Wine implementation? Because it seems like whenever I walk around the minefield that is random segfaults and crashes with this game, a new one shows up, and it's usually due to FLUF being in the way.
You're running your tests on Fedora so I'm sure you've come across these problems, do share what Wine runner you're using for these tests if you found one that doesn't have these issues.
FLUF wraps the entire process within a windows SEH try/catch, so you might be seeing things as FLUF errors that are not actually FLUF errors. I do all my development on Fedora and the game & server seem to run fine, so I don't think there is anything particularly hazardous. The only wine specific code we have in the codebase is that on of the Mp3 codec fixes is applied differently if running under wine as the default check fails as it string matches against a specific codec which Linux has named differently.
Other than that it should just work. I've not personally encountered any problems running under Wine for the last 4 wine versions.