The author of miniMAXIme (I) has just uploaded a new version that works around the crash by blacklisting new surfaces with your mod just before they are created. However, mods creating surfaces without blacklisting them may still crash because you try to access uninitialized tables. Here's a diff for your control.lua:
--- control.lua 2024-12-02 18:24:26.000000000 +0100
+++ control_new.lua 2025-03-13 14:29:58.062815530 +0100
@@ -1058,10 +1058,16 @@
local surfaceData = storage.surfaces[surface.index]
debug("Starting area spawn for "..surface.name)
- if surfaceData.startingAreas[index].spawned then return end
+ if surfaceData and
+ surfaceData.startingAreas and
+ surfaceData.startingAreas[index] and
+ surfaceData.startingAreas[index].spawned then
+ return
+ end
-- skip spawning if starting area is to small or starting areas are disabled
if storage.disableStartingArea or surfaceData.starting_area_size < 0.1 then
+ surfaceData.startingAreas[index] = surfaceData.startingAreas[index] or {}
surfaceData.startingAreas[index].spawned = true
return
end
With these changes, I've got my mod running even without blacklisting the surfaces.