Thread Tools Display Modes
11-20-09, 11:14 AM   #1
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Server-wide data communication

My question is about server-wide channels, basically. I am trying to figure out why no-one (that I know of at least) has made addons that communicate like that (to any great extent, at least). For example it would be brilliant for setting up a "web" shop on your server, or any other similar service. Or, if you take it quite a bit further, "web" pages and other similar stuff.

The reason why I am saying this is that someone must have thought of this before. So what have made people not make this sort of functionality?

I ask because I can't see the problem, and it would be nice to know why this would not work.
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 11:18 AM   #2
nightcracker
A Molten Giant
 
nightcracker's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2009
Posts: 716
As far as I know this kind of huge datatransfer is blocked by the spam block filter from blizzard. I don't know how this is for addon channels because I never used them. But I'm interested, if data transfer of 2kB+ is possible then I will write a library that allows people to give other people their addon config over the server channels.

Nice idea!
__________________
Three things are certain,
Death, taxes and site not found,
You, victim of one.

Last edited by nightcracker : 11-20-09 at 11:21 AM.
  Reply With Quote
11-20-09, 11:30 AM   #3
Yhor
A Pyroguard Emberseer
 
Yhor's Avatar
Join Date: May 2007
Posts: 1,077
iirc, Open RDX has this functionality (sharing layouts (game desktops) in game via a channel). I'm not very familiar with it, but I'm 'fairly' certain it exists in OpenRDX.

If you are asking about more than just sharing layouts, I dunno. I don't know what extent you mean by "web shop / web pages", unless you mean for selling your crafted goods?
  Reply With Quote
11-20-09, 11:35 AM   #4
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by Yhor View Post
iirc, Open RDX has this functionality (sharing layouts (game desktops) in game via a channel). I'm not very familiar with it, but I'm 'fairly' certain it exists in OpenRDX.

If you are asking about more than just sharing layouts, I dunno. I don't know what extent you mean by "web shop / web pages", unless you mean for selling your crafted goods?
It could be anything. A webpage promoting your guild - including a signup page. Or a full-featured shop with a list of items you have/make and prices. Could be anything. No restrictions.

EDIT: Well... restrictions would be within the WoW restrictions with no disk access and no Internet access. So all would have to be within the game, of course. But within those boundaries, no restrictions.
In the extreme case, even update of addons would be possible. I haven't tested that particularly yet, but it should definitely be possible.
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.

Last edited by ybe : 11-20-09 at 11:45 AM.
  Reply With Quote
11-20-09, 11:37 AM   #5
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by nightcracker View Post
As far as I know this kind of huge datatransfer is blocked by the spam block filter from blizzard. I don't know how this is for addon channels because I never used them. But I'm interested, if data transfer of 2kB+ is possible then I will write a library that allows people to give other people their addon config over the server channels.

Nice idea!
The spam-filter is not too difficult to handle, so that's not really a problem.
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 11:44 AM   #6
nightcracker
A Molten Giant
 
nightcracker's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2009
Posts: 716
Originally Posted by ybe View Post
The spam-filter is not too difficult to handle, so that's not really a problem.
"not really a problem" doesn't solve it for me
Please get into details, I'm interested!
__________________
Three things are certain,
Death, taxes and site not found,
You, victim of one.
  Reply With Quote
11-20-09, 11:52 AM   #7
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by nightcracker View Post
"not really a problem" doesn't solve it for me
Please get into details, I'm interested!
Well - It depends on what you want to do. To broadcast huge amounts of data on a common channel is probably not a very good idea. If you want to share "huge" amounts of data with the guild or a few friends, that is totally possible. There is a library called chatthrottlelib if all you want to do is to get around the spam-limit.

For my own part, I have made a library that sends more complex data over (for now) the guild channel including throtteling, so the spam-limit is not a problem.
The library has been modified for some more cool support, but this is still a work in progress.

As I said, it's all down to what you want to do.
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 12:26 PM   #8
Akryn
A Firelord
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 479
There are addons that do this to some extent. The main problem is that there is no "addon" channel that is server-wide, so you have to use a real channel and hide it -- or whispers.

As far as updating addons that way: it would be technically possible, but extremely inefficient because the updated code would need to be stored in savedvars and executed via runscript.
  Reply With Quote
11-20-09, 12:30 PM   #9
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by nightcracker View Post
As far as I know this kind of huge datatransfer is blocked by the spam block filter from blizzard. I don't know how this is for addon channels because I never used them. But I'm interested, if data transfer of 2kB+ is possible then I will write a library that allows people to give other people their addon config over the server channels.

Nice idea!
Okay. I should say something about that config you mentioned.
To do what you say is at best risky. If it is possible to send data for several users, you must consider data collision events, and how to automatically resolve them. I have myself during betatest of my old addon DuckieBank had problems with that, simply because people modified the code to make it (they thought) faster. This resulted in huge collisions and problems that can be very difficult to resolve automatically.
Especially when you are talking about that kind of datasizes, the problems will get quite big.
But if you are interrested in automating that stuff, send me a PM, and I'll get you started on that with minimal coding in a few minutes
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 12:34 PM   #10
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by Akryn View Post
There are addons that do this to some extent. The main problem is that there is no "addon" channel that is server-wide, so you have to use a real channel and hide it -- or whispers.

As far as updating addons that way: it would be technically possible, but extremely inefficient because the updated code would need to be stored in savedvars and executed via runscript.
I know there are addons that sync server-wide, basically resulting in very small amounts of data.
But I have been sitting on this idea for a while, and I even wrote most of the code for it already. My problem is that - now - it seems too simple for me. I don't get why noone else hasn't done this. There must be a pitfall the size of Asia that I do not see here.

And for addons, yes. That's what I thought. And I have the methods for it worked out with full version checking and so on, but I think Bliz would hate me for it, as malicious code could spread like ... a virus :P
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 12:34 PM   #11
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,860
Originally Posted by Akryn View Post
There are addons that do this to some extent. The main problem is that there is no "addon" channel that is server-wide, so you have to use a real channel and hide it -- or whispers.
This ^^. And it can be a PITA to do/maintain.


PLUS - everyone would have to be using the same addon to send/receive messages.
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
11-20-09, 12:36 PM   #12
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by Seerah View Post
This ^^. And it can be a PITA to do/maintain.


PLUS - everyone would have to be using the same addon to send/receive messages.
Yes, sort of. But think of it as a network driver on a regular computer. A library where you stuff your data in in one end, and so on.
I mean - how often do you update your network driver?
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 12:38 PM   #13
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
The biggest problem I have found so far is that someone will f**k up the channel by doing something to it.
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 12:42 PM   #14
Akryn
A Firelord
AddOn Author - Click to view addons
Join Date: Mar 2008
Posts: 479
Originally Posted by ybe View Post
...malicious code could spread like ... a virus :P
I can only imagine...

||"Are you sure you want to run 'MyAddonSearch' downloaded from Yx_niHao34? (You should only run addons from players you trust)." [Allow] [Deny]"||
  Reply With Quote
11-20-09, 12:47 PM   #15
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by Akryn View Post
I can only imagine...

||"Are you sure you want to run 'MyAddonSearch' downloaded from Yx_niHao34? (You should only run addons from players you trust)." [Allow] [Deny]"||
Eww. "You are now naked, and all your epics have been sold on eBay"
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 12:51 PM   #16
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
Featured
Join Date: Oct 2006
Posts: 10,860
Originally Posted by ybe View Post
Eww. "You are now naked, and all your epics have been sold on eBay"
Not quite... More like "all your gold has been mailed to xxx"
__________________
"You'd be surprised how many people violate this simple principle every day of their lives and try to fit square pegs into round holes, ignoring the clear reality that Things Are As They Are." -Benjamin Hoff, The Tao of Pooh

  Reply With Quote
11-20-09, 01:12 PM   #17
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
But seriously...
I can just as well say why I am asking this. I have written a library for this already, based on well-tested code I wrote for DuckieBank.
The library have full support sending complex data both ways by using a global channel initially, and then transparently switching to whisper when a connection has been made.
The complex data includes sending tables that will come out the other end as an exact copy, network negotiation for collision prevention and resolving, and also including (for broadcasted data) automatic age checking to make sure old data does not spread.
The driver also incorporates a "web-server" that transparently will work no matter what same-faction alt you are on. This server will handle all communication after your addon registers with it. An addon will register and give the data to the driver. So in case you have written a browser that only shows "web" pages (no feedback like forms), the driver will never contact your addon as it will handle everything for you.

The driver incorporates search-capabilities so that a user may, for example, search for a guild in his browser. He may enter in the search-field: "guild, RP, military" and then receive a list of those that have hits, followed by clicking them and viewing their "web" page(s). The pages can be nested in a hierarchy like a normal web server. All this is supported by the driver. All you need to do is to design all your pages.

So I still wonder where the pitfall is...
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote
11-20-09, 02:43 PM   #18
Sepioth
A Molten Giant
AddOn Author - Click to view addons
Join Date: Apr 2005
Posts: 894
Maybe this is why ...

3) Add-ons must not negatively impact World of Warcraft realms or other players.
Add-ons will perform no function which, in Blizzard Entertainment's sole discretion, negatively impacts the performance of the World of Warcraft realms or otherwise negatively affects the game for other players. For example, this includes but is not limited to excessive use of the chat system, unnecessary loading from the hard disk, and slow frame rates.

I don't know about you but I kind of think that sending large data, throttled or not, would be considered excessive use of the chat system. I could be wrong.

But I do like the possibilities that can come from a system like this.

BTW this is from the UI Policy here
  Reply With Quote
11-21-09, 12:48 AM   #19
nightcracker
A Molten Giant
 
nightcracker's Avatar
AddOn Author - Click to view addons
Join Date: Sep 2009
Posts: 716
Originally Posted by Sepioth View Post
Maybe this is why ...

3) Add-ons must not negatively impact World of Warcraft realms or other players.
Add-ons will perform no function which, in Blizzard Entertainment's sole discretion, negatively impacts the performance of the World of Warcraft realms or otherwise negatively affects the game for other players. For example, this includes but is not limited to excessive use of the chat system, unnecessary loading from the hard disk, and slow frame rates.

I don't know about you but I kind of think that sending large data, throttled or not, would be considered excessive use of the chat system. I could be wrong.

But I do like the possibilities that can come from a system like this.

BTW this is from the UI Policy here
I think using addon channels is perfectly fine, even if it's completely spammed by all kind of addons, no one is negatively impacted because they don't see it!
__________________
Three things are certain,
Death, taxes and site not found,
You, victim of one.
  Reply With Quote
11-21-09, 03:51 AM   #20
ybe
An Aku'mai Servant
 
ybe's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 32
Originally Posted by Sepioth View Post
Maybe this is why ...

3) Add-ons must not negatively impact World of Warcraft realms or other players.
Add-ons will perform no function which, in Blizzard Entertainment's sole discretion, negatively impacts the performance of the World of Warcraft realms or otherwise negatively affects the game for other players. For example, this includes but is not limited to excessive use of the chat system, unnecessary loading from the hard disk, and slow frame rates.

I don't know about you but I kind of think that sending large data, throttled or not, would be considered excessive use of the chat system. I could be wrong.

But I do like the possibilities that can come from a system like this.

BTW this is from the UI Policy here
Ye, I have been thinking about that one for a bit. In an extreme event where the entire server are logged in to the channel, 1 byte of data would multiply to 7kB. That many users wont ever happen, but better safe than sorry.

I may have a solution to that though. The problem is that it's close to impossible to test it without launching the addon. A fullscale test would require to fill an entire server with people, so...
__________________
It doesn't matter if you win or lose.
It matter if I win or lose.
  Reply With Quote

WoWInterface » Developer Discussions » General Authoring Discussion » Server-wide data communication


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