Class MultiVersionService
- Namespace
- McServerLauncher.Services
- Assembly
- McServerLauncher.dll
Letting people join from a Minecraft version other than the one the server runs.
public class MultiVersionService
- Inheritance
-
MultiVersionService
- Inherited Members
Remarks
Two plugins, and they are not interchangeable. ViaVersion admits clients newer than the server, which is what happens the week a Minecraft version ships and everyone updates before the server can. ViaBackwards admits clients older than the server, which is the friend who never updates. Installing only the first covers the rarer half and looks like the feature is broken for everyone else.
Deliberately independent of crossplay. Geyser does not need either of these, and a Java-only server gets the whole benefit — this is about which versions may connect, not which edition.
Constructors
MultiVersionService(ModrinthService?)
public MultiVersionService(ModrinthService? modrinth = null)
Parameters
modrinthModrinthService
Fields
ProjectIds
Modrinth ids. Both publish for the paper loader, which covers the family.
public static readonly string[] ProjectIds
Field Value
- string[]
Methods
CanEnable(ServerType)
Whether this kind of server can take them at all.
public static bool CanEnable(ServerType type)
Parameters
typeServerType
Returns
Remarks
Plugin family only. The mod-loader builds exist, but a modded server already refuses clients whose mods do not match, so version bridging there solves a problem the loader recreates.
InstallAsync(ServerConfig, IProgress<string>?, CancellationToken)
Installs both plugins into the server, verified, reporting progress.
public Task InstallAsync(ServerConfig config, IProgress<string>? log, CancellationToken ct = default)
Parameters
configServerConfiglogIProgress<string>ctCancellationToken
Returns
Remarks
Both or neither, like Geyser and Floodgate: half of this is a server that quietly turns away the very players it was switched on for.