Discord Viper
ViperBridge is a high-performance, server-side only gateway bridging Minecraft, Discord, and REST APIs. Chat relay, Discord moderation commands, player info queries, and full server control with no client mods required.
截图
介绍
Discord Viper (ViperBridge)
ViperBridge is a high-performance, server-side only bidirectional gateway bridging Minecraft, Discord, and REST APIs. No client mods required – vanilla players connect normally.
What the mod does
Chat relay – Two-way chat between a Discord channel and in-game chat, plus rich embed alerts for joins, leaves, deaths (with the real death reason), advancements (real announcements only, no recipe spam), and server start/stop.
45 Discord commands – Every command works as a native slash /command and as a !prefix command. All slash replies are private (ephemeral): only the person who ran the command sees the answer.
Moderation system – Kick, ban, IP-ban, timed tempbans with automatic pardon (survives restarts), server-side mutes, numbered warnings, pardons, kick-all, and ban/whitelist lists. Mutes, warnings, and tempbans persist in viperbridge_punishments.json.
Player lookups – Online players read live; offline players read their saved player data: coordinates, slot-accurate inventory grids, cracked-vs-premium profile checks with skin renders, and last-seen times.
Per-command permissions – Each command has its own Discord roles/users/Minecraft-player allowlist, on/off switch, and Discord client visibility flag. /help only lists commands the requester may use.
Account linking – Players link Discord and Minecraft accounts with a one-time code (/link in Discord, /viperbridge link <code> in game). Links power per-player permissions and work with cracked (offline-mode) accounts.
Extras – Console forwarding to Discord in ~1000-character chunks with IPs spoiler-masked, live player-count channel, bot presence, and a bearer-token REST API (health, players, player info, remote commands).
Command list
| Slash | Prefix | Default access | Description |
|——-|——–|—————|————-|
| /help | !help | Authorized | Show only the commands you may use |
| /players | !players | Authorized | List online players with ping |
| /player <name> | !player <name> | Authorized | Health, hunger, XP, gamemode, IP, inventory |
| /coords <name> | !coords <name> | Authorized | Dimension + XYZ, online or from saved data |
| /inventory <name> | !inventory <name> | Authorized | Slot-accurate grid: armor, offhand, hotbar, main |
| /profile <name> | !profile <name> | Authorized | Cracked/premium check, skin avatar, link status |
| /skin <name> | !skin <name> | Authorized | Full-body skin render |
| /link <mcname> | !link <mcname> | Everyone | Start linking, code delivered by DM |
| /unlink | !unlink | Authorized | Remove your account link |
| /kick <name> [reason] | !kick <name> [reason] | Authorized | Kick a player |
| /ban <name> [reason] | !ban <name> [reason] | Authorized | Ban a player |
| /ipban <name> [reason] | !ipban <name> [reason] | Authorized | IP-ban a player |
| /tempban <name> <dur> [reason] | !tempban <name> <dur> [reason] | Authorized | Timed ban, auto-pardon (30s/10m/2h/7d) |
| /mute <name> [dur] | !mute <name> [dur] | Authorized | Block chat + commands (empty = forever) |
| /unmute <name> | !unmute <name> | Authorized | Remove a mute |
| /mutes | !mutes | Authorized | Muted players with remaining time |
| /warn <name> [reason] | !warn <name> [reason] | Authorized | Numbered warning, player notified in game |
| /warnings <name> | !warnings <name> | Authorized | Show a player’s warnings |
| /clearwarns <name> | !clearwarns <name> | Authorized | Clear a player’s warnings |
| /pardon <name> | !pardon <name> | Authorized | Unban a player |
| /pardonip <ip> | !pardonip <ip> | Authorized | Unban an IP address |
| /kickall [reason] | !kickall [reason] | Authorized | Kick every online player |
| /banlist | !banlist | Authorized | Banned players with reasons |
| /kill <name> | !kill <name> | Authorized | Kill a player (must be online) |
| /say <message> | !say <message> | Authorized | Broadcast to all players |
| /command <command> | !cmd <command> | Authorized | Execute any Minecraft command |
| /stop | !stop | Authorized | Stop the server |
| /op <name> | !op <name> | Authorized | Grant operator status |
| /deop <name> | !deop <name> | Authorized | Remove operator status |
| /whitelist <action> [name] | !whitelist <action> [name] | Authorized | add/remove/on/off/list the whitelist |
| /gamemode <mode> [player] | !gamemode <mode> [player] | Authorized | Change gamemode |
| /give <player> <item> [count] | !give <player> <item> [count] | Authorized | Give items |
| /tp <player> <target> | !tp <player> <target> | Authorized | Teleport to a player or coordinates |
| /heal <name> | !heal <name> | Authorized | Restore health (must be online) |
| /feed <name> | !feed <name> | Authorized | Restore hunger (must be online) |
| /seen <name> | !seen <name> | Authorized | Last-online time (or online now) |
| /time <value> | !time <value> | Authorized | day/noon/night/midnight/ticks |
| /weather <type> [sec] | !weather <type> [sec] | Authorized | clear/rain/thunder |
| /save | !save | Authorized | Save all worlds to disk |
| /status | !status | Authorized | Players, uptime, memory, ticks overview |
| /uptime | !uptime | Authorized | Server uptime |
| /tps | !tps | Authorized | Tick info |
| /memory | !memory | Authorized | RAM usage |
| /seed | !seed | Authorized | World seed |
| /ping | !ping | Authorized | Bot latency |
| /effect <player> <effect> [sec] [lvl] | !effect <player> <effect> [sec] [lvl] | Authorized | Give a status effect |
| /clear <player> [item] | !clear <player> [item] | Authorized | Clear inventory |
| /difficulty <level> | !difficulty <level> | Authorized | peaceful/easy/normal/hard |
| /gamerule <rule> [value] | !gamerule <rule> [value] | Authorized | Set or query a gamerule |
| /spawnpoint <player> [x y z] | !spawnpoint <player> [x y z] | Authorized | Set spawn point |
| /setworldspawn [x y z] | !setworldspawn [x y z] | Authorized | Set world spawn |
| /defaultgamemode <mode> | !defaultgamemode <mode> | Authorized | Default gamemode |
| /sudo <player> <command> | !sudo <player> <command> | Authorized | Run a command as a player |
In-game commands: /viperbridge reload (reload config), /viperbridge status, /viperbridge discord reconnect, /viperbridge link <code> (usable by every player, no OP needed).
Configuration
Edit world/viperbridge/viperbridge.json after first launch (reload in game with /viperbridge reload).
| Field | Type | Default | Description |
|——-|——|———|————-|
| discordBotToken | string | "" | Discord bot token from the Developer Portal. Required. |
| discordGuildId | string | "" | Discord server ID. Enables instant slash-command registration and role features. |
| channels.chatRelayChannelId | string | "" | Chat relay + prefix-command channel. |
| channels.consoleForwardChannelId | string | "" | Server console output channel. |
| channels.liveStatusChannelId | string | "" | Channel renamed with the live player count. |
| webApi.enabled | boolean | false | Enable the REST API. |
| webApi.port | number | 8080 | REST API port. |
| webApi.apiSecretToken | string | "" | Bearer token for REST API auth. |
| forwardConsole | boolean | true | Master switch for console forwarding. |
| privacyMode | boolean | false | Full IP redaction, offline coords/inventory blocked, REST IPs hidden. |
| directRoleSync.syncEnabled | boolean | false | Sync Discord roles to MC teams. |
| directRoleSync.mappings | object | {} | Discord role ID to MC team mappings. |
| commandPrefix | string | "!" | Prefix for text commands. |
| enableDiscordCommands | boolean | true | Master switch for Discord commands. |
| allowedRoles | string[] | [] | Global Discord role IDs allowed to use commands. |
| allowedUsers | string[] | [] | Global Discord user IDs allowed to use commands. |
| botActivityText | string | "online players" | Bot status text (%count%, %max% placeholders). |
| linkCodeExpiryMinutes | number | 10 | How long link codes stay valid. |
| commandPermissions.<cmd>.enabled | boolean | true | Per-command on/off switch. |
| commandPermissions.<cmd>.roles | string[] | [] | Discord role IDs allowed for this command. |
| commandPermissions.<cmd>.users | string[] | [] | Discord user IDs allowed for this command. |
| commandPermissions.<cmd>.players | string[] | [] | Minecraft usernames allowed (matched via linked accounts). |
| commandPermissions.<cmd>.minPermission | string | "NONE" | Discord-side slash visibility: NONE, KICK_MEMBERS, BAN_MEMBERS, MODERATE_MEMBERS, MANAGE_SERVER, ADMINISTRATOR. |
| commandPermissions.<cmd>.open | boolean | false | Anyone may use the command (link is open by default). |
Checks run in order per command: open, then players (linked MC name), then command roles/users, then the global fallback. Denied attempts get a private error visible only to the requester.
Note: the 1.21.x build uses numeric channel/guild IDs and an extra discordInviteLink field; everything else is identical.
Privacy mode
Set "privacyMode": true to lock the mod down: every IP in Discord output (console, player lookups) is fully redacted instead of spoiler-masked, REST API IP fields return "hidden", and coords/inventory refuse offline-player lookups (online players still work). Public chat relay and announcements are unaffected.
REST API
Auth header: Authorization: Bearer <apiSecretToken>.
| Method | Endpoint | Auth | Description |
|——–|———-|——|————-|
| GET | /api/health | Optional | Status, player count, ticks |
| GET | /api/players | Required | All online players with stats |
| GET | /api/player/{name} | Required | Single player info |
| POST | /api/command | Required | Run a command: {"command": "say hello"} |
Installation
- Install Fabric Loader (0.16.x+ for 1.21.x, 0.17.x+ for 26.x) and Fabric API on your server.
- Download the JAR matching your Minecraft version (1.21.x, 26.1.x, 26.2.x, or 26.3) and drop it into the server
modsfolder. - Start the server once so
world/viperbridge/viperbridge.jsonis created, then stop it. - Edit the config: set
discordBotToken, the channel IDs underchannels, and command permissions. - In the Discord Developer Portal, enable MESSAGE CONTENT INTENT and SERVER MEMBERS INTENT, then invite the bot.
- Restart the server.
常见问题
Discord Viper 支持哪些 Minecraft 版本?
Discord Viper 支持 Minecraft Java 版 1.21–26.3,共 17 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
Discord Viper 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
Fabric Server Essentials 的其他作品
查看全部 →
Vein Miner
Viper Vein Miner is a lightweight, Server-Side vein-mining mod. Break one ore or log and mine its connected vein in a single action
Viper AntiXray
ViperAntiXray is an ultra-high-performance, 100% server-side Fabric utility engineered to secure server economies by completely blinding client-side X-Ray radars.
Custom Dimensions
Server-side Fabric mod for persistent custom dimensions and two-way portals.
Custom Dimensions
Server-side Fabric mod for persistent custom dimensions and two-way portals.
评论
登录后评论和评分