Tags
Creators
Details
1.0.0
Compatibility
Changes
StreamGuard 1.0.0
The first complete StreamGuard release.
Highlights
- Configurable stream-gated survival enforcement for Paper and Spigot 1.20.1+.
- Twitch and YouTube verification with an optional in-game setup flow.
- Persistent and temporary administrator bypasses.
- English and Spanish message catalogs with MiniMessage formatting.
- An optional live feed API for companion web walls, including provider metadata when available.
- Batched provider verification: scheduled checks deduplicate players by stream link before calling provider APIs.
- Separate configurable caches for live and offline results; transient provider errors are not cached as offline denials.
- A configurable maximum age prevents stale provider observations from granting access indefinitely while manual administrator verification remains durable.
- Coalesced concurrent cache misses for the same stream link.
- Cache lifetimes begin when provider work completes, and scheduled verification passes cannot overlap.
- Cached YouTube handle resolution and batched checks for direct live/watch URLs.
- Protection against slow checks overwriting a newer stream link or administrator state.
- Conditional persistence makes that stale-result protection atomic at the data boundary.
- Shaded and relocated Adventure runtime classes so MiniMessage colors survive legacy string rendering across the supported server range.
Compatibility
- Paper or Spigot 1.20.1 and newer
- Java 17 and newer
- Twitch Helix credentials for Twitch verification
- A YouTube Data API key for YouTube verification
Both providers are disabled by default. An enabled provider with incomplete credentials is excluded until its configuration is complete.
Upgrade Notes
This release replaces the planned 1.0.0-beta.2 identifier. Servers upgrading
from 1.0.0-beta.1 can keep their existing data and configuration; review the
new verification.cache settings if provider request volume needs tuning.
The live feed now defaults to disabled. Enable it explicitly after configuring
its loopback listener and reverse proxy. /streamguard verify <player> [reason]
now records an explicitly manual verification; the former optional provider
label was ambiguous and has been removed. Legacy language-selection, global
movement/chat, and bypass-logging keys that were parsed but never applied have
also been removed from the bundled defaults; stale copies in an existing file
are ignored.
StreamGuard verifies public live status but does not authenticate ownership of a linked Twitch or YouTube channel. Communities that cannot rely on an honor system should verify ownership through an administrator-controlled process.
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:lhrIKTuf:LLpkcTkN"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:lhrIKTuf:LLpkcTkN"
}

