Thread Tools Display Modes
04/05/19, 12:31 PM   #1
Drummerx04
AddOn Author - Click to view addons
Join Date: Sep 2017
Posts: 54
[open] Group Data Sharing

I'm not sure whether this is a security or performance issue, but I would very much like a feature that allows grouped players to directly send binary data to each other.

Probably the best way to do it would be via a publisher/subscriber architecture (effectively custom events).
  • Function to define a topic which returns a newly created or already registered Id number.
    Lua Code:
    1. RegisterGroupDataEvent(string name) -- returns number registeredId
  • A function to send data, such as a string of fixed max length, to a defined topic.
    Lua Code:
    1. TransmitGroupDataEvent(number registeredId, string binaryData) -- returns bool success
  • An event that receives the published data.
    Lua Code:
    1. EVENT_GROUP_DATA_PUBLISHED(number eventId, number registeredId, unitTag sender, string binaryData)

There could be other functions defined to inspect the already registered topics, but the three API points above would be extremely useful for some really spiffy group oriented addon features.

If there are concerns about bandwidth or abuse, it would be perfectly reasonable to place limits on the length of the data (maybe 256 bytes) and the frequency at which data is permitted to be sent (maybe once a second). I'm sure I'm not the first to suggest such a feature, but have reasons been given in the past for why such a thing cannot be implemented?

Addon devs are already abusing map pings to send data, so why not just make it an official API feature?
  Reply With Quote
04/05/19, 01:05 PM   #2
Wheels
AddOn Author - Click to view addons
Join Date: Feb 2017
Posts: 60
Having actual API functions that would allow for something like this would be incredible, map pings/guild notes and such are such a painful way to transfer data.
  Reply With Quote
04/05/19, 01:48 PM   #3
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
I second this request.
I don't like the idea to be able to send combat related information with it, as combat meters are not needed to have fun during gaming.

But I can think of so many other addons which would benefit from this possiblities.
Roleplay addons, skills and spec sharing, ...


P.S.
Group <> Guild (as you talked about guild notes ).
  Reply With Quote
04/05/19, 01:54 PM   #4
Wheels
AddOn Author - Click to view addons
Join Date: Feb 2017
Posts: 60
Originally Posted by Baertram View Post
Group <> Guild (as you talked about guild notes ).
Yes of course, but a consistent raid group is able to use this method as they will likely all be in the same, low member count guild. It's pretty bad though, map pings is definitely a better option, and an api function would be the best.
  Reply With Quote
04/05/19, 02:49 PM   #5
Drummerx04
AddOn Author - Click to view addons
Join Date: Sep 2017
Posts: 54
Originally Posted by Baertram View Post
I second this request.
I don't like the idea to be able to send combat related information with it, as combat meters are not needed to have fun during gaming.

But I can think of so many other addons which would benefit from this possiblities.
Roleplay addons, skills and spec sharing, ...


P.S.
Group <> Guild (as you talked about guild notes ).
I just want a feature that allows the scope of what addons can do to improve. My custom text links request pretty much got address briefly by Chip and then buried, so now here I am lol.

I was mostly thinking of ways to suggest the feature such that it might actually get considered. Clearly they don't want thousands of addons just blowing up the server with data, so limiting the feature to pass data within groups hits most real time data transfer needs while also limiting the potential impact on the server.

The beautiful thing about addons is that you can just not install them if they share data you don't want them to - such as your combat parses.
  Reply With Quote
04/05/19, 04:18 PM   #6
Rhyono
AddOn Author - Click to view addons
Join Date: Sep 2016
Posts: 659
Originally Posted by Drummerx04 View Post
The beautiful thing about addons is that you can just not install them if they share data you don't want them to - such as your combat parses.
While I'm not trying to get into a debate on it: that is probably the worst example because the git gud crowd requires dps sharing addons to even let you partake. So not installing it isn't exactly an answer when you're excluded otherwise.
  Reply With Quote
04/07/19, 02:32 AM   #7
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
Correct, this is exactly the reason I also thought about and have gained knowledge about in the past and other games. If you start to support this you are doomed.
  Reply With Quote
04/11/19, 09:35 AM   #8
code65536
AddOn Author - Click to view addons
Join Date: Mar 2016
Posts: 21
Originally Posted by Rhyono View Post
While I'm not trying to get into a debate on it: that is probably the worst example because the git gud crowd requires dps sharing addons to even let you partake. So not installing it isn't exactly an answer when you're excluded otherwise.
Most competitive groups I know don't require such a thing. Instead, what many of them ask for is that you screenshot your Combat Metrics report after a clean kill and send it to them. For competitive groups, nothing really changes. And casual/mainstream groups don't ask for such things in the first place.
  Reply With Quote
04/12/19, 04:37 AM   #9
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 238
Progression oriented guilds have their means of finding out whether you are good enough or not. "Public" damage meters should have a 'share if you want' functionality like hodor reflexes has right now. The point "if there is the option to have a damage meter everybody will want you to share your data or kick" is absolutely invalid.
  Reply With Quote
04/12/19, 10:08 AM   #10
Sordrak
 
Sordrak's Avatar
AddOn Author - Click to view addons
Join Date: May 2017
Posts: 52
It would be a nice feature, yet i guess for both performance and security (e.g. allowing external servers) reasons it could become an issue.
  Reply With Quote
04/12/19, 10:41 AM   #11
Baertram
Super Moderator
 
Baertram's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 4,912
What external servers? There won't be any way to include or send data to external servers from within the game "on direct ways".
You'd need to store the data in SavedVariable files, which only will be written with the data if you do a reloadui/relog, and then upload the files to an external server.
btw: This is already done within Tamriel Trade Center as example.
  Reply With Quote
04/13/19, 07:02 AM   #12
Drummerx04
AddOn Author - Click to view addons
Join Date: Sep 2017
Posts: 54
Originally Posted by Sordrak View Post
It would be a nice feature, yet i guess for both performance and security (e.g. allowing external servers) reasons it could become an issue.
To be clear, I'm essentially asking for a custom in game event system that will only be available to grouped players. This limits the potential for abuse and should reduce the overall performance impact
  Reply With Quote
04/14/19, 07:37 AM   #13
Sordrak
 
Sordrak's Avatar
AddOn Author - Click to view addons
Join Date: May 2017
Posts: 52
Originally Posted by Drummerx04 View Post
To be clear, I'm essentially asking for a custom in game event system that will only be available to grouped players. This limits the potential for abuse and should reduce the overall performance impact
Again, it would be nice. Yet, I doubt that would be good for performance (it already is a joke in the current state). That's why i mentioned external servers (which might be a security issue and therefore not an option).
  Reply With Quote
04/17/19, 12:01 AM   #14
Letho
AddOn Author - Click to view addons
Join Date: Apr 2016
Posts: 238
Can we get an official statement for this? Many addons use LibGroupSocket, it shows that there is a high demand for this feature.
  Reply With Quote
04/17/19, 04:15 PM   #15
Drummerx04
AddOn Author - Click to view addons
Join Date: Sep 2017
Posts: 54
Originally Posted by Sordrak View Post
Again, it would be nice. Yet, I doubt that would be good for performance (it already is a joke in the current state). That's why i mentioned external servers (which might be a security issue and therefore not an option).
Okay, I see what you are getting at. I offered a few basic ways to limit the overall performance impact.
  1. Group Only: Limits the total number of players that get sent the data at all
  2. Message Size Limit: Limiting data size obviously limits cost
  3. Send Rate Cap: Also obvious
  4. Addon Developers: Given the above restrictions, developers would likely be conservative with what they actually send and most of us would be happy to simply have something reliable to communicate basic information.
  Reply With Quote
04/26/19, 04:54 AM   #16
Ek1
 
Ek1's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 5
Thumbs up I see your feature request and raise it with a old one.

Nothing new is needed to add as opening the party channel for non-human-approved messages would be enough i.o. sending messages without pressing enter.
As in this has been disabled since beta, there is a slim chance making basic data exchange possible this way. I mean, nothing prevents for a add-on unlocking everything and simply selling or deconstructing all but sending text is the big bad wolf.

If there are ZOS developers free from implementing that AH or developing guilds out of beta phase, a new channel would indeed help me develop dozen or so add-ons that are benched simply because the game lacks a way to exchange data with other players.

If performance hit is the concern, then a channel can be implemented with safe boundaries to ensure things stay in check. One way to do it could be having a buffer channel funktion that accepts messages, queues them and sends them in order after waiting X long since last message sended. Wait time should be server or instance determined cost, different for different channels as in messages that reach zone should have bigger time cost than those going to party or instance. Server sided variable could be adjusted dynamically by server so that when times like present hit the server (ani event) it wont choke, or that each use of channel increases the wait time that reduces only by not using it. Also the add-on needs feedback when it can send again, maybe because of server load or because multiple add-ons use the channel at the moment. Main point is that the add-on can get info how long the wait time is and how it is calculated is so it wont bother server when it wont deliver.

Anycase, I see that there seems to be need for two features or channels.

One for fast and small data exchange.
Be it 8 byte wide and 8 byte deep, so 256 channels with 256 characters with described buffer or a even simpler channel buffer that sends the most latest data it contains to party after waiting server_sided_time_variable milliseconds before sending again. That way channel load can be regulated yet allowing instant data feed if the channel has not been used for at least server_sided_time_variable milliseconds. With int sized channel even exact numbers could be exchanged. I recon that with that amount of channels and data package transfers in a party it taxes the server about as much as using the present mapping data channel. After all, it is using a feature to do stuff that was not designed to do this stuff, yet not widely used.
As a personal note, i doubt even 5% of the channels would be used as ultimate levels is what people want to know. I admit, i haven't been diving much of combat code/data or paid attention to that side of add-on discussions but as vet trial player I been very little interested about other peoples stuff except how much ulti they got (that should be party shared anyway in the first place), how many monsters they are tanking (or better yet, the sum of the chasing enemies HPs), what food buff they got on (simple boolean would work too but more info the merrier), shield strength they got if any and what quest they have active (are we on the same quest).

Another channel would be a way to change longer, less time critical messages.
Simply opening all the channels with the described timed chat buffers works or opening a separate party channel, lets call it party_unrestricted, that accepts messages without user needing to hit enter. That way automated data exchange can be made for something more complex, e.g. like telling my party members that I am missing 67 ashe for my master writ.

That for the feature wish side but what about the can of worms it might open?

My main concern for opening free fast data channel is that as the game is still lacking grown up market place/auction house (not listing every instance of item sold, just one item listed and that items lowest instance price) people start to use the fast channel to stay updated of information that does not move otherwise. As I/O's are closed, people start to figure work around like TTC and MM ,that both also make huge amounts of data pull requests, instead of just simply one per searched item with proper market place/AH implementation to get info about sales.

I know i would be tempted of using such channel to change information of sales with other guild that i am not member. Especially because account is limited to five guilds that can have maximum of 500 players. Ponder the situation where one guild slots goes to RL friends, one or two or three to connect with your nationality/language people, one for getting raids and one for roleplaying/lore/crafting. Well, your out of guild slots to get that MM info so sure i would appreciate i some hardcore trader would share dozen or so trade guilds data with me through a data channel. I can go get tea while that ingame data exchange happens. Hell i might get a separate account to do just trading and multibox the data. All these problems would be solved with reasonable number of allowed guilds, with server wide language channels, with reasonable member numbers for guilds or with that reasonable, adult market implementation.

All of the/these things that are nagging add-on developers and the games metacritic rating are design mistakes, if not outright flaws, since beta. Correcting them would fix lot of problems and also boost sales. The game is a uncut gem.

Last edited by Ek1 : 04/30/19 at 05:15 AM. Reason: Title to title.
  Reply With Quote

ESOUI » Developer Discussions » Wish List » [open] Group Data Sharing

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off