Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not Syncing across Bnet Account #71

Closed
TerraDK opened this issue Dec 28, 2018 · 13 comments
Closed

Not Syncing across Bnet Account #71

TerraDK opened this issue Dec 28, 2018 · 13 comments
Assignees

Comments

@TerraDK
Copy link

TerraDK commented Dec 28, 2018

Hey there, love the addon and its exactly what I'm looking for but one feature doesn't seem to work.

I have two wow accounts under same battle.net. I have Bagsync on both and enabled "Display Battle.net Account Characters" on both as such:
wow_2018-12-27_19-48-59

However, it does not show item count from other account, only its own.

Is there something I'm missing?

@Xruptor
Copy link
Owner

Xruptor commented Sep 9, 2019

I apologize for the delay. Lots of life stuff going on lately. It should link both accounts. If you are still using the addon and still playing, i can try to actively debug whats going on.

@TerraDK
Copy link
Author

TerraDK commented Sep 10, 2019

Yeah it's still an issue and I love the addon's functionality, just doesn't work over multiple wow accounts under one BNet account.

@Xruptor
Copy link
Owner

Xruptor commented Jan 13, 2020

I've fixed this issue on a rewrite of BagSync I'm working on. Please see the testing branch of BagSync.

https://github.com/Xruptor/BagSync/tree/Testing

@Xruptor Xruptor closed this as completed Jan 13, 2020
@TerraDK
Copy link
Author

TerraDK commented Jan 13, 2020

I've updated and its been giving me this error:

1x BagSync\wireframe\data.lua:209: 'for' limit must be a number
BagSync\wireframe\data.lua:209: in function CheckExpiredAuctions' BagSync\wireframe\scanner.lua:30: in function StartupScans'
BagSync\wireframe\events.lua:46: in function <BagSync\wireframe\events.lua:11>
[C]: ?
...s\AddOnSkins\Libs\Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:70: in function <...s\AddOnSkins\Libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:65>
...s\AddOnSkins\Libs\Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:527: in function EnableAddon' ...s\AddOnSkins\Libs\Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:540: in function EnableAddon'
...s\AddOnSkins\Libs\Ace3\AceAddon-3.0\AceAddon-3.0-12.lua:620: in function <...s\AddOnSkins\Libs\Ace3\AceAddon-3.0\AceAddon-3.0.lua:605>
[C]: in function LoadAddOn' FrameXML\UIParent.lua:450: in function UIParentLoadAddOn'
FrameXML\UIParent.lua:569: in function `TimeManager_LoadUI'
FrameXML\UIParent.lua:1242: in function <FrameXML\UIParent.lua:1140>

Also on a side note, I read your post on another issue and thank you so much for putting in the time to try to keep this addon updated during such challenging times. I really appreciate it and if you have a donation link, I'd love to contribute a little.

Xruptor added a commit that referenced this issue Jan 14, 2020
@Xruptor Xruptor reopened this Jan 14, 2020
@Xruptor
Copy link
Owner

Xruptor commented Jan 14, 2020

Please let me know if the current commit fixed your issue. Also thank you very much. I don't normally ever ask for donations, but you can find my donation link here. https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=YURA2EFR36VAN&source=url

It's been rough for me but at least coding gets my mind off things. It's even more so difficult as I try to get back on my feet. Thank you though for the kind words. God bless.

image

@TerraDK
Copy link
Author

TerraDK commented Jan 14, 2020

No problem, hope it helps you out a little. I don't seem to be getting any lua errors with latest testing commit!

That being said, I'm not able to get battle.net account items working. These two wow accounts are under the same battle.net and this is the result:

Wow_kBcxqGMIle
Wow_AFY4sv8xDx

Is there a step I'm missing to get it to work?

@Xruptor
Copy link
Owner

Xruptor commented Jan 14, 2020

Okay in order to fix this, I will need a little more information that I would rather not discuss on a public ticket forum.

Please Private Message on either WOWInterface.com or wow.curse.com.

@Xruptor Xruptor self-assigned this Jan 16, 2020
@Xruptor
Copy link
Owner

Xruptor commented Jan 16, 2020

This issue is regards to having multiple accounts under a BNET account. Addons cannot access data stored on separate accounts under a BNET account. This is because they share separate SavedVariables folder under their account folders. The only way to fix this issue is creating SYSTEMLINK folders that point to the primary Account.

Please see the following guide for details.

https://www.wowhead.com/guide=934/two-game-accounts-one-folder-now-with-mac

@Xruptor Xruptor closed this as completed Jan 16, 2020
@DejayRezme
Copy link

DejayRezme commented Dec 26, 2020

I don't want to reopen this, but out of curiosity what you think. I'm multiboxing (without input broadcasting software so TOS compliant) and would also like something like this.

I'm thinking of writing an addon that can sync various profile data across the team. Looking at the code it seems you could write a function that syncs the current player profile to your team with e.g. a hotkey or command. You'd simply grab the BSYC.db.player structure, serialize, compress and encode it and send it to each on your team list. Or maybe just sync it to your main. You could do that on log in or on command or on logout. Then on the other end simply copy it into the db as an extra alt.

If I update the db my guess is I'd have to invalidate some cache or something so the item appears in the tooltip?

Obviously this would only work when all alts are online.

Another way would be to something similar with every scan in SaveBag, so you get sync every time you pick up an item, but that that would probably create too much traffic.

PS: BTW, thank you very much for your awesome work on this addon!

@Xruptor
Copy link
Owner

Xruptor commented Dec 26, 2020

I don't want to reopen this, but out of curiosity what you think. I'm multiboxing (without input broadcasting software so TOS compliant) and would also like something like this.

I'm thinking of writing an addon that can sync various profile data across the team. Looking at the code it seems you could write a function that syncs the current player profile to your team with e.g. a hotkey or command. You'd simply grab the BSYC.db.player structure, serialize, compress and encode it and send it to each on your team list. Or maybe just sync it to your main. You could do that on log in or on command or on logout. Then on the other end simply copy it into the db as an extra alt.

If I update the db my guess is I'd have to invalidate some cache or something so the item appears in the tooltip?

Obviously this would only work when all alts are online.

Another way would be to something similar with every scan in SaveBag, so you get sync every time you pick up an item, but that that would probably create too much traffic.

PS: BTW, thank you very much for your awesome work on this addon!

Since it would be multiple accounts, they would each have their own individual SavedVariables and thus own BagSync database data. You are correct by the way. The simplest solution would be to create an addon that grabs the database for the currently logged in character and transmits it serialized to each member in the party. That way they each member would have the correct data from corresponding to every member of the party stored in their individual SavedVariables folder. Remember addons cannot read or store data across multiple accounts. They can only do so on multiple characters within the same account. This is a built in limitation of the Blizzard client. In order to do what you are requesting you would have to transmit the data between accounts.

I want to point out that the data wouldn't be 100% accurate. It would only be as accurate as the last transmitted data from each party member. So if they picked up items or such or moved stuff around in the banks, other characters wouldn't display the data properly until they got new transmitted data. They only way to adjust this is to constantly transmit SaveBag data or Scanner module data to each party member.

There is another method to do all this but it's one not everyone likes to do. You can create a symbolic link and force all the SavedVariables folders from multiple accounts to read from one master SavedVariable folder. That would definitely store everyone's data but it may cause issues with certain UI related addons.

There is a guide of that here: https://www.wowhead.com/guide=934
I won't provide support for this. But there are many guides on the web on how to do this. Lets say you have 5 accounts. You would point 4 of those accounts SavedVariables folder to be redirected using a Symbolic link to the Master SavedVariables found on the fifth account.

Hope this helps.

@DejayRezme
Copy link

Thank you. I think doing the sync on login, on special keypress and if possible on logout would be enough. Not sure though if you can send data fast enough in the logout event handler. But this should be relatively easy to do with ace libraries from what I've read.

I looked at the guide but it seems the problem there would be that if you have two characters logged in with changed DBs, the last one to log out would overwrite the saved variables.

@Xruptor
Copy link
Owner

Xruptor commented Dec 27, 2020

Thank you. I think doing the sync on login, on special keypress and if possible on logout would be enough. Not sure though if you can send data fast enough in the logout event handler. But this should be relatively easy to do with ace libraries from what I've read.

I looked at the guide but it seems the problem there would be that if you have two characters logged in with changed DBs, the last one to log out would overwrite the saved variables.

No problem, glad I was able to provide some insight. I believe the Ace libraries could provide what you are requesting. However, if the data is being throttle via chat communications when transmitted while you are logging out. There may be instances where the data isn't fully transmitted. It may be fragmented or incomplete. So keep that in mind 😄 .

You are correct by the way. The last person to log out with Symbolic links in place, would be the actual DB data stored in the SavedVariables. It could be possible that character data gets overwritten in this case. So it's not 100% accurate either.

To ensure accuracy, you may want to do both. If you transmit the data to all the party members, then it wouldn't matter who logged out as they would all share the same DB. So next time any of your characters login, you are ensured that they will be using the last correct DB.

On a side note, if you are going to use transmissions, remember to use timestamps and verify which is the most recent ones before saving anything.

I hope you the best of luck in your addon 😄

@DejayRezme
Copy link

Thanks. I'll let you know if I get it working :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants