mirror of
https://github.com/ViaVersion/VIAaaS.git
synced 2024-11-21 11:55:15 +01:00
update to 1.20.2
change vialegacy and viaaprilfools config paths
This commit is contained in:
parent
2e7faf1ac9
commit
a751c115df
@ -60,8 +60,8 @@ dependencies {
|
|||||||
implementation(kotlin("stdlib-jdk8"))
|
implementation(kotlin("stdlib-jdk8"))
|
||||||
implementation(kotlin("reflect"))
|
implementation(kotlin("reflect"))
|
||||||
|
|
||||||
val vvVer = "4.9.0-23w40a-SNAPSHOT"
|
val vvVer = "4.9.0-23w41a-SNAPSHOT"
|
||||||
val vbVer = "4.9.0-23w40a-SNAPSHOT"
|
val vbVer = "4.9.0-23w41a-SNAPSHOT"
|
||||||
val vrVer = "3.0.3-SNAPSHOT"
|
val vrVer = "3.0.3-SNAPSHOT"
|
||||||
implementation("com.viaversion:viaversion:$vvVer") { isTransitive = false }
|
implementation("com.viaversion:viaversion:$vvVer") { isTransitive = false }
|
||||||
implementation("com.viaversion:viabackwards:$vbVer") { isTransitive = false }
|
implementation("com.viaversion:viabackwards:$vbVer") { isTransitive = false }
|
||||||
@ -74,19 +74,19 @@ dependencies {
|
|||||||
implementation("io.netty:netty-resolver-dns:$nettyVer")
|
implementation("io.netty:netty-resolver-dns:$nettyVer")
|
||||||
implementation("io.netty:netty-transport-native-epoll:$nettyVer:linux-aarch_64")
|
implementation("io.netty:netty-transport-native-epoll:$nettyVer:linux-aarch_64")
|
||||||
implementation("io.netty:netty-transport-native-epoll:$nettyVer:linux-x86_64")
|
implementation("io.netty:netty-transport-native-epoll:$nettyVer:linux-x86_64")
|
||||||
implementation("io.netty:netty-tcnative-boringssl-static:2.0.61.Final:linux-aarch_64")
|
implementation("io.netty:netty-tcnative-boringssl-static:2.0.62.Final:linux-aarch_64")
|
||||||
implementation("io.netty:netty-tcnative-boringssl-static:2.0.61.Final:linux-x86_64")
|
implementation("io.netty:netty-tcnative-boringssl-static:2.0.62.Final:linux-x86_64")
|
||||||
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.23.Final:linux-aarch_64")
|
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.23.Final:linux-aarch_64")
|
||||||
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.23.Final:linux-x86_64")
|
implementation("io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.23.Final:linux-x86_64")
|
||||||
|
|
||||||
implementation("com.google.guava:guava:32.0.1-jre")
|
implementation("com.google.guava:guava:32.0.1-jre")
|
||||||
implementation("com.velocitypowered:velocity-native:3.2.0-SNAPSHOT")
|
implementation("com.velocitypowered:velocity-native:3.2.0-SNAPSHOT")
|
||||||
implementation("net.coobird:thumbnailator:0.4.19")
|
implementation("net.coobird:thumbnailator:0.4.20")
|
||||||
implementation("org.powernukkit.fastutil:fastutil-lite:8.1.1")
|
implementation("org.powernukkit.fastutil:fastutil-lite:8.1.1")
|
||||||
implementation("org.yaml:snakeyaml:2.0")
|
implementation("org.yaml:snakeyaml:2.2")
|
||||||
|
|
||||||
val log4jVer = "2.20.0"
|
val log4jVer = "2.20.0"
|
||||||
val slf4jVer = "2.0.7"
|
val slf4jVer = "2.0.9"
|
||||||
implementation("com.lmax:disruptor:3.4.4")
|
implementation("com.lmax:disruptor:3.4.4")
|
||||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||||
implementation("org.apache.logging.log4j:log4j-core:$log4jVer")
|
implementation("org.apache.logging.log4j:log4j-core:$log4jVer")
|
||||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
3
gradle/wrapper/gradle-wrapper.properties
vendored
3
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,7 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
29
gradlew
vendored
29
gradlew
vendored
@ -83,10 +83,8 @@ done
|
|||||||
# This is normally unused
|
# This is normally unused
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
APP_BASE_NAME=${0##*/}
|
APP_BASE_NAME=${0##*/}
|
||||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
|
||||||
|
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
|
||||||
|
|
||||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
MAX_FD=maximum
|
MAX_FD=maximum
|
||||||
@ -133,10 +131,13 @@ location of your Java installation."
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
JAVACMD=java
|
JAVACMD=java
|
||||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
if ! command -v java >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
Please set the JAVA_HOME variable in your environment to match the
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
location of your Java installation."
|
location of your Java installation."
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Increase the maximum file descriptors if we can.
|
# Increase the maximum file descriptors if we can.
|
||||||
@ -144,7 +145,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|||||||
case $MAX_FD in #(
|
case $MAX_FD in #(
|
||||||
max*)
|
max*)
|
||||||
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||||
# shellcheck disable=SC3045
|
# shellcheck disable=SC2039,SC3045
|
||||||
MAX_FD=$( ulimit -H -n ) ||
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
warn "Could not query maximum file descriptor limit"
|
warn "Could not query maximum file descriptor limit"
|
||||||
esac
|
esac
|
||||||
@ -152,7 +153,7 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
|||||||
'' | soft) :;; #(
|
'' | soft) :;; #(
|
||||||
*)
|
*)
|
||||||
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||||
# shellcheck disable=SC3045
|
# shellcheck disable=SC2039,SC3045
|
||||||
ulimit -n "$MAX_FD" ||
|
ulimit -n "$MAX_FD" ||
|
||||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
esac
|
esac
|
||||||
@ -197,11 +198,15 @@ if "$cygwin" || "$msys" ; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Collect all arguments for the java command;
|
|
||||||
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
# shell script including quotes and variable substitutions, so put them in
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
# double quotes to make sure that they get re-expanded; and
|
|
||||||
# * put everything else in single quotes, so that it's not re-expanded.
|
# Collect all arguments for the java command:
|
||||||
|
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
|
||||||
|
# and any embedded shellness will be escaped.
|
||||||
|
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
|
||||||
|
# treated as '${Hostname}' itself on the command line.
|
||||||
|
|
||||||
set -- \
|
set -- \
|
||||||
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
"-Dorg.gradle.appname=$APP_BASE_NAME" \
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
package com.viaversion.aas.codec.packet.configuration;
|
||||||
|
|
||||||
|
import com.viaversion.aas.codec.packet.common.AbstractSingleJson;
|
||||||
|
|
||||||
|
public class ConfigurationDisconnect extends AbstractSingleJson {
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.viaversion.aas.codec.packet.configuration;
|
||||||
|
|
||||||
|
import com.viaversion.aas.UtilKt;
|
||||||
|
import com.viaversion.aas.codec.packet.Packet;
|
||||||
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class ConfigurationPluginMessage implements Packet {
|
||||||
|
private String channel;
|
||||||
|
private byte[] data;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void decode(@NotNull ByteBuf byteBuf, int protocolVersion) throws Exception {
|
||||||
|
channel = Type.STRING.read(byteBuf);
|
||||||
|
data = UtilKt.readRemainingBytes(byteBuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void encode(@NotNull ByteBuf byteBuf, int protocolVersion) throws Exception {
|
||||||
|
Type.STRING.write(byteBuf, channel);
|
||||||
|
Type.REMAINING_BYTES.write(byteBuf, data);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.viaversion.aas.codec.packet.configuration;
|
||||||
|
|
||||||
|
import com.viaversion.aas.codec.packet.Packet;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class FinishConfig implements Packet {
|
||||||
|
@Override
|
||||||
|
public void decode(@NotNull ByteBuf byteBuf, int protocolVersion) throws Exception {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void encode(@NotNull ByteBuf byteBuf, int protocolVersion) throws Exception {
|
||||||
|
}
|
||||||
|
}
|
@ -47,7 +47,9 @@ public class LoginStart implements Packet {
|
|||||||
profileKey = Type.OPTIONAL_PROFILE_KEY.read(byteBuf);
|
profileKey = Type.OPTIONAL_PROFILE_KEY.read(byteBuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (protocolVersion >= ProtocolVersion.v1_19_1.getVersion()) {
|
if (protocolVersion >= ProtocolVersion.v1_20_2.getVersion()) {
|
||||||
|
profileId = Type.UUID.read(byteBuf);
|
||||||
|
} else if (protocolVersion >= ProtocolVersion.v1_19_1.getVersion()) {
|
||||||
profileId = Type.OPTIONAL_UUID.read(byteBuf);
|
profileId = Type.OPTIONAL_UUID.read(byteBuf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -59,7 +61,9 @@ public class LoginStart implements Packet {
|
|||||||
&& protocolVersion < ProtocolVersion.v1_19_3.getVersion()) {
|
&& protocolVersion < ProtocolVersion.v1_19_3.getVersion()) {
|
||||||
Type.OPTIONAL_PROFILE_KEY.write(byteBuf, profileKey);
|
Type.OPTIONAL_PROFILE_KEY.write(byteBuf, profileKey);
|
||||||
}
|
}
|
||||||
if (protocolVersion >= ProtocolVersion.v1_19_1.getVersion()) {
|
if (protocolVersion >= ProtocolVersion.v1_20_2.getVersion()) {
|
||||||
|
Type.UUID.write(byteBuf, profileId);
|
||||||
|
} else if (protocolVersion >= ProtocolVersion.v1_19_1.getVersion()) {
|
||||||
Type.OPTIONAL_UUID.write(byteBuf, profileId);
|
Type.OPTIONAL_UUID.write(byteBuf, profileId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
package com.viaversion.aas.codec.packet.play;
|
||||||
|
|
||||||
|
import com.viaversion.aas.codec.packet.Packet;
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class ConfigurationAck implements Packet {
|
||||||
|
@Override
|
||||||
|
public void decode(@NotNull ByteBuf byteBuf, int protocolVersion) throws Exception {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void encode(@NotNull ByteBuf byteBuf, int protocolVersion) throws Exception {
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,69 @@
|
|||||||
|
package com.viaversion.aas.handler.state;
|
||||||
|
|
||||||
|
import com.google.gson.JsonPrimitive;
|
||||||
|
import com.viaversion.aas.UtilKt;
|
||||||
|
import com.viaversion.aas.codec.packet.Packet;
|
||||||
|
import com.viaversion.aas.codec.packet.configuration.ConfigurationDisconnect;
|
||||||
|
import com.viaversion.aas.codec.packet.configuration.FinishConfig;
|
||||||
|
import com.viaversion.aas.handler.HandlerUtilKt;
|
||||||
|
import com.viaversion.aas.handler.MinecraftHandler;
|
||||||
|
import com.viaversion.viaversion.api.protocol.packet.State;
|
||||||
|
import io.netty.channel.ChannelHandlerContext;
|
||||||
|
import io.netty.util.ReferenceCountUtil;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class ConfigurationState implements ConnectionState {
|
||||||
|
private boolean kickedByServer = false;
|
||||||
|
@NotNull
|
||||||
|
@Override
|
||||||
|
public State getState() {
|
||||||
|
return State.CONFIGURATION;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handlePacket(@NotNull MinecraftHandler handler, @NotNull ChannelHandlerContext ctx, @NotNull Packet packet) {
|
||||||
|
if (packet instanceof FinishConfig) handleFinish(handler, (FinishConfig) packet);
|
||||||
|
if (packet instanceof ConfigurationDisconnect) handleDisconnect(handler, (ConfigurationDisconnect) packet);
|
||||||
|
HandlerUtilKt.forward(handler, ReferenceCountUtil.retain(packet), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleDisconnect(MinecraftHandler handler, ConfigurationDisconnect packet) {
|
||||||
|
kickedByServer = true;
|
||||||
|
UtilKt.getMcLogger().debug(
|
||||||
|
"{} disconnected on config: {}",
|
||||||
|
handler.endRemoteAddress.toString(),
|
||||||
|
packet.getMsg()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleFinish(MinecraftHandler handler, FinishConfig packet) {
|
||||||
|
handler.getData().setState(new PlayState());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getLogDcInfo() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getKickedByServer() {
|
||||||
|
return kickedByServer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void disconnect(@NotNull MinecraftHandler handler, @NotNull String msg) {
|
||||||
|
ConnectionState.DefaultImpls.disconnect(this, handler, msg);
|
||||||
|
var packet = new ConfigurationDisconnect();
|
||||||
|
packet.setMsg(new JsonPrimitive("[VIAaaS] §c$msg"));
|
||||||
|
UtilKt.writeFlushClose(handler.getData().getFrontChannel(), packet, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onInactivated(@NotNull MinecraftHandler handler) {
|
||||||
|
ConnectionState.DefaultImpls.onInactivated(this, handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void start(@NotNull MinecraftHandler handler) {
|
||||||
|
}
|
||||||
|
}
|
@ -13,7 +13,7 @@ public class AspirinAprilFools implements ViaAprilFoolsPlatform {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
init(getDataFolder());
|
init(new File("config/viaaprilfools.yml"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -14,10 +14,10 @@ public class AspirinLegacy implements ViaLegacyPlatform {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public File getDataFolder() {
|
public File getDataFolder() {
|
||||||
return Via.getPlatform().getDataFolder();
|
return new File("config/vialegacy");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init() {
|
public void init() {
|
||||||
init(getDataFolder());
|
init(new File("config/vialegacy.yml"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.viaversion.aas.provider;
|
package com.viaversion.aas.provider;
|
||||||
|
|
||||||
import com.viaversion.aas.handler.UtilKt;
|
import com.viaversion.aas.handler.HandlerUtilKt;
|
||||||
import com.viaversion.viaversion.api.connection.UserConnection;
|
import com.viaversion.viaversion.api.connection.UserConnection;
|
||||||
import com.viaversion.viaversion.protocols.protocol1_9to1_8.providers.CompressionProvider;
|
import com.viaversion.viaversion.protocols.protocol1_9to1_8.providers.CompressionProvider;
|
||||||
|
|
||||||
@ -9,6 +9,6 @@ import java.util.Objects;
|
|||||||
public class AspirinCompressionProvider extends CompressionProvider {
|
public class AspirinCompressionProvider extends CompressionProvider {
|
||||||
@Override
|
@Override
|
||||||
public void handlePlayCompression(UserConnection user, int threshold) {
|
public void handlePlayCompression(UserConnection user, int threshold) {
|
||||||
UtilKt.setCompression(Objects.requireNonNull(user.getChannel()), threshold);
|
HandlerUtilKt.setCompression(Objects.requireNonNull(user.getChannel()), threshold);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,12 @@ package com.viaversion.aas.codec.packet
|
|||||||
import com.google.common.collect.Range
|
import com.google.common.collect.Range
|
||||||
import com.google.common.collect.RangeMap
|
import com.google.common.collect.RangeMap
|
||||||
import com.google.common.collect.TreeRangeMap
|
import com.google.common.collect.TreeRangeMap
|
||||||
|
import com.viaversion.aas.codec.packet.configuration.ConfigurationDisconnect
|
||||||
|
import com.viaversion.aas.codec.packet.configuration.ConfigurationPluginMessage
|
||||||
|
import com.viaversion.aas.codec.packet.configuration.FinishConfig
|
||||||
import com.viaversion.aas.codec.packet.handshake.Handshake
|
import com.viaversion.aas.codec.packet.handshake.Handshake
|
||||||
import com.viaversion.aas.codec.packet.login.*
|
import com.viaversion.aas.codec.packet.login.*
|
||||||
|
import com.viaversion.aas.codec.packet.play.ConfigurationAck
|
||||||
import com.viaversion.aas.codec.packet.play.Kick
|
import com.viaversion.aas.codec.packet.play.Kick
|
||||||
import com.viaversion.aas.codec.packet.play.PluginMessage
|
import com.viaversion.aas.codec.packet.play.PluginMessage
|
||||||
import com.viaversion.aas.codec.packet.play.ServerboundChatCommand
|
import com.viaversion.aas.codec.packet.play.ServerboundChatCommand
|
||||||
@ -33,6 +37,8 @@ import com.viaversion.viaversion.protocols.protocol1_19_3to1_19_1.ClientboundPac
|
|||||||
import com.viaversion.viaversion.protocols.protocol1_19_4to1_19_3.ClientboundPackets1_19_4
|
import com.viaversion.viaversion.protocols.protocol1_19_4to1_19_3.ClientboundPackets1_19_4
|
||||||
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19
|
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ClientboundPackets1_19
|
||||||
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ServerboundPackets1_19
|
import com.viaversion.viaversion.protocols.protocol1_19to1_18_2.ServerboundPackets1_19
|
||||||
|
import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.packet.ClientboundPackets1_20_2
|
||||||
|
import com.viaversion.viaversion.protocols.protocol1_20_2to1_20.packet.ServerboundPackets1_20_2
|
||||||
import com.viaversion.viaversion.protocols.protocol1_8.ClientboundPackets1_8
|
import com.viaversion.viaversion.protocols.protocol1_8.ClientboundPackets1_8
|
||||||
import com.viaversion.viaversion.protocols.protocol1_9to1_8.ClientboundPackets1_9
|
import com.viaversion.viaversion.protocols.protocol1_9to1_8.ClientboundPackets1_9
|
||||||
import io.netty.buffer.ByteBuf
|
import io.netty.buffer.ByteBuf
|
||||||
@ -77,6 +83,12 @@ object PacketRegistry {
|
|||||||
register(State.STATUS, Direction.CLIENTBOUND, ::StatusResponse, Range.all(), 0)
|
register(State.STATUS, Direction.CLIENTBOUND, ::StatusResponse, Range.all(), 0)
|
||||||
register(State.STATUS, Direction.CLIENTBOUND, ::StatusPong, Range.all(), 1)
|
register(State.STATUS, Direction.CLIENTBOUND, ::StatusPong, Range.all(), 1)
|
||||||
|
|
||||||
|
register(State.CONFIGURATION, Direction.CLIENTBOUND, ::ConfigurationPluginMessage, Range.all(), 0)
|
||||||
|
register(State.CONFIGURATION, Direction.CLIENTBOUND, ::ConfigurationDisconnect, Range.all(), 1)
|
||||||
|
register(State.CONFIGURATION, Direction.CLIENTBOUND, ::FinishConfig, Range.all(), 2)
|
||||||
|
register(State.CONFIGURATION, Direction.SERVERBOUND, ::ConfigurationPluginMessage, Range.all(), 1)
|
||||||
|
register(State.CONFIGURATION, Direction.SERVERBOUND, ::FinishConfig, Range.all(), 2)
|
||||||
|
|
||||||
register(
|
register(
|
||||||
State.PLAY, Direction.CLIENTBOUND, ::Kick, mapOf(
|
State.PLAY, Direction.CLIENTBOUND, ::Kick, mapOf(
|
||||||
ProtocolVersion.v1_7_1..ProtocolVersion.v1_8 to ClientboundPackets1_8.DISCONNECT.id,
|
ProtocolVersion.v1_7_1..ProtocolVersion.v1_8 to ClientboundPackets1_8.DISCONNECT.id,
|
||||||
@ -91,8 +103,8 @@ object PacketRegistry {
|
|||||||
ProtocolVersion.v1_19.singleton to ClientboundPackets1_19.DISCONNECT.id,
|
ProtocolVersion.v1_19.singleton to ClientboundPackets1_19.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_19_1.singleton to ClientboundPackets1_19_1.DISCONNECT.id,
|
ProtocolVersion.v1_19_1.singleton to ClientboundPackets1_19_1.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_19_3.singleton to ClientboundPackets1_19_3.DISCONNECT.id,
|
ProtocolVersion.v1_19_3.singleton to ClientboundPackets1_19_3.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_19_4.singleton to ClientboundPackets1_19_4.DISCONNECT.id,
|
ProtocolVersion.v1_19_4..ProtocolVersion.v1_20 to ClientboundPackets1_19_4.DISCONNECT.id,
|
||||||
ProtocolVersion.v1_20.singleton to ClientboundPackets1_19_4.DISCONNECT.id // todo change to 1.20 if needed
|
ProtocolVersion.v1_20_2.singleton to ClientboundPackets1_20_2.DISCONNECT.id
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
register(
|
register(
|
||||||
@ -109,8 +121,8 @@ object PacketRegistry {
|
|||||||
ProtocolVersion.v1_19.singleton to ClientboundPackets1_19.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_19.singleton to ClientboundPackets1_19.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_19_1.singleton to ClientboundPackets1_19_1.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_19_1.singleton to ClientboundPackets1_19_1.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_19_3.singleton to ClientboundPackets1_19_3.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_19_3.singleton to ClientboundPackets1_19_3.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_19_4.singleton to ClientboundPackets1_19_4.PLUGIN_MESSAGE.id,
|
ProtocolVersion.v1_19_4..ProtocolVersion.v1_20 to ClientboundPackets1_19_4.PLUGIN_MESSAGE.id,
|
||||||
ProtocolVersion.v1_20.singleton to ClientboundPackets1_19_4.PLUGIN_MESSAGE.id
|
ProtocolVersion.v1_20_2.singleton to ClientboundPackets1_20_2.PLUGIN_MESSAGE.id
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
register(
|
register(
|
||||||
@ -120,7 +132,10 @@ object PacketRegistry {
|
|||||||
ProtocolVersion.v1_8.singleton,
|
ProtocolVersion.v1_8.singleton,
|
||||||
ClientboundPackets1_8.SET_COMPRESSION.id
|
ClientboundPackets1_8.SET_COMPRESSION.id
|
||||||
)
|
)
|
||||||
// todo update this to 1.19.3
|
register(State.PLAY, Direction.SERVERBOUND, ::ConfigurationAck, mapOf(
|
||||||
|
ProtocolVersion.v1_20_2.singleton to ServerboundPackets1_20_2.CONFIGURATION_ACKNOWLEDGED.id
|
||||||
|
))
|
||||||
|
// todo update this to latest version
|
||||||
register(
|
register(
|
||||||
State.PLAY, Direction.SERVERBOUND, ::ServerboundChatCommand,
|
State.PLAY, Direction.SERVERBOUND, ::ServerboundChatCommand,
|
||||||
mapOf(
|
mapOf(
|
||||||
@ -204,6 +219,8 @@ object PacketRegistry {
|
|||||||
try {
|
try {
|
||||||
packet.decode(byteBuf, protocolVersion)
|
packet.decode(byteBuf, protocolVersion)
|
||||||
return ReferenceCountUtil.retain(packet)
|
return ReferenceCountUtil.retain(packet)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
throw StacklessException("Failed to decode $packetId $state $direction", e)
|
||||||
} finally {
|
} finally {
|
||||||
ReferenceCountUtil.release(packet)
|
ReferenceCountUtil.release(packet)
|
||||||
}
|
}
|
||||||
@ -217,6 +234,10 @@ object PacketRegistry {
|
|||||||
?: throw StacklessException("Failed to get id for " + packet::class.java.simpleName)
|
?: throw StacklessException("Failed to get id for " + packet::class.java.simpleName)
|
||||||
}
|
}
|
||||||
Type.VAR_INT.writePrimitive(byteBuf, id)
|
Type.VAR_INT.writePrimitive(byteBuf, id)
|
||||||
packet.encode(byteBuf, protocolVersion)
|
try {
|
||||||
|
packet.encode(byteBuf, protocolVersion)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
throw StacklessException("Failed to encode $id $direction", e)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,10 @@ class LoginState : ConnectionState {
|
|||||||
forward(handler, SetCompression().also { it.threshold = threshold })
|
forward(handler, SetCompression().also { it.threshold = threshold })
|
||||||
setCompression(handler.data.frontChannel, threshold)
|
setCompression(handler.data.frontChannel, threshold)
|
||||||
}
|
}
|
||||||
handler.data.state = PlayState()
|
handler.data.state = when {
|
||||||
|
handler.data.frontVer!! >= ProtocolVersion.v1_20_2.version -> ConfigurationState()
|
||||||
|
else -> PlayState()
|
||||||
|
}
|
||||||
forward(handler, loginSuccess)
|
forward(handler, loginSuccess)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,7 +292,7 @@ class LoginState : ConnectionState {
|
|||||||
loginStart.username = backName!!
|
loginStart.username = backName!!
|
||||||
// todo implement profile public key?
|
// todo implement profile public key?
|
||||||
loginStart.profileKey = null
|
loginStart.profileKey = null
|
||||||
loginStart.profileId = null
|
loginStart.profileId = generateOfflinePlayerUuid(loginStart.username!!)
|
||||||
send(handler.data.backChannel!!, loginStart, true)
|
send(handler.data.backChannel!!, loginStart, true)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
handler.data.frontChannel.fireExceptionCaughtIfOpen(e)
|
handler.data.frontChannel.fireExceptionCaughtIfOpen(e)
|
||||||
|
@ -3,6 +3,7 @@ package com.viaversion.aas.handler.state
|
|||||||
import com.google.gson.JsonPrimitive
|
import com.google.gson.JsonPrimitive
|
||||||
import com.viaversion.aas.codec.packet.Packet
|
import com.viaversion.aas.codec.packet.Packet
|
||||||
import com.viaversion.aas.codec.packet.UnknownPacket
|
import com.viaversion.aas.codec.packet.UnknownPacket
|
||||||
|
import com.viaversion.aas.codec.packet.play.ConfigurationAck
|
||||||
import com.viaversion.aas.codec.packet.play.Kick
|
import com.viaversion.aas.codec.packet.play.Kick
|
||||||
import com.viaversion.aas.codec.packet.play.PluginMessage
|
import com.viaversion.aas.codec.packet.play.PluginMessage
|
||||||
import com.viaversion.aas.codec.packet.play.ServerboundChatCommand
|
import com.viaversion.aas.codec.packet.play.ServerboundChatCommand
|
||||||
@ -33,10 +34,15 @@ class PlayState : ConnectionState {
|
|||||||
packet is Kick -> handleKick(handler, packet)
|
packet is Kick -> handleKick(handler, packet)
|
||||||
packet is ServerboundChatCommand -> modifyChatCommand(packet)
|
packet is ServerboundChatCommand -> modifyChatCommand(packet)
|
||||||
packet is ServerboundChatMessage -> modifyChatMessage(packet)
|
packet is ServerboundChatMessage -> modifyChatMessage(packet)
|
||||||
|
packet is ConfigurationAck -> handleConfigAck(handler, packet)
|
||||||
}
|
}
|
||||||
forward(handler, ReferenceCountUtil.retain(packet))
|
forward(handler, ReferenceCountUtil.retain(packet))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun handleConfigAck(handler: MinecraftHandler, packet: ConfigurationAck) {
|
||||||
|
handler.data.state = ConfigurationState()
|
||||||
|
}
|
||||||
|
|
||||||
private fun handleKick(handler: MinecraftHandler, packet: Kick) {
|
private fun handleKick(handler: MinecraftHandler, packet: Kick) {
|
||||||
kickedByServer = true
|
kickedByServer = true
|
||||||
mcLogger.debug(
|
mcLogger.debug(
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
package com.viaversion.aas.protocol
|
|
||||||
|
|
||||||
import com.viaversion.viaversion.api.minecraft.Position
|
|
||||||
import com.viaversion.viaversion.api.protocol.packet.PacketWrapper
|
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.ValueReader
|
|
||||||
import com.viaversion.viaversion.api.protocol.remapper.ValueWriter
|
|
||||||
import com.viaversion.viaversion.api.type.Type
|
|
||||||
|
|
||||||
val xyzToPosition = ValueReader { packetWrapper: PacketWrapper ->
|
|
||||||
val x = packetWrapper.read(Type.INT)
|
|
||||||
val y = packetWrapper.read(Type.INT)
|
|
||||||
val z = packetWrapper.read(Type.INT)
|
|
||||||
Position(x, y, z)
|
|
||||||
}
|
|
||||||
val xyzUBytePos = ValueReader { packetWrapper: PacketWrapper ->
|
|
||||||
val x = packetWrapper.read(Type.INT)
|
|
||||||
val y = packetWrapper.read(Type.UNSIGNED_BYTE).toInt()
|
|
||||||
val z = packetWrapper.read(Type.INT)
|
|
||||||
Position(x, y, z)
|
|
||||||
}
|
|
||||||
val xyzUBytePosWriter = ValueWriter { packetWrapper: PacketWrapper, pos: Position ->
|
|
||||||
packetWrapper.write(Type.INT, pos.x())
|
|
||||||
packetWrapper.write(Type.UNSIGNED_BYTE, pos.y().toShort())
|
|
||||||
packetWrapper.write(Type.INT, pos.z())
|
|
||||||
}
|
|
||||||
val xyzShortPosWriter = ValueWriter { packetWrapper: PacketWrapper, pos: Position ->
|
|
||||||
packetWrapper.write(Type.INT, pos.x())
|
|
||||||
packetWrapper.write(Type.SHORT, pos.y().toShort())
|
|
||||||
packetWrapper.write(Type.INT, pos.z())
|
|
||||||
}
|
|
||||||
val xyzShortPos = ValueReader { packetWrapper: PacketWrapper ->
|
|
||||||
val x = packetWrapper.read(Type.INT)
|
|
||||||
val y = packetWrapper.read(Type.SHORT).toInt()
|
|
||||||
val z = packetWrapper.read(Type.INT)
|
|
||||||
Position(x, y, z)
|
|
||||||
}
|
|
@ -125,6 +125,7 @@ frame-src 'self' https://login.microsoftonline.com/ https://login.live.com/"
|
|||||||
</div>
|
</div>
|
||||||
<datalist id="backend_version_list">
|
<datalist id="backend_version_list">
|
||||||
<option>AUTO</option>
|
<option>AUTO</option>
|
||||||
|
<option>1.20.2</option>
|
||||||
<option value="1.20.1">1.20(.1)</option>
|
<option value="1.20.1">1.20(.1)</option>
|
||||||
<option>1.19.4</option>
|
<option>1.19.4</option>
|
||||||
<option>1.19.3</option>
|
<option>1.19.3</option>
|
||||||
|
Loading…
Reference in New Issue
Block a user