Conversation
…uery type Velocity, BungeeCord and Waterfall all speak the same Java Edition status/ping protocol as a vanilla server, so the existing Java query schema can be reused as-is for a proxy target. Adds a distinct "Minecraft (Proxy)" query type so it shows up separately in the game query type selector, and disables the whitelist, OP list and avatar features on the players page for this type since a proxy has no whitelist.json/ops.json or player data files of its own. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SA9aNschKoWLmWkWNC2fGZ
…tempt Velocity/BungeeCord/Waterfall don't reliably support the legacy enable-query/query-port GameSpot query protocol, and the exception thrown by the query library on failure was propagating past the generic Exception catch in MinecraftJavaQueryTypeSchema::tryQuery(), crashing the players widget instead of falling back to ping. Override process() in MinecraftProxyQueryTypeSchema to always use the ping/status protocol only, skipping the legacy query attempt entirely for proxy targets. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SA9aNschKoWLmWkWNC2fGZ
Matches eggs named/tagged Velocity, BungeeCord or Waterfall to the new minecraft_proxy query type, same as the existing minecraft/bedrock/source tag mappings, so proxy eggs get a sensible default query type without manual admin setup. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SA9aNschKoWLmWkWNC2fGZ
… tag An egg tagged both 'minecraft' and a proxy tag (e.g. 'velocity') hit the generic 'minecraft' -> minecraft_java mapping first in the old MAPPINGS order. Since EggGameQuery::firstOrCreate() only matched on egg_id, the association created by that first match was never revisited once a later proxy mapping matched the same egg, so the egg kept minecraft_java instead of minecraft_proxy. Move the proxy mappings before the generic 'minecraft' one, and resolve a single highest-priority mapping per egg explicitly instead of relying on iteration order plus firstOrCreate's create-only semantics. Also correct the one known bad state this ordering bug could already have produced on an existing install: a proxy egg whose association still points to minecraft_java gets updated to minecraft_proxy. Any other existing association (including a manually customized one) is left untouched, so re-running the seeder can't clobber intentional admin changes to unrelated eggs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SA9aNschKoWLmWkWNC2fGZ
Both actions were only gated on the active tab, not on isProxy, so they showed up on the online tab for a minecraft_proxy query too and sent 'kick <name>'/'ban <name>' to the proxy's console. Stock Velocity, BungeeCord and Waterfall don't provide those commands out of the box, so the actions couldn't do anything on a proxy unless a plugin added them. Gate both on !isProxy, same as the whitelist/OP/avatar features. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SA9aNschKoWLmWkWNC2fGZ
Contributor
|
Warning Review limit reachedNext included review available in 10 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a
Minecraft (Proxy)query type so player-counter can query Velocity, BungeeCord and Waterfall proxies.Details
MinecraftProxyQueryTypeSchema(minecraft_proxy), reusingMinecraftJavaQueryTypeSchema's ping/status logic but skipping the legacyenable-queryattempt entirely — a live test against Velocity showed that attempt throwing an uncaught exception instead of falling back to ping cleanly.PlayersPage: addedisProxy; avatar, whitelist, OP, kick and ban are all hidden for this type, since a proxy has no whitelist/ops/player files and stock Velocity/BungeeCord/Waterfall don't provide kick/ban commands out of the box.PlayerCounterSeeder: eggs named/taggedVelocity/BungeeCord/Waterfallare auto-assignedminecraft_proxy. Proxy mappings are checked before the genericminecrafttag mapping, and an existing wrongminecraft_javaassociation on such an egg gets corrected.Testing
php -lon all changed files.