I was testing simple_streetlights mod and had this error starting the game.
2022-11-26 03:45:39: WARNING[Main]: Undeclared global variable "ilights" accessed at ...minetest12/.minetest/mods/simple_streetlights/simple.lua:5
2022-11-26 03:45:39: ERROR[Main]: ModError: Failed to load and run script from /home2/minetest12/.minetest/mods/simple_streetlights/init.lua:
2022-11-26 03:45:39: ERROR[Main]: ...minetest12/.minetest/mods/simple_streetlights/simple.lua:5: attempt to index global 'ilights' (a nil value)
2022-11-26 03:45:39: ERROR[Main]: stack traceback:
2022-11-26 03:45:39: ERROR[Main]: ...minetest12/.minetest/mods/simple_streetlights/simple.lua:5: in main chunk
2022-11-26 03:45:39: ERROR[Main]: [C]: in function 'dofile'
2022-11-26 03:45:39: ERROR[Main]: ...2/minetest12/.minetest/mods/simple_streetlights/init.lua:13: in main chunk
2022-11-26 03:45:39: ERROR[Main]: Check debug.txt for details.
2022-11-26 03:45:39: ACTION[Main]: Server: Shutting down
The error happens in this line:
ilights.player_channels = {} -- last light source channel name that was set by a given player
After some study, and looking other mods (I am still learning Lua.) I placed this line before the line shown above:
ilights = {}
And worked fine.