GreenWall — Bridged Guild Chat for WoW Confederations

Stop juggling whispers and Discord channels just because Blizzard's 1,000-member guild cap forced your community into multiple guilds. GreenWall transparently bridges guild chat — and optionally officer chat — across every co-guild on a single realm or a connected-realm cluster, so a single conversation flows between all of them as if they were one guild.

The Problem

Blizzard caps guild membership at 1,000 characters. Active communities outgrow that fast, and the workaround — splitting into multiple guilds — fragments guild chat. Officers end up running parallel Discord channels, members lose track of who is in which sister guild, and join/leave events stop being visible across the whole community.

Existing bridge addons typically rely on a designated "gateway" member whose client relays the traffic. When that member logs out, the bridge dies. Configuration is done by every member individually, so newcomers can't see the bridged conversation until they set the addon up themselves.

The Solution

GreenWall uses a hidden custom chat channel as the transport. Every member of every co-guild joins the same channel automatically, and chat sent in any one co-guild's guild chat is replicated into the chat windows of every member of every other co-guild — routed through the channel, not through any one player.

There is no gateway member: with N online members the bridge has N independent senders. The bridge survives anyone logging out, and the only way to break it is for every member of every co-guild to be offline simultaneously.

Configuration lives in the in-game Guild Information page (J key). Officers set it up once for each co-guild; ordinary members install the addon and the bridge just works — zero per-member configuration required.

Core Features

Transparent Guild-Chat Bridging

Officer-Chat Bridging

Roster Announcements

Per-Character or Account-Wide Settings

Third-Party Addon API

Other addons can piggyback on the confederation bridge through GreenWallAPI:

An example consumer is GWSonar. Full reference in API.md.

Compatibility With Popular Chat Addons

How It Works

Hidden Custom Chat Channel

GreenWall does not use the addon-message API. Bridged traffic is sent as ordinary chat-channel messages on a custom channel that every member silently joins via JoinTemporaryChannel. The channel is removed from every chat-window subscription after joining, so it never appears in your chat. Each segment is structured as:

opcode#guild_id##payload

The opcode (C chat, B broadcast, N notice, R request, M addon, E external API) tells the receiver which adaptation-layer decoder to apply. Maximum segment length is 255 bytes; longer messages are truncated.

Loopback & Corruption Detection

Every transmitted segment is hashed with CRC-16-CCITT and counted in a per-channel transmit table. When a peer's own broadcast loops back through the channel, the hash count is decremented. If a self-sent segment arrives with a hash that doesn't match anything in the table, the addon raises a corruption warning — that's how GreenWall detects a third-party addon mutating outbound chat (Identity-2, Name2Chat, Incognito are the known offenders, hence the dedicated compatibility shims).

In-Game Configuration

The addon reads its confederation configuration from the Guild Information panel (J) at login time and on GUILD_ROSTER_UPDATE. The directive grammar is line-oriented:

GW:c:channel_name:password           # required common channel
GW:p:Darkmoon Clan:DMC               # peer co-guild + tag
GW:p:Baseball Dandies:BBD
GW:p:Nightlife:NL
GW:v:1.11.0                          # optional minimum addon version
GW:s:value:k                         # substitution variable, $k expands later

The optional officer-chat directive lives in the GM's officer note: GW:a:officer_channel:password. Reload the configuration after editing with /gw reload. Full grammar in CONFIGURATION_FORMAT.md; officer-oriented setup walkthrough in GUILD_QUICKSTART.md.

Reconnection & Backoff

Channel joins are debounced by a configurable joindelay (default 30s) so the General channel grabs slot 1 first. Per-channel join failures use exponential backoff (10s → 900s). Configuration reloads are gated by a 5-minute hold-down to prevent reload storms on guild-roster churn.

Slash Commands

Requirements

Recent Updates

v1.12.0 (Latest — 2026-04-29) — First Pimptasty fork release: long-standing bug fixes, dead-code cleanup, modernized TOC. Mark Rogaski's original work covers releases 0.9.00 (2010-11-01) through 1.11.18 (2025-05-24); see LICENSE for full attribution.

v1.11.18 (2025-05-24) — TOC date fix.

v1.11.17 (2025-05-24)

v1.11.16 (2024-11-10)

v1.11.15 (2024-10-24)

Community

For bug reports or feature requests, visit the project on CurseForge.

Dedication

GreenWall is dedicated in memoriam to Roger Keith White (1962-2017), known to the members of Alea Iacta Est as Ralff. He was instrumental in the creation and refinement of GreenWall, and the soul of our community writ in flesh and blood.

Never again shall we meet such a formidable mountain of intelligence, curiosity, hospitality, and non-stop innuendo.