adde0109 / ambassador Goto Github PK
View Code? Open in Web Editor NEWThis is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy!
License: GNU Lesser General Public License v2.1
This is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy!
License: GNU Lesser General Public License v2.1
Hello im using ambassador inside my velocity proxy, but im getting this
Velocity log:
https://pastebin.com/7Tw2UECD
Player log: https://pastebin.com/DwRKbxRD
i can join server if i dont have * perm on my user but if i put it it disconnects me and cant join back
When connecting via Velocity 3.2.0 snapshot 265 to a Magma 1.18.2 back-end (version b3448c1f) using Legacy Authentication clients reach the "downloading world" stage, then are immediately disconnected. The first time this happens we get this console message:
Server thread/WARN22:48:48
java.util.NoSuchElementException: packet_handler
at MC-BOOTSTRAP/[email protected]/io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073)
at MC-BOOTSTRAP/[email protected]/io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248)
at MC-BOOTSTRAP/[email protected]/io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237)
at eu.decentsoftware.holograms.api.nms.PacketListener.hook(PacketListener.java:49)
at eu.decentsoftware.holograms.api.player.PlayerListener.lambda$onJoin$1(PlayerListener.java:24)
at TRANSFORMER/[email protected]/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftTask.run(CraftTask.java:102)
at TRANSFORMER/[email protected]/org.bukkit.craftbukkit.v1_18_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:417)
at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_5703_(MinecraftServer.java:1205)
at TRANSFORMER/[email protected]/net.minecraft.server.dedicated.DedicatedServer.m_5703_(DedicatedServer.java:424)
at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:1156)
at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:954)
at TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.m_177918_(MinecraftServer.java:263)
at java.base/java.lang.Thread.run(Thread.java:833)
handleDisconnection() called twice
Subsequent attempts don't see any messages at all. I've tried using proxy-compatible-forge without success, and bungeeforge just tells me I haven't enabled BungeeCord in the config (I have). I'm keen to utilise Legacy authentication in my setup since I have some 1.12.2 boxes lingering around.
Any ideas where I can start? I've removed any optimisation mods, and anything unusual that I can see without success.
Is there a way to ignore Floodgate, because floodgate makes Ambassador not work correctly?
ERROR]: Couldn't pass ProxyInitializeEvent to ambassador
--
2 | java.lang.ClassCastException: class org.geysermc.floodgate.inject.velocity.VelocityInjector$VelocityChannelInitializer cannot be cast to class com.velocitypowered.proxy.network.ServerChannelInitializer (org.geysermc.floodgate.inject.velocity.VelocityInjector$VelocityChannelInitializer is in unnamed module of loader com.velocitypowered.proxy.plugin.PluginClassLoader @67e28be3; com.velocitypowered.proxy.network.ServerChannelInitializer is in unnamed module of loader 'app')
3 | at org.adde0109.ambassador.Ambassador.inject(Ambassador.java:65) ~[?:?]
4 | at org.adde0109.ambassador.Ambassador.onProxyInitialization(Ambassador.java:57) ~[?:?]
5 | at org.adde0109.ambassador.Lmbda$1.execute(Unknown Source) ~[?:?]
6 | at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:47) ~[velocity-3.1.2-SNAPSHOT-184.jar:3.1.2-SNAPSHOT (git-7d77bfb5-b184)]
7 | at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:598) ~[velocity-3.1.2-SNAPSHOT-184.jar:3.1.2-SNAPSHOT (git-7d77bfb5-b184)]
8 | at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:479) ~[velocity-3.1.2-SNAPSHOT-184.jar:3.1.2-SNAPSHOT (git-7d77bfb5-b184)]
9 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
10 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
11 | at java.lang.Thread.run(Thread.java:833) ~[?:?]
With the mod "Mana and Artifice" (link) installed on both the client and the backend server, the client is kicked from the server during login, with the following error in the Velocity logs:
[10:44:00] [Netty kqueue Worker #1/ERROR] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] mgpdoll -> server1: exception encountered in org.adde0109.ambassador.velocity.backend.ForgeLoginSessionHandler@52ce7a72
io.netty.handler.codec.CorruptedFrameException: Bad array size (got 181609, maximum is 65536)
at com.velocitypowered.proxy.protocol.util.NettyPreconditions.checkFrame(NettyPreconditions.java:83) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at com.velocitypowered.proxy.protocol.ProtocolUtils.readByteArray(ProtocolUtils.java:335) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at com.velocitypowered.proxy.protocol.ProtocolUtils.readByteArray(ProtocolUtils.java:321) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at org.adde0109.ambassador.forge.packet.ConfigDataPacket.read(ConfigDataPacket.java:22) ~[?:?]
at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperCodec.decode(ForgeLoginWrapperCodec.java:97) ~[?:?]
at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperCodec.decode(ForgeLoginWrapperCodec.java:20) ~[?:?]
at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at com.velocitypowered.proxy.protocol.netty.AutoReadHolderHandler.channelRead(AutoReadHolderHandler.java:57) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:92) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.kqueue.AbstractKQueueStreamChannel$KQueueStreamUnsafe.readReady(AbstractKQueueStreamChannel.java:544) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.kqueue.AbstractKQueueChannel$AbstractKQueueUnsafe.readReady(AbstractKQueueChannel.java:387) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.kqueue.KQueueEventLoop.processReady(KQueueEventLoop.java:218) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:296) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-3.3.0-SNAPSHOT-343.jar:3.3.0-SNAPSHOT (git-b9b11665-b343)]
at java.lang.Thread.run(Thread.java:840) [?:?]
To reproduce:
player-info-forwarding-mode = "legacy"
in velocity.toml
Note that Ambassador v1.5.0-rc-beta works fine, while v1.5.2-beta does not!
fml-client-debug.log
fml-server-debug.log
velocity-latest.log
Hello,
I am running:
velocity-3.2.0-SNAPSHOT-243.jar
Ambassador-Velocity-1.2.0-beta-all.jar
with the modpack:
Direwolf20 1.19.2 version 1.7.0 https://www.feed-the-beast.com/modpacks/101-ftb-presents-direwolf20-119
I am using Modern player info forwarding mode on velocity with _proxy-compatible-forge-1.19.2-1.0.2.jar
on the forge server. I have tried other forwarding modes with no luck either. Here is the error I get on velocity's side: https://gist.github.com/Aiidoneus/462a75ce844d767dfd0dec03bb21a903
I do notice that it thinks the client is trying to connect with a 1.19.1 Minecraft protocol when it should be 1.19.2 if that means anything. I am able to direct connect to the server without velocity just fine (for testing) and have a vanilla paper server working just fine.
Feel free to ask me questions or get a hold of me on discord at Aidoneus#4656
An issue seen with Farmer's Delight: vectorwing/FarmersDelight#805 (comment)
TL;DR, the mod extends the Recipe Book and Vanilla goes haywire from the enum being too large
I don't know enough to shed any insight, but I wonder if it could be avoided if the packet was somehow blocked when being sent to a Vanilla server
Hi, when I connect to my lobby with my forge 1.16.5 modpack (Oceanblock), I get disconnected and this message
Lobby: Paper 1.12.2 with ViaVersion
Proxy: Velocity with Ambassador
Main: Mohist 1.16.5 with Ambassador forge mod
I've found that this happens with only some mods and some not. For example when I tried to connect with only Applied Energetics 2, it worked fine. Unfortunately when I try to connect using Oceanblock I get this message as on the Image above.
My network has a problem where if you connect to the forge server, and then switch back to any other paper server, you'll still be required to reconnect.
For example if your network setup is like this:
velocity:
Reprod steps:
I'm running Ambassador 1.3.1 from discord.
We use protocolize for our network command filter. I noticed some console output regarding incompatibility with ambassador. I have not experienced any noticeable issues in terms of being able to connect but i wanted to bring the issue up anyways.
Velocity: velocity-3.2.0-SNAPSHOT-260.jar
Plugin Version: Ambassador-Velocity-1.4.0-all.jar
Error:
[08:08:08 ERROR] [dev.simplix.protocolize.velocity.listener.PlayerListener]: It seems like there is an incompatible plugin installed. Velocity channel initializers are overridden by: org.adde0109.ambassador.velocity.VelocityBackendChannelInitializer
[08:08:08 ERROR] [dev.simplix.protocolize.velocity.listener.PlayerListener]: Protocolize is unable to work under this circumstances. Please contact the developers of the incompatible plugin and suggest them to call the initChannel method of the ChannelInitializers before overriding them.
Full log: latest.log
If you need any additional info let me know. Thanks!
not sure if this is intentional but i run a network with a vanilla server and a modded server but cannot connect to the vanilla one while using this plugin on my backend. is this intentional behaviour?
Similar to #38
I do not have an image, but I am getting the same message "Out of order chat packet received. Did your system time change?". This tends to appear when someone is trying to type a command from what I gather. It's only happened to me personally once however. (Usually commands like /tpa from Forge Essentials mod or whatever it's called)
Unfortunately I am unsure If this directly relates to Ambassador since I do not know the inner workings of what things you possibly modify from Velocity, but this issue only seemed to pop up after adding the proxy setup in front of the server.
Anywho:
Velocity Proxy: Build #364
Added plugins:
Ambassador v1.5.2 beta
TCPShield v2.7.0
Forge Server: (ATM 8 Pack) v1.1.0
Minecraft: v1.19.2
Forge Version: v43.2.14
Added mods:
Proxy-Compatible-Forge v1.1.4
SimpleBackups v2.1.10
Keep getting dosconnected when trying to connect to the hub/lobby through velocity.
Velocity Log -
https://mcpaste.io/5c202fa0f54ee94b
Edit: Noticed that it mentions something about version [1.19..1], lobby is on version [1.18.2]
I does not allow to join forge servers (in this case, hybrid with BungeeGuard+ correctly installed in backend and proxy servers) if you have BungeeGuard+ installed and bungeeguard forward mode on velocity config toml.
Using latest version of Ambassador and BungeeGuard+: https://github.com/nickuc/BungeeGuardPlus
Is there a particular reason, why this is still in active alpha?
Any particular shortcommings, or do you just need to cleanup code a little to feel sure?
If it helps, my server-network would like to run 1.13+ forge servers behind a proxy, without needing client-side mods. We would like to test out this plugin internally.
Is there anything we should be aware of, in terms of user-sided unintentional behaviour, exploits, security etc?
velocity: velocity-3.3.0-SNAPSHOT-393.jar
velocity plugins: Ambassador-Velocity-1.4.4-all.jar
velocity mode: legacy (and modern also)
backend: mohist-1.18.2-173-server.jar (and arclight-forge-1.18.2-1.0.12.jar also)
backend plugins: None
backend modpack: https://www.curseforge.com/minecraft/modpacks/atlanabyss
// Velocty
[18:25:52 ERROR]: [connected player] RTomsk (/192.168.2.15:35470): exception encountered in com.velocitypowered.proxy.connection.client.InitialConnectSessionHandler@60aae253
io.netty.handler.codec.DecoderException: java.lang.IllegalArgumentException: Identifier is empty.
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:92) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at java.base/java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.IllegalArgumentException: Identifier is empty.
at com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier.from(MinecraftChannelIdentifier.java:78) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
at org.adde0109.ambassador.forge.packet.ModListReplyPacket.read(ModListReplyPacket.java:45) ~[?:?]
at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperDecoder.decode(ForgeLoginWrapperDecoder.java:35) ~[?:?]
at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperDecoder.decode(ForgeLoginWrapperDecoder.java:14) ~[?:?]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[velocity-3.3.0-SNAPSHOT-393.jar:3.3.0-SNAPSHOT (git-42d42883-b393)]
... 32 more
// Mohist
[18:27:28 INFO]: com.mojang.authlib.GameProfile@3d9c282e[id=2023a329-6129-373b-827b-be15d324bf20,name=RTomsk,properties={extraData=[com.mojang.authlib.properties.Property@c547870]},legacy=false] (/192.168.2.15:46914) lost connection: Disconnected
Disconnected when try to connect server.
Whenever we try to switch to another server without the client reset mod, we get this error in the console.
We are using Ambassador-Velocity-1.5.0-rc1-all and Velocity 3.3.0-SNAPSHOT
[16:47:46 ERROR]: [server connection] jelleclaus2 -> main: exception encountered in org.adde0109.ambassador.velocity.backend.ForgeLoginSessionHandler@495dff42 java.lang.NullPointerException: Cannot invoke "java.util.concurrent.CountDownLatch.countDown()" because "this.remainingRegistries" is null at org.adde0109.ambassador.forge.VelocityForgeBackendConnectionPhase.handle(VelocityForgeBackendConnectionPhase.java:137) ~[?:?] at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperHandler.channelRead0(ForgeLoginWrapperHandler.java:39) ~[?:?] at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperHandler.channelRead0(ForgeLoginWrapperHandler.java:16) ~[?:?] at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at com.velocitypowered.proxy.protocol.netty.AutoReadHolderHandler.channelRead(AutoReadHolderHandler.java:57) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:92) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[server.jar:3.3.0-SNAPSHOT (git-59567512-b346)] at java.lang.Thread.run(Thread.java:1589) [?:?]
90% of users can connect between servers just fine. Here is an example of a negotiating... bug after the latest update.
Proxy is running latest ambassador/velocity
Lobby is 1.19 spigot, modded servers are 1.16.5 pixelmon on arclight with PCF mod
As discussed on with help of ThePotatoKing on discord
Ambassador seems to be erroring on some Transfers between Servers. This seems to be connected to the "new"/rewritten data reset/syncing code.
v 1.4.3 together with velocity version 316 works but the 1.5.2 with the newest velocity version does fail on transfer to some specific saves.
Here are a whole bunch of log dumps:
Client logs: https://mclo.gs/2Wz2Sb5
Proxy logs:
and even more logs here:
I've setup 2 different building servers so i can transfer between the 2 in 1 session to show you the issue but this is the exact same issue that happens when i change the save on the succesfully transferable building2 server:
Lobby Logs: https://mclo.gs/jN6NHZA
Unsuccesfull Old Save transfer log: https://mclo.gs/g81Vm8n
Succesfull new Save transfer log: https://mclo.gs/z4d3vae
Proxy log: https://mclo.gs/qM117xD
Client logs: https://mclo.gs/FI1sr5C
When on a Forge server running under Velocity via Ambassador, the mod "Silent Gear" does not work properly.
(Silent Gear is a mod that introduces "modular" tools and equipment, a la Tinker's Construct.)
Proxy:
Client / Backend:
When crafting a Silent Gear tool through any means, an "invalid item" is produced rather than the expected tool.
Despite being a red X, the tool seems to function normally otherwise.
Here's some information I've gathered regarding when this bug is encountered:
Note that tools created as "X"s later appear correctly when directly connecting to the backend server first, and tools created as normal appear as "X"s when connecting via Velocity first. So I assume the item data remains the same between relogs with or without restarting the game.
Also note that, rather than making a direct connection to the backend server before connecting via Velocity, you can instead simply load a singleplayer world. This has the same effect, regarding making Silent Gear tools look correct.
If I recall correctly, connecting to the server via Velocity first (to trigger the issue) will not affect the look of the tools in a singleplayer world loaded afterward, in the same gameplay session (i.e. without restarting the game). That is to say, Silent Gear will work fine in singleplayer, even after connecting to the backend via Velocity (which would otherwise break Silent Gear).
Also IIRC, after leaving singleplayer as above and connecting to the backend via Velocity a second time (in one session), the mod will continue to work fine.
(I say the above ambiguously, as I last tested singleplayer in the context of this issue with a modpack (All the Mods 7), which had a tendency to crash when switching from multiplayer to singleplayer.)
Let me know if I need to clarify anything, as I've come to realize that this issue is rather difficult to explain in text. Maybe I should make a diagram of some sort...
Connecting to a velocity server with ambassador installed when using velocity builds 269 or higher causes the client to fail to connect, stating there was an issue with packets
[19:39:24] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Booting up Velocity 3.2.0-SNAPSHOT (git-904e81db)...
[19:39:24] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Loading localizations...
[19:39:24] [main/INFO] [com.velocitypowered.proxy.network.ConnectionManager]: Connections will use epoll channels, libdeflate (Linux x86_64) compression, OpenSSL 3.0.x (Linux x86_64) ciphers
[19:39:24] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Loading plugins...
[19:39:24] [main/INFO] [com.velocitypowered.proxy.plugin.VelocityPluginManager]: Loaded plugin ambassador 1.4.2-beta by adde0109
[19:39:24] [main/INFO] [com.velocitypowered.proxy.VelocityServer]: Loaded 1 plugins
[19:39:24] [Velocity Async Event Executor - #0/WARN] [com.velocitypowered.proxy.network.ConnectionManager]: The server channel initializer has been replaced by org.adde0109.ambassador.Ambassador.inject(Ambassador.java:107)
[19:39:24] [Velocity Async Event Executor - #0/WARN] [com.velocitypowered.proxy.network.ConnectionManager]: The backend channel initializer has been replaced by org.adde0109.ambassador.Ambassador.inject(Ambassador.java:110)
[19:39:24] [Netty epoll Boss #0/INFO] [com.velocitypowered.proxy.network.ConnectionManager]: Listening on /[0:0:0:0:0:0:0:0%0]:25566
[19:39:24] [main/INFO] [com.velocitypowered.proxy.Velocity]: Done (0.47s)!
[19:39:26] [Netty epoll Worker #0/INFO] [com.velocitypowered.proxy.connection.client.AuthSessionHandler]: [connected player] Kaydax (/10.0.0.1:49796) has connected
[19:39:26] [Netty epoll Worker #0/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] Kaydax -> main has connected
[19:39:32] [Netty epoll Worker #0/ERROR] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] Kaydax -> main: exception encountered in com.velocitypowered.proxy.connection.backend.BackendPlaySessionHandler@4121f843
io.netty.handler.codec.CorruptedFrameException: Error decoding class com.velocitypowered.proxy.protocol.packet.AvailableCommands Direction CLIENTBOUND Protocol 1.16.4 State PLAY ID 10
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.handleDecodeFailure(MinecraftDecoder.java:131) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:86) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:454) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.IllegalArgumentException: Argument type identifier null unknown.
at com.velocitypowered.proxy.protocol.packet.brigadier.ArgumentPropertyRegistry.deserialize(ArgumentPropertyRegistry.java:90) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at com.velocitypowered.proxy.protocol.packet.AvailableCommands.deserializeNode(AvailableCommands.java:210) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at com.velocitypowered.proxy.protocol.packet.AvailableCommands.decode(AvailableCommands.java:88) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:84) ~[velocity-proxy-3.2.0-SNAPSHOT-all.jar:3.2.0-SNAPSHOT (git-904e81db)]
... 30 more
[19:39:32] [Netty epoll Worker #0/INFO] [com.velocitypowered.proxy.connection.client.ConnectedPlayer]: [connected player] Kaydax (/10.0.0.1:49796) has disconnected: velocity.error.connected-server-error
[19:39:32] [Netty epoll Worker #0/INFO] [com.velocitypowered.proxy.connection.MinecraftConnection]: [server connection] Kaydax -> main has disconnected
[19:40:06] [Thread-4/INFO] [com.velocitypowered.proxy.VelocityServer]: Shutting down the proxy...
[19:40:06] [Thread-4/INFO] [com.velocitypowered.proxy.network.ConnectionManager]: Closing endpoint /0.0.0.0:25566
The build that seems to work without this issue is 3.2.0 Build 261, so after that build seems to add a breaking change that makes ambassador break
When a bedrock player switches servers a WARN appears. Sometimes they can not connect to the server and the connect time is really long. This WARN also happens with Java player.
Plugins:
Ambassador v1.3.2-beta, nAntibot, Geyser#1371, floodgate#82.
I have updated Velocity, the ForgeClientResetPacket client mod is 0.2.3. When i try to connect on second server, i get this error:
In console:
unable to connect to server factions
com.velocitypowered.proxy.util.except.QuietRuntimeException: The connection to the remote server was unexpectedly closed.
Minecraft version: 1.19.2
Velocity version: velocity-3.3.0-SNAPSHOT-330
Forge version: 43.3.7
Forge mods: proxy-compatible-forge-1.19.2-1.1.4
Some players cannot join the server for some reason. I think if you fix this error, the mod will become really stable.
This error shows up in the proxy.
Here's the log: https://pastebin.com/raw/TnmB7w5X
exception encountered in org.adde0109.ambassador.velocity.backend.ForgeHandshakeSessionHandler@54ec7a05
java.lang.IllegalStateException: The continuation can only be resumed once.
at com.velocitypowered.proxy.event.VelocityEventManager$ContinuationTask.resume(VelocityEventManager.java:565) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at com.velocitypowered.proxy.event.VelocityEventManager$ContinuationTask.resume(VelocityEventManager.java:558) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at org.adde0109.ambassador.forge.FML2ClientConnectionPhase.complete(FML2ClientConnectionPhase.java:94) ~[?:?]
at org.adde0109.ambassador.velocity.backend.ForgeHandshakeSessionHandler.handle(ForgeHandshakeSessionHandler.java:52) ~[?:?]
at com.velocitypowered.proxy.protocol.packet.ServerLoginSuccess.handle(ServerLoginSuccess.java:125) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at com.velocitypowered.proxy.connection.MinecraftConnection.channelRead(MinecraftConnection.java:143) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at com.velocitypowered.proxy.protocol.netty.AutoReadHolderHandler.channelRead(AutoReadHolderHandler.java:57) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:92) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.2.0-SNAPSHOT (git-d9ee34fe-b219)]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
`[23:06:54 INFO]: [server connection] Longtianmu -> chromasky2 has connected
[23:06:55 ERROR]: [server connection] Longtianmu -> chromasky2: exception encountered in com.velocitypowered.proxy.connection.backend.LoginSessionHandler@4b57b34f
io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Unable to find id for packet of type com.velocitypowered.proxy.protocol.packet.PluginMessage in SERVERBOUND protocol 1.16.4
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:709) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:792) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:702) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:110) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:758) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1020) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:311) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.connection.MinecraftConnection.write(MinecraftConnection.java:218) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.connection.client.InitialConnectSessionHandler.handle(InitialConnectSessionHandler.java:49) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.protocol.packet.PluginMessage.handle(PluginMessage.java:104) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.connection.MinecraftConnection.channelRead(MinecraftConnection.java:142) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:89) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:58) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:487) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:385) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:995) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.IllegalArgumentException: Unable to find id for packet of type com.velocitypowered.proxy.protocol.packet.PluginMessage in SERVERBOUND protocol 1.16.4
at com.velocitypowered.proxy.protocol.StateRegistry$PacketRegistry$ProtocolRegistry.getPacketId(StateRegistry.java:469) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.protocol.netty.MinecraftEncoder.encode(MinecraftEncoder.java:49) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at com.velocitypowered.proxy.protocol.netty.MinecraftEncoder.encode(MinecraftEncoder.java:29) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:107) ~[velocity.jar:3.1.2-SNAPSHOT (git-e8bf6ab5-b161)]
... 55 more`
MineCraft Version: 1.20.1
Forge: 47.2.20
So I can only use velocity-3.2.0-SNAPSHOT-260 and Ambassador-Velocity-1.4.2-beta-all to create the file.
Then switch to velocity-3.3.0-SNAPSHOT-319 to make sure the plugin works correctly
If I use velocity-3.3.0-SNAPSHOT-319 and Ambassador-Velocity-1.4.3-beta-all directly, the following warning will appear:
[01:38:02 WARN]: The server channel initializer has been replaced by org.adde0109.ambassador.Ambassador.inject(Ambassador.java:130) [01:38:02 WARN]: The backend channel initializer has been replaced by org.adde0109.ambassador.Ambassador.inject(Ambassador.java:133)
Velocity -3.3.0 snapshot-363
Ambassador v1.5.2-beta
On Connecting to a server i get this error
[01:39:36 ERROR]: [server connection] Chickon98 -> colony: exception encountered in org.adde0109.ambassador.velocity.backend.ForgeLoginSessionHandler@65ef7574 io.netty.handler.codec.DecoderException: java.lang.IllegalArgumentException: name is not valid, must match: [a-z0-9/\-_]* got config.common at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at com.velocitypowered.proxy.protocol.netty.AutoReadHolderHandler.channelRead(AutoReadHolderHandler.java:57) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:92) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:61) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at java.base/java.lang.Thread.run(Thread.java:840) [?:?] Caused by: java.lang.IllegalArgumentException: name is not valid, must match: [a-z0-9/\-_]* got config.common at com.google.common.base.Preconditions.checkArgument(Preconditions.java:435) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier.create(MinecraftChannelIdentifier.java:59) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier.from(MinecraftChannelIdentifier.java:82) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at org.adde0109.ambassador.forge.packet.ModListPacket.read(ModListPacket.java:40) ~[?:?] at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperCodec.decode(ForgeLoginWrapperCodec.java:91) ~[?:?] at org.adde0109.ambassador.forge.pipeline.ForgeLoginWrapperCodec.decode(ForgeLoginWrapperCodec.java:20) ~[?:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[velocity.jar:3.3.0-SNAPSHOT (git-74c932e5-b363)] ... 33 more
Happens on only one server can still connect to other one on the proxy fine
So far works well although now I'm experiencing incompatibility issues with [LimboAPI](https://github.com/Elytrium/LimboAPI)
Originally posted by @RealRigBot in #15 (comment)
Current rundown of things:
Ambassador: Ambassador-Velocity-1.4.1
Velocity: velocity-3.2.0-SNAPSHOT-265
Legacy Forwarding
Backend server being Paper 1.17.1, with ViaVersion, has always worked in the past
After conecting with Forge 1.19.2 (no mods), I get:
If you wish to use IP forwarding, please enable it in your BungeeCord config as well!
Works fine without Ambassador as you'd assume
Let me know what I can test to see if we can narrow this down further
99% of players join just fine. One individual (separate from other issue) often gets kicked shortly after joining- especially when around large builds. It is worth mentioning he lives on the opposite side of the world.
Proxy is running latest ambassador/velocity
Lobby is spigot 1.19, modded servers are 1.16.5 on arclight with PCF mod
https://pastebin.com/yjJfHuy2
Console shows error: [minecraft/NetworkManager]: handleDisconnection() called twice
Ambassador cannot work after velocity build ID 319
Velocity: 3.3.0-SNAPSHOT
Velocity build ID: 320
Ambassador: 1.4.3-beta
Minecraft: 1.20.1
Forge: 47.2.19
Ambassador
To allow another Velocity plugin to access the MapWithExpiration
hashmap in your Ambassador
plugin, you can create an API that provides a way for other plugins to interact with it. Here's a basic example of how you can create such an API:
Define an interface that exposes the functionality you want to provide to other plugins. This interface should be placed in a separate package to ensure it's accessible to other plugins.
Implement the interface in your Ambassador
class and register an instance of this class as a service that other plugins can access.
Here's how you can do it:
org.adde0109.ambassador.api
):package org.adde0109.ambassador.api;
import org.adde0109.ambassador.Ambassador;
import java.util.Map;
public interface AmbassadorAPI {
Map<String, Ambassador.RegisteredServer> getTemporaryForced();
}
Ambassador
class:import org.adde0109.ambassador.api.AmbassadorAPI;
public class Ambassador implements AmbassadorAPI {
// Existing code...
@Override
public Map<String, RegisteredServer> getTemporaryForced() {
return TEMPORARY_FORCED;
}
// Existing code...
}
Ambassador
class as a service in your Ambassador
plugin's onProxyInitialization
method:import com.velocitypowered.api.plugin.PluginManager;
public class Ambassador {
// Existing code...
@Inject
public Ambassador(ProxyServer server, PluginManager pluginManager, Logger logger, @DataDirectory Path dataDirectory, Metrics.Factory metricsFactory) {
this.server = server;
this.logger = logger;
this.dataDirectory = dataDirectory;
this.metricsFactory = metricsFactory;
Ambassador.instance = this;
// Register the API
pluginManager.registerService(AmbassadorAPI.class, this, this.server, PluginContainer.MINECRAFT);
}
// Existing code...
}
MapWithExpiration
hashmap from your Ambassador
plugin like this:import org.adde0109.ambassador.api.AmbassadorAPI;
import com.velocitypowered.api.proxy.ProxyServer;
import com.velocitypowered.api.plugin.PluginContainer;
public class YourPlugin {
private final AmbassadorAPI ambassadorAPI;
public YourPlugin(ProxyServer server, PluginContainer pluginContainer) {
this.ambassadorAPI = server.getServices().get(AmbassadorAPI.class).get();
}
public void someMethod() {
// Access the TEMPORARY_FORCED hashmap
Map<String, RegisteredServer> temporaryForced = ambassadorAPI.getTemporaryForced();
// Use the hashmap as needed
}
}
By following these steps, you can create an API for your Ambassador
plugin that allows other Velocity plugins to access the MapWithExpiration
hashmap.
By allowing access to at least this HashMap will allow the authme plugins to properly bypass authorization for when users are being sent to modded servers as they require the ambassador plugin to disconnect them and reconnect bypassing the authorization hub so doing this will still be secure will ensuring they properly logged in on the lobby to go to the modded server before hand etc..
I have both latest version of Ambassador (1.3.1) and latest version of pcf (1.19.2-1.1.1) working on arclight (1.19.2-1.0.1) and I keep getting the error. I have followed instructions exactly and am connecting through the proxy, set online-mode
to false
in arclight. set bungeecord
to true
in spigot.yml, set the modern forwarding secret to the correct one but I am still getting these errors.
Velocity:
[23:57:54 INFO]: [connected player] RigBot (/172.22.64.1:50849) has connected
[23:57:54 ERROR]: [connected player] RigBot (/172.22.64.1:50849): disconnected while connecting to Cobblemon: If you wish to use IP forwarding, please enable it in your BungeeCord config as well!
Arclight:
/127.0.0.1:57498 lost connection: If you wish to use IP forwarding, please enable it in your BungeeCord config as well!
I downloaded the ambassador folder and placed it into the velocity plugins folder, relaunched velocity but upon startup velocity says "loaded 0 plugins" and I did not notice any change of files. Is this normal? I did not see the ambassador.toml to edit.
At first I thought this was an issue with velocity at first but its not at all after my issue being solved when I removed ambassador but I NEED it so I can go to my forge server.
when I join the proxy which goes to my paper server, it does the obvious, It goes up by one.
but when I go into my forge server, it says there are no players playing.
And when I go back to the paper server, same issue
if it matters, AS OF RIGHT NOW I am using a 1.19.3 paper server and a 1.16.5 forge Arclight server.
Ive checked my ports, Ips and everything seems to be fine
thanks
Edit: the reason I know its ambassador and not anything else is because I used 2 Vanilla paper servers to test if its the proxy or ambassador and they both have the player count at 1 no matter which one I join when ambassador is removed. When I leave ambassador in the plugins of the proxy, Thats when the player count goes down when switching servers with both paper servers.
Velocity 3.2.0
ambassador 1.1.7-alpha
After Velocity has been running for about 24 to 48 hrs, users attempting to connect to Forge instance receive "An internal error has occurred in your connection". The only solution is to restart Velocity, whereby users will be able to join again.
Also, when it is operating 'correctly', Forge users will receive a timeout error on their first connection attempt, but succeed on the second attempt to join.
Vanilla and Forge clients joining a vanilla instance do not have any connection issues, even when the Forge users are having problems joining the Forge instance.
Im facing these two problems:
From what I know the first error only appears on some users.
The second one is: out-of-order chat packet received. Did you system time change?
This second error is much more common.
Im not sure if its a velocity problem or an ambassador issue since I had the exact same server without proxy and didnt get these errors.
I hope you can help me :/.
Thanks.
[11:30:58 INFO]: [server connection] Player -> Server1 has connected
[11:31:10 INFO]: [server connection] Player -> Server2 has connected
[11:31:11 ERROR] [ambassador]: Unable to switch due to the registries of Server2 being different from the registries of Server1
[11:31:11 INFO]: [server connection] Player -> Server2 has disconnected
[11:31:11 ERROR]: [connected player] Player (ip): unable to connect to server Server2
com.velocitypowered.proxy.util.except.QuietRuntimeException: The connection to the remote server was unexpectedly closed.
Unable to switch servers on ambassador v1.5.2 beta. Everything works fine on ambassador v1.4.4.
Using Minecraft 1.19.2, Forge 43.3.0, Velocity 3.3.9-390, both servers have the same mods.
ATM 8 - Server will not start with (ambassador-forge-1.19.2-0.2.1.jar)
Modpack - All The Mods 8 - Version 1.0.10
Forge - 43.2.3
Debug - https://mcpaste.io/0994d469d6ef3f60
Error - https://mcpaste.io/7a391ac1876badd2
Happens when switching servers
When enabling announce-forge
in the Velocity TOML config, clients still see the proxy as a vanilla server.
The ServerStatusPing
from the forge server to the client is also not passed through in my testing.
Please correct me if this is expected behaviour.
I would appreciate if this was looked into. I am facing this issue when running the BetterCompatibilityChecker mod on both my client and server.
Hello, I have a problem connecting to my server.
my own server version and core is - paper-1.18.2-388
Installed on it:
limboapi-1.1.22
LimboAuth.Social.Addon-1.0.11-SNAPSHOT
limboauth-1.1.14-SNAPSHOT
limbofilter-1.1.16
LimboReconnect-1.1.5
with your plugin:
Ambassador-Velocity-1.4.4-all
proxy:
velocity-3.3.0-SNAPSHOT-376.jar
Forge version: forge-1.18.2-40.2.18
It works fine with vanilla Minecraft.
With fabric too
I apologize for my English, I'm using a translator. If something needs to be attached, logs are possible. Please inform.
Every time I use Ambassador I am unable to connect to my proxy, and I get "Unable to connect to lobby: If you wish to use IP forwarding, please enable it in your BungeeCord config as well!" I remove the plugin and it works again so I think I have the bungeecord config correct.
Tip
Server Info (Version)
Velocity: 3.3.0
Ambassador: 1.4.4
Backend Server: Mohist
Mohist: 1.18.2-173
Mohist have a config file in path mohist-config/mohist.yml
this config include velocity options
Compatible Mohist Server's Velocity Support
If a player is switching from lobby (papermc) to backend (forge 1.19.2) and get kicked while login in, he get stuck on 'negotiating'.
To reproduce, simply disconnect the player from Forge event "PlayerNegotiationEvent".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.