Added static protocol number option to support ViaVersion on the proxy side

This commit is contained in:
Nan1t 2023-05-31 12:12:35 +03:00
parent dbeb7cc037
commit 9558c2357b
3 changed files with 21 additions and 3 deletions

View File

@ -36,9 +36,16 @@ public class PacketStatusResponse implements PacketOut {
@Override @Override
public void encode(ByteMessage msg, Version version) { public void encode(ByteMessage msg, Version version) {
int protocol = server.getConfig().getInfoForwarding().isNone() int protocol;
? version.getProtocolNumber() int staticProtocol = server.getConfig().getPingData().getProtocol();
: Version.getMax().getProtocolNumber();
if (staticProtocol > 0) {
protocol = staticProtocol;
} else {
protocol = server.getConfig().getInfoForwarding().isNone()
? version.getProtocolNumber()
: Version.getMax().getProtocolNumber();
}
String ver = server.getConfig().getPingData().getVersion(); String ver = server.getConfig().getPingData().getVersion();
String desc = server.getConfig().getPingData().getDescription(); String desc = server.getConfig().getPingData().getDescription();

View File

@ -28,6 +28,7 @@ public class PingData {
private String version; private String version;
private String description; private String description;
private int protocol;
public String getVersion() { public String getVersion() {
return version; return version;
@ -45,6 +46,14 @@ public class PingData {
this.description = description; this.description = description;
} }
public int getProtocol() {
return protocol;
}
public void setProtocol(int protocol) {
this.protocol = protocol;
}
public static class Serializer implements TypeSerializer<PingData> { public static class Serializer implements TypeSerializer<PingData> {
@Override @Override
@ -52,6 +61,7 @@ public class PingData {
PingData pingData = new PingData(); PingData pingData = new PingData();
pingData.setDescription(Colors.of(node.node("description").getString(""))); pingData.setDescription(Colors.of(node.node("description").getString("")));
pingData.setVersion(Colors.of(node.node("version").getString(""))); pingData.setVersion(Colors.of(node.node("version").getString("")));
pingData.setProtocol(node.node("protocol").getInt(-1));
return pingData; return pingData;
} }

View File

@ -15,6 +15,7 @@ maxPlayers: 100
ping: ping:
description: '{"text": "&9NanoLimbo"}' description: '{"text": "&9NanoLimbo"}'
version: 'NanoLimbo' version: 'NanoLimbo'
protocol: -1
# Available dimensions: OVERWORLD, NETHER, THE_END # Available dimensions: OVERWORLD, NETHER, THE_END
dimension: THE_END dimension: THE_END