The storage directory is hidden It's used for pretty much anything Luna needs to store, e.g. covers / fanarts for games, the game list itself, ... It absolutely has to exist and if it doesn't it would be created as soon as Luna is started for the first time. All the scrapers (disabled or not, as that's determined at a later stage) are creating their necessary directories (if necessary of course, and they're all sub dirs of
.storage) as soon as they're instantiated. Even the information if an update check has been performed in the last 24hrs is stored in there (and that's executed right after bootstrapping the add-on, while the main menu is rendered).
In short, there's literally no way this dir is missing - especially in conjunction with the logs you posted above, you wouldn't even get to Luna's main menu if it's not there for some reason.
Moonlight itself doesn't store that kind of information, it's using either mDNS for automatic host discovery or requires you to specify an IP. It's then using the certificates in
~/.cache/moonlight/ (but not in any subfolders) to try and make a connection.
I'm almost entirely sure that this is an issue with Luna, and most likely induced by an old configuration file. Uninstalling an add-on in Kodi doesn't remove the settings unfortunately (everything in
~/.kodi/userdata/addon_data/script.luna/ and the sub dirs) and Luna doesn't remove / validate an existing config file after an update (which might be an issue in it's own right).
As a side note, appending the
address key (not host as I've said before, I'm sorry) with any IP address to my config file and forcing a different IP as launch argument for moonlight causes it to connect to the IP specified in my config file (i.e. exactly the problem you're having).
So it's either manually editing / removing the config file or simply removing the entire dir (
~/.kodi/userdata/addon_data/script.luna) - the latter will cause Luna to recreate everything needed, including the config file itself.