geforkt von Mirrors/Velocity
Register 1.13+ channels on legacy clients too.
Prior to this commit, Velocity registered 1.13 and "legacy" channels differently. This commit unifies both for legacy clients to make compatibility easier. It also fixes a related issue in the new LuckPerms port to Velocity.
Dieser Commit ist enthalten in:
Ursprung
2f6642dcd8
Commit
27288685ff
@ -45,7 +45,7 @@ public class ClientPlaySessionHandler implements MinecraftSessionHandler {
|
||||
if (player.getProtocolVersion() >= ProtocolConstants.MINECRAFT_1_13) {
|
||||
message = PluginMessageUtil.constructChannelsPacket("minecraft:register", VelocityServer.getServer().getChannelRegistrar().getModernChannelIds());
|
||||
} else {
|
||||
message = PluginMessageUtil.constructChannelsPacket("REGISTER", VelocityServer.getServer().getChannelRegistrar().getLegacyChannelIds());
|
||||
message = PluginMessageUtil.constructChannelsPacket("REGISTER", VelocityServer.getServer().getChannelRegistrar().getIdsForLegacyConnections());
|
||||
}
|
||||
player.getConnection().write(message);
|
||||
}
|
||||
@ -188,7 +188,7 @@ public class ClientPlaySessionHandler implements MinecraftSessionHandler {
|
||||
if (player.getProtocolVersion() >= ProtocolConstants.MINECRAFT_1_13) {
|
||||
toRegister.addAll(VelocityServer.getServer().getChannelRegistrar().getModernChannelIds());
|
||||
} else {
|
||||
toRegister.addAll(VelocityServer.getServer().getChannelRegistrar().getLegacyChannelIds());
|
||||
toRegister.addAll(VelocityServer.getServer().getChannelRegistrar().getIdsForLegacyConnections());
|
||||
}
|
||||
if (!toRegister.isEmpty()) {
|
||||
String channel = player.getConnection().getProtocolVersion() >= ProtocolConstants.MINECRAFT_1_13 ?
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.velocitypowered.proxy.messages;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.velocitypowered.api.proxy.messages.*;
|
||||
import com.velocitypowered.proxy.protocol.packet.PluginMessage;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@ -58,11 +59,8 @@ public class VelocityChannelRegistrar implements ChannelRegistrar {
|
||||
}
|
||||
}
|
||||
|
||||
public Collection<String> getLegacyChannelIds() {
|
||||
return identifierMap.values().stream()
|
||||
.filter(i -> i instanceof LegacyChannelIdentifier)
|
||||
.map(ChannelIdentifier::getId)
|
||||
.collect(Collectors.toList());
|
||||
public Collection<String> getIdsForLegacyConnections() {
|
||||
return ImmutableList.copyOf(identifierMap.keySet());
|
||||
}
|
||||
|
||||
public Collection<String> getModernChannelIds() {
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren