FZ Cross-realm Communicator
This add-on provides cross-realm communication with other players through chat channels.
Channels are inherently local to each server and thus messages are not broadcast to other servers. On the other hand, Battle.net conversations are in fact cross-realm, but are restricted to players who share Battle.net IDs with each other. In addition, Battle.net conversations do not persist upon logout so players must re-join the conversation if they log on to a different character, which requires an invitation from other players.
FZ Cross-realm Communicator (FZXC) attempts to remedy this problem by providing cross-realm channel broadcasts:
- The add-on monitors messages within designated channel(s) and silently broadcasts them to receiving player(s) on different realm(s).
- If subscribed to the channel, the receiving player(s) will then mirror the message to the channel on their current realm.
- This process can be mutual, so that messages within a certain channel on one realm is synchronized with messages within the same channel on another realm, possibly with a different alias.
- These players act as servers and allow messages to be transferred across realms. These players must be mutual Real ID / BattleTags friends and have the add-on installed.
Configuration
The add-on does nothing by default so it must be configured correctly to properly broadcast messages.
To set up a cross-realm channel, each server player must insert a special hashtag in the note of all the other server players. This tag establishes a one-way link between the source channel and the destination channel. The syntax of the tag is the following:
#source
:dest
where source
is the name of the source channel and dest
is the name of the destination channel. The :dest
portion is optional: if omitted, the destination channel will be of the same name as the source channel. The channel name may not contain any spaces and are not case-sensitive.
To edit the note, right-click the player in the friends list and choose Set Note. Multiple hashtags may be used in one note and any other miscellaneous text in the note (anything that does not look like a hashtag) will be silently ignored.
Once the hashtags are set up properly, type /fzxc info
and it should correctly display the subscribed channels and players responsible for broadcasting the messages.
In versions 1.0.7 and above, a channel subscription feature has been implemented. This allows receiving players to selectively choose which messages to receive. Therefore, to receive messages, the receiving player must subscribe to a channel by having a corresponding tag (but reversed in direction). For example, in order to receive messages in a (local) channel "foo
", the player must have a "#foo
" tag somewhere on the friends list. If the player is not subscribed to the channel (i.e. does not have the tag), messages directed to the that channel will be silently dropped. This is done for privacy reasons.
Additional commands are available by typing /fzxc
.
Example A: shared channel
As a simple example, consider 3 players, Alice, Bob, and Charlie, who would like to communicate through a common channel called "foo
". Whether these players are on same or different realms (or factions) is irrelevant; the configuration is identical. The 3 players are required to be mutual Battle.net friends (Real ID or BattleTag). For this setup,
- On Alice's friends list, "
#foo
" must be included in the note of both Bob and Charlie. - On Bob's friends list, "
#foo
" must be included in the note of both Charlie and Alice. - On Charlie's friends list, "
#foo
" must be included in the note of both Alice and Bob.
After the notes are set correctly, each player must then /join foo
in order to post and receive messages from the channel. Any messages that appear in the channel "foo
" on one realm will then be copied to the same channel on the other realm(s) that the 3 players are on.
Example B: one-way link
Consider two players, Alice and Bob, who are on different servers. Alice is in a channel named "foo
" and regularly posts messages in it. Bob would like to receive those messages in a channel named "bar
" on his own realm, but does not wish to reply to any of those messages. Alice can broadcast the messages to Bob's channel "bar
" by inserting "#foo:bar
" into Bob's note on her friends list.
However, in order for Bob to receive the messages, he must insert "#bar:noreply
" into Alice's note on his friends list. The tag is necessary in order to subscribe to Alice's broadcasts, while the "noreply
" is a dummy channel (which presumably doesn't exist on Alice's realm), so that any replied messages are automatically dropped on Alice's end.
Known issue(s):
- If the configuration is incorrect, multiple players may broadcast copies of the same message. Workaround: Ensure that every server player has all the other server players marked correctly using the hashtag.
Hehe, that would be an interesting idea, but at the moment I don't know how well the add-on scales to more than a handful of people. Don't let that stop you though: feel free to try and report any bugs you find!
The way the addon is configured right now is rather complex and easy to screw up, and gets worse as the number of people increases. I would eventually like to simplify this and allow the network to be extended in a more ad hoc way. However, that's also a rather tall order and I don't have a whole lot of free time :\
In any case, if you manage to collect a list of some sort, I'm happy to link it here through the addon description. (Note: you could also just use BattleTags)
If there are three people, with two of them being on the same server and the third on a different server, the people that are on the same server are seeing their messages multiple times. Is there a fix for this? Thanks.
This shouldn't happen under normal circumstances. How often does this occur? How many duplicates are you seeing? Are the duplicates broadcast by the same or different people?
I think what was happening is that since people on the same server were both in channel 'Foo' on their server, and were injecting messages into 'Foo', they were seeing things multiple times. I found a work around but it leaves much room for input error when setting it up. The work around that worked for us was as follows:
Alice and Bob are on Server1, Charlie is on Server2
The addon ought to be able to tell when multiple people are sharing the channel and defer to one of the players whenever there's a potential conflict (provided it's configured properly like in Example A).
Please try running /fzxc debug followed by /fzxc trace on each of the three players while everyone is online and let me know the results. Feel free to scrub the names as long as I can tell who's related to who. Thanks.
I checked and they are playing on a merged server - one is on Daggerspine and one is on Hakkar, but those two servers are merged. Does this help?
Oh, that makes sense. The add-on does not deal with connected realms correctly. I'll try to fix this but it might take a few days.
Great thanks, my friends and I find your program very valuable.
Sorry it's taken a while but I think it should be fixed now in version 2.0.1. Let me know if you run into any issues.
I couldn't get this to work today. I debugged it a little bit and found that the addon is thinking that my channel is public so it was not forwarding any data.
If I make isPublicChannel return false then the mod works perfectly. So something must've broke with the latest patch.
I'm having trouble reproducing this issue. isPublicChannel seems to work just fine for me. If you don't mind:
Thanks.
Sent you a PM with all the details.
Does this work in Warlords?
This sounds like a cool idea, but I'm just curious how this addon would interact with http://www.curse.com/addons/wow/friend-groups which also uses the same friend note syntax for it's groups
Unfortunately the syntax coincides with the aforementioned addon and thus cannot be used together.
I have a suggestion.. my daughter and I are connected and will be using this for a custom channel communications we can share with friends but what we really want to do is share the chat between guilds on two different servers. Can this be done without having everyone from both guilds join this customized channel?
Please let me know your advice. I LOVE this addon btw.. nice to see something positive come from crz :)
Thanks for the comment. However, due to scaling issues, I do not have plans to extend the capabilities further for public channels such as guild or trade at this point.
Is there a particular problem that you are running into? The configuration steps are outlined in the add-on description, but if something isn't clear I can try to help.
I don't really understand how to use this, damn it. I really want to use it.
Lets find an example situation so it's easyer to understand.
I'm on Karazhan server. Let's say I want a friend on another server to broadcast me his #trade channel, but not the other way arround necessarily(though it wouldn't bother). Who needs to install the addon and how should he set notes and for who?
The add-on was not designed with public channels (such as
Trade
) in mind, and the message broadcast was intended to be bidirectional so that messages would remain synchronized. However, if that is not what you intend to do, care you explain what you would like to accomplish? Are you attempting to forward the Trade channel to a player on another server?For a custom (non-public) channel named "
mychannel
", if you have two players A and B, both would need to install the add-on, and additionally:#mychannel
" to the note of player B.#mychannel
" to the note of player A.This would forward messages in "
mychannel
" in both directions.Update: there is now some partial support in versions 1.0.4 and above. If you wish to receive messages from your friend's Trade channel:
/join
a channel on Karazhan through which you will receive the messages, e.g. "mychannel
".#trade:mychannel
" under your Battle.net note, where "mychannel
" is the channel mentioned in step 2.