View Single Post
  #2  
Unread 02-14-2020, 12:57 PM
Garan's Avatar
Garan Garan is offline
The Undying
Interface Author - Click to view interfaces
 
Join Date: Oct 2010
Posts: 340
Short answer: No, this can not be reasonably handled due to limits of the Lua API in Lotro - the only practical way to handle it is to move one of the subscriptions to a different account (something that only SSG can do and they may not be willing to do so).

Long answer:
The Lua API for LotRO was never intended to work with multiple subscriptions on a single account (thus there being no way to specify a Subscription scope for plugin data files). There are only three possible scopes for plugindata files, Account, Server and Character. Account scope will not work in this situation due to race conditions (one client overwriting the other) nor would Server scope values work any better if you are running the characters on the same server - the same race conditions would occur. The only possible solutions would be to make every setting Character scoped which would be undesirable for most users or to implement dynamic loading/saving of all Account/Server scoped values to eliminate the race conditions. Such dynamic loading/saving is a fairly complicated process involving a child plugin for accessing settings and is extremely error prone for novice developers (the Anthology plugin uses such a system and was a royal pain in the @#$ to implement - the only reason I did was as a proof of concept and I would never wish that project on another developer).

So, since both approaches to handling this situation via Lua have significant drawbacks, it is far better to suggest that you ask SSG to separate your subscriptions by creating a second account and moving one of your subscriptions to that account - this of course has some implications for a VIP or Premium subscription and SSG may not be willing to do it but that is by far your most likely way of handling this. Otherwise, you will simply have to use one of your subscriptions to handle settings for account-wide plugins and any time you change those settings you will have to remember to reload the plugins on the other subscription (after reloading the plugin on the subscription that is making the changes so that they get written to disk and can be subsequently loaded by the other subscription). Unfortunately, due to the way that plugindata files are cached, this method is not guaranteed to prevent race conditions unless you actually log out of the controlling character rather than just reloading the plugin(s).
Reply With Quote