Tags
Creators
Details
9.0
Compatibility
Changes
DS-Ads 9.0
Released: May 6, 2026
⚠️ BREAKING CHANGE — Complete Rewrite
Version 9.0 is a ground-up rewrite. Configuration files from previous versions are not compatible. Delete your old
Settings.ymland let the plugin generate a fresh one on first startup.
✅ What's New
- Tri-Platform Architecture — Three independent JARs:
spigot,bungeeandvelocity. Use whichever fits your network setup. - MiniMessage Format — All messages use the Adventure MiniMessage standard: gradients, hex colors, bold, italic and more, out of the box.
- Four Ad Types Per Announcement — Each ad can independently enable Chat, BossBar, ActionBar and Title, all in one pass.
- Welcome Ad — A dedicated first-join announcement system with its own Chat, BossBar, ActionBar and Title blocks, fully independent from the ad cycle.
- Sound Support (Spigot) — Each Chat ad on Spigot can play a configurable sound to the receiver.
- Server / World Filtering — Target ads to specific worlds (Spigot) or specific backend servers (BungeeCord / Velocity). Leave the list empty to broadcast to everyone.
- Permission Filtering — Optionally gate any ad behind a permission node. Players without it are silently skipped.
- Random Ad Cycle — The scheduler picks one ad at random every
Cooldownseconds instead of cycling in order, keeping ads feeling fresh. - Center Tag in Chat — Wrap any chat line in
<center>...</center>to automatically pad it to the middle of the chat window. - Debug Mode — Set
Plugin-Configuration.Debug: trueto enable magenta[DEBUG]log lines in the console. - Granular Permissions —
ads.send,ads.manageandads.reloadlet you control access to each subcommand independently. - Outdated Config Detection — If
Config-Versiondoesn't match the plugin version, a clear warning is printed so you know a migration is needed.
🔧 Improvements
- Rewritten
/adscommand withreload,enable,disableandsend <ad> <player|*>subcommands. - BossBar lifecycle fully managed: timers, player disconnect cleanup and proxy phase-safety (no more
CONFIGURATIONphase crashes on 1.20.2+). - Startup banner with version, platform and author info on every boot.
- Built-in update checker notifies ops when a new version is available.
📋 Update Instructions
- Stop your server or proxy completely.
- Remove the old DS-Ads
.jarfile. - Place the new platform-specific
.jar(spigot,bungeeorvelocity). - Delete your old
Settings.yml— it is not compatible with 9.0. - Start your server and configure the freshly generated
Settings.yml.
⚙️ Requirements
| Platform | Version |
|---|---|
| Java | 17 or newer |
| Spigot / Paper | 1.18.2 + |
| BungeeCord | 1.21 build |
| Velocity | 3.3.0 + |
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:bRybhBFJ:qcV8tKPJ"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:bRybhBFJ:qcV8tKPJ"
}

