3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-12-27 16:40:10 +01:00

Split up version data in dump

Dieser Commit ist enthalten in:
Nassim Jahnke 2024-04-21 21:55:59 +02:00
Ursprung f4e9225f85
Commit 73daac471c
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: EF6771C01F6EF02F
3 geänderte Dateien mit 36 neuen und 17 gelöschten Zeilen

Datei anzeigen

@ -17,25 +17,31 @@
*/ */
package com.viaversion.viaversion.dump; package com.viaversion.viaversion.dump;
import com.viaversion.viaversion.api.protocol.version.VersionType;
import java.util.Set; import java.util.Set;
public class VersionInfo { public class VersionInfo {
private final String javaVersion; private final String javaVersion;
private final String operatingSystem; private final String operatingSystem;
private final String serverProtocol; private final VersionType versionType;
private final Set<String> enabledProtocols; private final int serverProtocol;
private final String serverVersion;
private final Set<String> enabledVersions;
private final String platformName; private final String platformName;
private final String platformVersion; private final String platformVersion;
private final String pluginVersion; private final String pluginVersion;
private final String implementationVersion; private final String implementationVersion;
private final Set<String> subPlatforms; private final Set<String> subPlatforms;
public VersionInfo(String javaVersion, String operatingSystem, String serverProtocol, Set<String> enabledProtocols, public VersionInfo(String javaVersion, String operatingSystem, VersionType versionType, int serverProtocol, String serverVersion,
String platformName, String platformVersion, String pluginVersion, String implementationVersion, Set<String> subPlatforms) { Set<String> enabledVersions, String platformName, String platformVersion, String pluginVersion, String implementationVersion,
Set<String> subPlatforms) {
this.javaVersion = javaVersion; this.javaVersion = javaVersion;
this.operatingSystem = operatingSystem; this.operatingSystem = operatingSystem;
this.serverProtocol = serverProtocol; this.serverProtocol = serverProtocol;
this.enabledProtocols = enabledProtocols; this.versionType = versionType;
this.serverVersion = serverVersion;
this.enabledVersions = enabledVersions;
this.platformName = platformName; this.platformName = platformName;
this.platformVersion = platformVersion; this.platformVersion = platformVersion;
this.pluginVersion = pluginVersion; this.pluginVersion = pluginVersion;
@ -51,12 +57,20 @@ public class VersionInfo {
return operatingSystem; return operatingSystem;
} }
public String getServerProtocol() { public VersionType getVersionType() {
return versionType;
}
public int getServerProtocol() {
return serverProtocol; return serverProtocol;
} }
public Set<String> getEnabledProtocols() { public String getServerVersion() {
return enabledProtocols; return serverVersion;
}
public Set<String> getEnabledVersions() {
return enabledVersions;
} }
public String getPlatformName() { public String getPlatformName() {

Datei anzeigen

@ -23,6 +23,7 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.api.Via;
import com.viaversion.viaversion.api.connection.UserConnection; import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.platform.ViaPlatform;
import com.viaversion.viaversion.api.protocol.version.ProtocolVersion; import com.viaversion.viaversion.api.protocol.version.ProtocolVersion;
import com.viaversion.viaversion.dump.DumpTemplate; import com.viaversion.viaversion.dump.DumpTemplate;
import com.viaversion.viaversion.dump.VersionInfo; import com.viaversion.viaversion.dump.VersionInfo;
@ -56,33 +57,37 @@ public final class DumpUtil {
* @return completable future that completes with the url of the dump * @return completable future that completes with the url of the dump
*/ */
public static CompletableFuture<String> postDump(@Nullable final UUID playerToSample) { public static CompletableFuture<String> postDump(@Nullable final UUID playerToSample) {
final ProtocolVersion protocolVersion = Via.getAPI().getServerVersion().lowestSupportedProtocolVersion();
final ViaPlatform<?> platform = Via.getPlatform();
final VersionInfo version = new VersionInfo( final VersionInfo version = new VersionInfo(
System.getProperty("java.version"), System.getProperty("java.version"),
System.getProperty("os.name"), System.getProperty("os.name"),
Via.getAPI().getServerVersion().lowestSupportedProtocolVersion().toString(), protocolVersion.getVersionType(),
protocolVersion.getVersion(),
protocolVersion.getName(),
Via.getManager().getProtocolManager().getSupportedVersions().stream().map(ProtocolVersion::toString).collect(Collectors.toCollection(LinkedHashSet::new)), Via.getManager().getProtocolManager().getSupportedVersions().stream().map(ProtocolVersion::toString).collect(Collectors.toCollection(LinkedHashSet::new)),
Via.getPlatform().getPlatformName(), platform.getPlatformName(),
Via.getPlatform().getPlatformVersion(), platform.getPlatformVersion(),
Via.getPlatform().getPluginVersion(), platform.getPluginVersion(),
com.viaversion.viaversion.util.VersionInfo.getImplementationVersion(), com.viaversion.viaversion.util.VersionInfo.getImplementationVersion(),
Via.getManager().getSubPlatforms() Via.getManager().getSubPlatforms()
); );
final Map<String, Object> configuration = ((Config) Via.getConfig()).getValues(); final Map<String, Object> configuration = ((Config) Via.getConfig()).getValues();
final DumpTemplate template = new DumpTemplate(version, configuration, Via.getPlatform().getDump(), Via.getManager().getInjector().getDump(), getPlayerSample(playerToSample)); final DumpTemplate template = new DumpTemplate(version, configuration, platform.getDump(), Via.getManager().getInjector().getDump(), getPlayerSample(playerToSample));
final CompletableFuture<String> result = new CompletableFuture<>(); final CompletableFuture<String> result = new CompletableFuture<>();
Via.getPlatform().runAsync(() -> { platform.runAsync(() -> {
final HttpURLConnection con; final HttpURLConnection con;
try { try {
con = (HttpURLConnection) new URL("https://dump.viaversion.com/documents").openConnection(); con = (HttpURLConnection) new URL("https://dump.viaversion.com/documents").openConnection();
} catch (final IOException e) { } catch (final IOException e) {
Via.getPlatform().getLogger().log(Level.SEVERE, "Error when opening connection to ViaVersion dump service", e); platform.getLogger().log(Level.SEVERE, "Error when opening connection to ViaVersion dump service", e);
result.completeExceptionally(new DumpException(DumpErrorType.CONNECTION, e)); result.completeExceptionally(new DumpException(DumpErrorType.CONNECTION, e));
return; return;
} }
try { try {
con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("Content-Type", "application/json");
con.addRequestProperty("User-Agent", "ViaVersion-" + Via.getPlatform().getPlatformName() + "/" + version.getPluginVersion()); con.addRequestProperty("User-Agent", "ViaVersion-" + platform.getPlatformName() + "/" + version.getPluginVersion());
con.setRequestMethod("POST"); con.setRequestMethod("POST");
con.setDoOutput(true); con.setDoOutput(true);
@ -107,7 +112,7 @@ public final class DumpUtil {
result.complete(urlForId(output.get("key").getAsString())); result.complete(urlForId(output.get("key").getAsString()));
} catch (final Exception e) { } catch (final Exception e) {
Via.getPlatform().getLogger().log(Level.SEVERE, "Error when posting ViaVersion dump", e); platform.getLogger().log(Level.SEVERE, "Error when posting ViaVersion dump", e);
result.completeExceptionally(new DumpException(DumpErrorType.POST, e)); result.completeExceptionally(new DumpException(DumpErrorType.POST, e));
printFailureInfo(con); printFailureInfo(con);
} }