Tags
Creators
Details
1.5.2+velocity
Compatibility
Changes
Unreleased — Freeze instead of kick
⚠️ Read before updating
Unlinked players are no longer kicked on join. On Paper they now stay on the server, frozen, until they link. kick-message is gone from the Paper config.yml — it is replaced by the freeze-* keys (a leftover kick-message is ignored). Velocity keeps kicking unless you set a limbo-server (see below).
New
- Freeze instead of kick (Paper). Unlinked players join, can look around but can't move, build, break, fight, pick up, chat or run commands (
/dgstill works) and take no damage. They are released the moment the link goes through — via Discord, the API or/dg admin link— and get the usual welcome message. - Tells you what to do. Chat message, title and a repeating action bar with the link code. The chat message is repeated every
freeze-reminder-seconds(30). - One-click link. The chat message carries
https://<bot>/discordgate/<code>(click opens the browser, no typing). The code is clickable too and copies/mc link <code>.link-urloverrides the address; with neitherlink-urlnorbot-api-urlthe link line is dropped. - Vanilla whitelist no longer hides the prompt. With
white-list=true, unlinked players used to be turned away before they could be told how to link; they are now let in and frozen (bans and full-server still apply). - Unlinking freezes instead of kicking —
/dg unlink,/dg admin unlinkand/mc unlinkput an online player straight back into the freeze with a fresh code. - Velocity:
limbo-server. A proxy can't hold a player in place, so unlinked players are parked on a limbo server of your choice (e.g. NanoLimbo) and get the same prompt there; once linked they are sent tolimbo-return-server(default: first try-order server). Withoutlimbo-serverthe proxy kicks as before — now with the clickable-link text — rather than let unlinked players onto a real server.
Fixed
- Velocity: the default
kick-message/locked-messageused a doubled backslash and printed a literal\ninstead of a line break. /dgfor an unlinked player shows the same prompt (with link) as the freeze.
v1.5.1 — Link-Code Fix
Fixed
- Link code no longer changes on every join attempt. Each connection attempt minted a new code and invalidated the previous one, so the code on the kick screen a player was about to type could already be dead — reported as "the code is not the actual code" / "invalid or expired right after I got it". Re-issuing now returns the same code with a refreshed expiry until it runs out (
token-ttl-minutes). {code}and{token}are now both accepted inkick-messageon both platforms. Paper only replaced{code}, Velocity only{token}, so a config copied across platforms put the literal placeholder on the kick screen.- A failed
GET /dg/token/{code}is logged (Token lookup miss: <code> (N pending)), so a support case can tell a wrong code apart from a bot that never reached the server.
v1.5.0 — Status Board & Latest MC
⚠️ Read before updating
The HTTP API now refuses to start while secret is still CHANGE-ME or empty. Anyone who knew the default could whitelist themselves through /dg/whitelist. Set a real secret first — otherwise the plugin loads but the API stays offline.
New
- Runs on the latest Minecraft. Built against the Paper 26.2 API, still supported down to 1.20.6.
GET /dg/stats— one call for a status snapshot: online state, platform + MC version, uptime, players, TPS/MSPT, and the per-backend split on Velocity.- ViaVersion aware. Reports which client versions can actually connect. Detected at runtime — ViaVersion/ViaBackwards/ViaRewind stay optional.
- Live status board in Discord. BaxiBot keeps a self-updating embed in a channel you pick. Pick it under MC Link in the dashboard.
/mc whois— look up who owns a Minecraft name, or which account a member has, skin head included. Open to everyone, unlike/mc admin lookup.events-relay-source— join/quit relaying no longer piggybacks onchat-relay-source. Leave it unset to keep current behaviour.
Fixed
- Update notice in-game checked an unregistered permission (
discordgate.admin), so only OPs ever saw it — nowdg.admin. - API server leaked two threads on every
/reload.
Internal
Paper and Velocity now share one code base for link storage, HTTP handling and bot calls instead of two near-identical copies. No behaviour change — data files and every endpoint are untouched.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:7ugnDVGC:Kewb7ZQW"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:7ugnDVGC:Kewb7ZQW"
}

