ProxyPluginUpdateCoordinator

public final class ProxyPluginUpdateCoordinator

Receives a backend-offered universal JAR over NetworkSync and durably stages one exact artifact for both the proxy root and Geyser extension.

Each RSPM JAR is responsible for its own version reporting. This coordinator deliberately does not consult any remote release metadata: pinning a proxy to whatever nightbreak.io currently publishes made backward and forward compatibility between backend and proxy jars unworkable. The offered artifact is still inspected, downgrade-guarded against the running JAR, and copied under SHA-256 verification, so a corrupt or truncated artifact is still rejected. What is no longer checked is provenance: a backend RSPM trusts over NetworkSync can offer any JAR that parses as a universal RSPM artifact and declares a version at or above the proxy's own.

Constructors

Link copied to clipboard
public void ProxyPluginUpdateCoordinator(Path workingDirectory, Path runningJar, Path geyserPluginDirectory, ProxyLogger logger)

Functions

Link copied to clipboard
public synchronized boolean accept(Path candidate)
Validates and stages a newly downloaded candidate.
Link copied to clipboard
public static boolean applyPending(Path workingDirectory, Path expectedRunningJar, Path expectedGeyserPluginDirectory, ProxyLogger logger)
Link copied to clipboard
public synchronized boolean applyPendingAtShutdown()
Applies a pending update during orderly proxy shutdown.
Link copied to clipboard
public Path pendingJar()
Link copied to clipboard
public Path pendingManifest()
Link copied to clipboard
public static ProxyPluginUpdateCoordinator production(Path workingDirectory, Path geyserPluginDirectory, ProxyLogger logger, Class<? extends Object> codeSourceAnchor)