Viscord#
Viscord is a server-side chat bridge for Minecraft. It connects one Minecraft server to Discord, to Fluxer, or to both at once, and relays chat and server events in both directions. Players never install it: a vanilla client can join a Viscord server and talk to Discord without any client-side mod.
The mod is one codebase with a shared common module and a thin loader layer per Minecraft version. Every supported cell ships from the same tree, so behaviour, config keys, and commands are identical across 1.18.2 and 26.3.
Two platforms, four modes#
general.platform selects which platform Viscord talks to. There is a fourth
mode on top of the three values, enabled by a separate flag.
| Mode | general.platform |
general.tridirectional.enabled |
Behaviour |
|---|---|---|---|
| Discord only | discord |
false |
Minecraft ↔ Discord |
| Fluxer only | fluxer |
false |
Minecraft ↔ Fluxer |
| Both | both |
false |
Events and chat go to both platforms, but Discord and Fluxer do not talk to each other |
| Tridirectional | both |
true |
Discord ↔ Fluxer ↔ Minecraft, all three legs relayed |
Tridirectional mode is the only mode where a Discord message can reach Fluxer
without passing through Minecraft chat first. The both mode is deliberately
not a bridge: it duplicates Minecraft traffic to two platforms and keeps them
isolated, which is what you want when two communities share a server but not a
conversation.
What it does#
Bridges chat. In-game chat is posted to the configured channel through a
webhook, so each line carries the player's name and skin avatar instead of
appearing as the bot. Channel messages come back into Minecraft chat formatted
from messages.discord_to_minecraft, with Discord markdown converted to
Minecraft formatting and [text](url) links turned into clickable components.
Announces server events. Joins, leaves, deaths, advancements, and
server-start / server-stop transitions are posted as embeds. Each category has
its own toggle under [messages.events]. Events can go to a second channel on
either platform, so chat and event noise stay separated.
Links accounts. A player runs /viscord discord link in game, gets a
six-digit code, and redeems it with /link code in Discord. The binding is
persisted to config/viscord/viscord-links.json and unlocks the native
Discord /home name command.
Keeps the bot presence honest. When bot_status.enabled is true the bot's
activity line tracks the live player count using bot_status.format.
Survives restarts and reloads. /viscord reload closes the platform
connection, re-reads viscord.toml, and reconnects without a server restart.
New config keys are injected automatically when you upgrade.
Requirements#
| Requirement | Detail |
|---|---|
| Minecraft | 1.18.2, 1.19.2, 1.20.1, 1.21.1, 26.1.2, 26.2, or 26.3 |
| Loader | Fabric, Forge, or NeoForge — see the matrix below |
| Java | 17 on the 1.18.2 – 1.20.1 lanes, 21 on 1.21.1, 25 on 26.x |
| Architectury API | Required on the 1.18.2, 1.19.2, 1.20.1, and 1.21.1 lanes |
| Side | Server only (environment: "server" in the mod metadata) |
| Discord (optional) | A bot application with the Message Content intent enabled |
| Fluxer (optional) | A bot token from the Fluxer developer portal |
| Disk | config/viscord/ for the TOML file, link map, and per-player preferences |
Version matrix#
Thirteen loader cells across seven Minecraft versions. One jar per cell; do not mix them.
| Minecraft | Fabric | Forge | NeoForge | Java |
|---|---|---|---|---|
| 26.3 | yes | — | yes | 25 |
| 26.2 | yes | — | yes | 25 |
| 26.1.2 | — | — | yes | 25 |
| 1.21.1 | yes | — | yes | 21 |
| 1.20.1 | yes | yes | — | 17 |
| 1.19.2 | yes | yes | — | 17 |
| 1.18.2 | yes | yes | — | 17 |
The 26.1.2 lane is NeoForge only. The 1.21.1 lane is the canonical modern tree — it is the one this documentation is written against — and it is the only 1.21.1 cell, so there is no Forge build for that version.
Getting started#
Install
Pick the jar for your loader and Minecraft version, verify its checksum, drop it in mods/, and let first boot write the config.
Configuration
Every key in viscord.toml with type, default, and meaning, grouped by table — including the two spec-only keys that do nothing.
Platform setup
Discord application, bot, intents, webhook, and channel IDs; Fluxer token and gateway; tridirectional wiring.
Commands
In-game command tree with real permission levels, native Discord application commands, and legacy text triggers.
Where to read next#
Installation takes you from download to a working bridge. Configuration is the key reference. Platform setup covers the Discord and Fluxer consoles. Commands documents every command surface. Account linking explains the code handshake and its security properties. Multi-server covers several Minecraft servers sharing one channel. Performance documents the threading model, Security the secrets and trust boundaries, and Troubleshooting the failure modes worth knowing before you open a ticket.
Project#
| Version documented | 5.2.1 |
| Repository | https://github.com/Vonix-Network/Viscord-Architectury |
| Releases | https://github.com/Vonix-Network/Viscord-Architectury/releases |
| License | MIT |
| Mod id | viscord |
| Config root | config/viscord/ |
The repository is the canonical tree for the modern multi-lane layout: nine lane
directories, a shared core module, and one Gradle build per supported cell.
Version 5.2.1 rebuilt all thirteen cells with no config, command, or
linked-account changes. The README.md in the repository still carries a
5.2.0 version banner; gradle.properties and every lane's mod_version say
5.2.1, and that is the version these pages describe.