As I said in my September 16th comment, it seems to me that it is an issue with exclusive permissions when opening the overseer.lua. I say this because the Settings object is nil (as determined by print statements that I added) after it has been loaded (on the characters that fail). I tried looking at the lua logic that loads the file and it wasn't totally clear to me how to modify it to make it open in read-only mode so as to not inhibit others from simultaneously reading the file.
One simple workaround would be to add a retry:
Code:
if (the settings file exists on the filesystem) then --Note: This protects against infinite loop in case the file doesn't exist
repeat
attempt to load the settings file
if (settings == nil) then
delay some random amount
endif
until settings ~= nil
endif
The above logic fails if the overseer.lua file is corrupted (i.e. is seen by the filesystem as existing, but unable to be loaded by the load logic). Maybe one could account for this edge case just by adding a print statement inside the "if (settings == nil)" check like "Retrying loading the settings file. If this persists forever then perhaps your overseer.lua file is corrupted."