Discovery Gaming Community
Laz's Coding Shenanigans - Printable Version

+- Discovery Gaming Community (https://discoverygc.com/forums)
+-- Forum: Discovery Development (https://discoverygc.com/forums/forumdisplay.php?fid=7)
+--- Forum: Discovery Developers Forum (https://discoverygc.com/forums/forumdisplay.php?fid=183)
+---- Forum: Discovery Unofficial Development (https://discoverygc.com/forums/forumdisplay.php?fid=389)
+---- Thread: Laz's Coding Shenanigans (/showthread.php?tid=206522)

Pages: 1 2 3 4 5 6 7


RE: Laz's Coding Shenanigans - Aingar - 09-28-2025

"Swap turns into strafes and vice versa" keybind will be added next patch/hotfix.


RE: Laz's Coding Shenanigans - Chronicron - 09-28-2025

Absolutely goated, may Allah smile upon your doorstep three times a day


RE: Laz's Coding Shenanigans - _WOLF_ - 09-29-2025

This will be an excellent innovation. There will be no need to assign numerous buttons to control light and heavy ships.


RE: Laz's Coding Shenanigans - Nodoka Hanamura - 02-23-2026

Wanted to peek in and see if the Wizards of Discovery Place have made anything new since last year.


RE: Laz's Coding Shenanigans - Laz - 02-23-2026

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.

If you are curious for the codebase, it's currently all on Codeberg under the flhook branch for your viewing pleasure.


RE: Laz's Coding Shenanigans - Sally - 02-23-2026

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.


RE: Laz's Coding Shenanigans - Laz - 02-23-2026

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.


RE: Laz's Coding Shenanigans - TheSauron - 02-23-2026

(02-23-2026, 10:51 AM)Laz Wrote: FLHook (now just 'Server' code) can now run in Single Player

Singleplayer PoBs are here. The server is done for.


RE: Laz's Coding Shenanigans - Laz - 02-24-2026

Not quite :)

Not every plugin will convert over to be single player compatible; or rather it they would if we were not upgrading stuff as we go. The base plugin is a good example of a thing that will need to be rewritten from the ground up to make use of the new SQL tables rather than a series of interconnected INI files.

Generally the litmus test of whether something will be SP compatible is if it will make use of persistent data. If it does, it wont be SP compatible.

Examples that will become SP compatible:
  • Cloak plugin
  • Jumpdrive plugin

Examples that wont be SP compatible:
  • Base plugin
  • Arena (conn) plugin
  • Mobiledocking plugin



RE: Laz's Coding Shenanigans - TheSauron - 02-24-2026

No singleplayer PoBs then. The server lives to see another day.