View Single Post
09/20/17, 01:23 PM   #1
Ayantir
 
Ayantir's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2014
Posts: 1,019
[outdated] Sub communication channel for addons

Hello,

I know this is a 4 years old request but once again.

The lack of communication between clients is really a pain.
Since release, we did hacked few systems to emulate a communication between clients. They all got their limitations and issues.

The MapPing hack : Don't handle multiple addons using that technique very well.

The Social (Friend/Guild) Notes : Capped in length and break this functionnality. Users without the addon will have broken functionnalities, Multiple addons can conflict if too much data.

The internal mail system : Capped to ~70 messages of ~700 chars each. Receiver can be disconnected but need to check his mailxob often. Actually used by me for datamining.

The chat system : Require the user to press "Enter"

The Saved Variables & the daemon : Require an external software generally linked to a database on the web.



My suggestion !

A subcommunication channel for addons :
How it works ?

1 channel is removed from the list of channels available to everyone (if needed).
CHAT_CHANNEL_MONSTER_WHISPER & CHAT_CHANNEL_MONSTER_EMOTE are not used in game per example.

- Sending a message is limited to the chat system limitations (flood & length).
This will avoid spammy addons to send too much data.
- Sending a message is not possible while in combat (Protected function).
- Receiving a message is not possible while in combat (Is it really needed?)
This will prevent any power usage of combat / raiding / pvp usage.
- Receiving messages is capped to 10 messages / 10 seconds
- This would prevent the stupid answer of 500 users for 1 request.
- It would not be possible to send message to an ignored person
- Messages sent by ignored persons would not be received
- This would prevent "DDOSing" this system.

- Receiving a message is done throught EVENT_CHAT_MESSAGE_CHANNEL
- If possible, addon can send data to a specified target. It can be any valid target of the chat system. Some are removed to prevent abuses and traffic.
CHAT_CHANNEL_WHISPER, CHAT_CHANNEL_PARTY, CHAT_CHANNEL_GUILD_1 (+2+3+4+5) would be awesome.


- Ex of function :
SendAddonMessage(string message, number restrictedChannelId, string target)


Some example of addons which could become possible with this :

- Share of Coordinates
- Housing Directories
- Ingame Calendar
- Share of Achievements
- Other automatizations of P2P tasks / requests (such as craft).

I do understand that this could lead to unwanted power addons.
Disabling the communication while in combat suppress 99% of abuses.
I try to find what kind of power usage it could lead. It could also lead to a bigger network traffic but with some good coders it could not be too much. If you already have cases of bad things it could lead with this, just tell.

We chatted a bit and all the limitations mentionned already exists ingame and prevent almost everything.

Thank you for considering this.

Last edited by Ayantir : 09/20/17 at 01:50 PM.