Links
Tags
Creators
Details
Licensed MIT
Published 2 years ago
Updated 3 days ago
All versions
2.2.0
Release
AutoStopper 2.2.0last week 28
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
1.7.x
Platform
Velocity
Changes
Added
- Failed
/autostopper start,stop, andrestartcommands now state the cause in chat. In game, hovering shows the remediation and the typed outcome code (matchingoutcome=invelocity.log), clicking opens the matching troubleshooting section, and a suggested next command (the retry or/autostopper status) follows the line. Console senders get the same cause, remediation, outcome, and link as plain text. Player connection messages are unchanged (#124). /autostopper helpfor operators, and/autostopper statuswhen any server has failed, end withTroubleshooting · Get helplinks. Documentation links are pinned to the running release (#124).docs/troubleshooting.mddocuments every manual command failure outcome (#124).docs/troubleshooting.mdhas an outcome reference covering everyoutcome=code in lifecycle log lines, including player connection outcomes,NO_MAPPING,PROXY_SHUTDOWN, and success codes (#123)./autostopper status <server>shows one server in detail: state and, while waking, the startup stage, hold, waiting players, time since activity, and the last failure with its age, cause, and fix. The console prints the exact failure time; players hover the age for it. It inspects only that server's container and tab-completes mapped server names. In game, clicking a server name in/autostopper statusopens its detail view (#125)./autostopper status <server>lists the server's last 10 completed lifecycle operations, newest first: startups, manual starts, stops, and restarts, and automatic stops, each with its age, who started it, its typed outcome (matchingoutcome=invelocity.log), and its duration. The history is in memory only; a proxy restart clears it, and a reload clears it for servers whose mapping was removed, added, or changed (#129).
Changed
/autostopper statusshows the last failure's age (last failure 3m ago during …) instead of a raw ISO-8601 timestamp, and leaves the remediation to/autostopper status <server>. Activity and failure ages share one format, and ages of a day or more read2d 3h ago(#125).- Velocity 4.1.0 (build 22) and 4.2.0 (build 30) are now tested stable runtimes alongside 4.0.0, with 4.2.0 the recommended production line and the stable example. The preview line now validates Velocity 4.2.1-SNAPSHOT (build 41). The packaged-runtime CI matrix, smoke profiles (
stable-4.0,stable-4.1,stable,preview), release-candidate E2E, and release metadata were updated to match. Pull requests run onlylegacy,stable, andpreview; the release gate also runsstable-4.0andstable-4.1(#134). /autostoppernow shows clickable Docs, GitHub, Modrinth, and Changelog links to everyone, and the version opens the release notes; console senders get the URLs as plain text. Documentation and changelog links are pinned to the running release (#131)./autostopper helpgroups commands under General, Lifecycle, and Holds, uses consistent imperative descriptions (also used by usage messages), drops the/autostopperand/autostopper helpentries, and shows each command's permission on hover. Sources without operator commands get the project links instead of an empty list (#131).- A cancelled manual stop now reports
Stopping server <name> was cancelled.instead of the start wording (#124). - Readiness checks no longer hold an AutoStopper worker for the whole readiness window. Each
attempt runs as a short, individually bounded task, and the probe interval between attempts waits
on a timer instead of a sleeping worker. Concurrent startups no longer delay other servers' status
checks, startups, stops, the inactivity scan, or
/autostopper status. Readiness deadlines, probe intervals, outcomes, cancellation, and shutdown are unchanged. If AutoStopper is saturated before the first attempt, the startup still reportsOVERLOADED; a later attempt skipped for saturation is retried at the next interval within the same deadline (#95). - The canonical build is the checksummed Maven 3.10.0 Wrapper. Maven's auto-discovered repository
prefix filter is disabled in
.mvn/maven.configbecause the PaperMC repository can publish a prefix file that omitscom.velocitypowered, which blocks Velocity API resolution.
Fixed
- A startup opened by
/autostopper startor/autostopper restartnow logsorigin=MANUAL_COMMANDin itsop=STARTUPlifecycle line instead oforigin=PLAYER_CONNECTION(#129). - A startup whose next step throws unexpectedly now fails with the stage's error outcome, so the
server becomes
FAILEDinstead of staying inSTARTINGuntil the proxy restarts. A manual restart in that case reportsSTART_FAILEDinstead of never completing (#118). - A manual stop that loses its server to another operation now ends
CANCELLEDand leaves that operation's state alone, instead of stopping the container or returning the server toREADY(#119).
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:PG4gqnzX:GcZnQDgl"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:PG4gqnzX:GcZnQDgl"
}

