PaperMC / Velocity

The modern, next-generation Minecraft server proxy.
https://papermc.io/software/velocity
GNU General Public License v3.0
1.76k stars 620 forks source link

[initial connection] exception #170

Closed LarsArtmann closed 5 years ago

LarsArtmann commented 5 years ago

The Error: https://gist.github.com/LartyHD/8d4fbe24b773289b1a0ded9772f59f4d

I use build 64 and this plugins: Plugins: velocityutils, luckperms, nuvotifier, darkframe, moveplugin, maintenance, pingcounter darkframe, moveplugin, maintenance, pingcounter is from me

LarsArtmann commented 5 years ago

I can join without problems: [04:04:17 INFO]: [server connection] LartyHD -> fallback has connected [04:04:18 INFO]: [server connection] LartyHD -> skyblock has connected [04:04:18 INFO]: [server connection] LartyHD -> fallback has disconnected

LarsArtmann commented 5 years ago

maintenance listener code:

    @Subscribe
    fun on(event: ProxyPingEvent) {
        val motd = provider.motd
        val version = ServerPing.Version(event.ping.version.protocol, motd.versionName)

        event.ping = event.ping.asBuilder()
            .version(version)
            .description(motd.description)
            .nullPlayers()
            .build()
    }

    @Subscribe
    fun on(event: LoginEvent) {
        if (event.player.hasPermission(provider.config.byPassPermission)) return
        event.result = ResultedEvent.ComponentResult.denied(provider.config.kickMessage)
    }
astei commented 5 years ago

This is probably malformed data being sent to the proxy. Pinging works fine with a vanilla 1.8.9 client.

LarsArtmann commented 5 years ago

@astei This bug occurs since I installed the maintenance plugin. From different IP addresses.

//GERMAN Diese Bug tritt auf seit dem ich das Wartungs Plugin installiert habe. Von verschieden IP-Addressen.

astei commented 5 years ago

Just tried with this Java code which should produce similar output, but alas, no dice. Not even if I ping from two different IP addresses:

    @Subscribe
    public void proxyPing(ProxyPingEvent event) {
        event.setPing(event.getPing()
                .asBuilder()
                .version(new ServerPing.Version(event.getConnection().getProtocolVersion().getProtocol(), "test"))
                .description(TextComponent.of("test"))
                .nullPlayers()
                .build());
    }

It's something wrong on your side. Velocity is working fine.

LarsArtmann commented 5 years ago

hm ok yes it is no my ip. I dont know. If i ping the server all is good. Thanks anyway