Rewrite Ping Passthrough (#468)

* Fix ping passthrough on BungeeCord

* Initial implementation of direct ping passthrough

* Finished implementation of direct ping passthrough

* Remove test for something else entirely

* Fix standalone

* Add config option for ping passthrough interval

* Use GeyserPingInfo to reduce methods

* Add querying; modify ping passthrough

* Add separate config options for passthrough MOTD and player counts

* Convert all plugin bootstraps to use internal ping events to that other plugins can handle ping modifications

* Small changes

* Fix invalid packet spawm

* Add legacy ping passthrough option

* Fix BungeeCord

* Proper UUID for BungeeCord, thanks @theminecoder

* Update config version and messages

* Merge master... again

* Add missing javadocs and minor changes

Co-authored-by: James Harrison <james@fasttortoise.co.uk>
Co-authored-by: theminecoder <theminecoder.dev@gmail.com>
Co-authored-by: Redned <redned235@gmail.com>
This commit is contained in:
Camotoy 2020-05-23 17:50:04 -04:00 committed by GitHub
parent 59da87a10f
commit 99f69b3a7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 1108 additions and 106 deletions

View file

@ -12,7 +12,7 @@ bedrock:
address: 0.0.0.0
# The port that will listen for connections
port: 19132
# The MOTD that will be broadcasted to Minecraft: Bedrock Edition clients
# The MOTD that will be broadcasted to Minecraft: Bedrock Edition clients. Irrelevant if "passthrough-motd" is set to true
motd1: "GeyserMC"
motd2: "Another GeyserMC forced host."
remote:
@ -45,8 +45,17 @@ floodgate-key-file: public-key.pem
# Disabling this will prevent command suggestions from being sent and solve freezing for Bedrock clients.
command-suggestions: true
# Relay the MOTD, player count and max players from the remote server
ping-passthrough: false
# The following two options enable "ping passthrough" - the MOTD and/or player count gets retrieved from the Java server.
# Relay the MOTD from the remote server to Bedrock players.
passthrough-motd: false
# Relay the player count and max players from the remote server to Bedrock players.
passthrough-player-counts: false
# Enable LEGACY ping passthrough. There is no need to enable this unless your MOTD or player count does not appear properly.
# This option does nothing on standalone.
legacy-ping-passthrough: false
# How often to ping the remote server, in seconds. Only relevant for standalone or legacy ping passthrough.
# Increase if you are getting BrokenPipe errors.
ping-passthrough-interval: 3
# Maximum amount of players that can connect
max-players: 100
@ -94,4 +103,4 @@ metrics:
uuid: generateduuid
# DO NOT TOUCH!
config-version: 1
config-version: 3

@ -1 +1 @@
Subproject commit a67cc940c0d47874c833ffeb58f38e33eabfcc33
Subproject commit a7963d0a0236b1c47eea21718ac50706139d90cc