New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UserCache mixin #25
UserCache mixin #25
Conversation
huh?, it failed on getting sources? |
pull request accepted OKTW-Network/FabricProxy#25
Can you explain why you force the server to query authserver when FabricProxy is configured to use BungeeCord? This fix broke the carpet mod's fake player functionality. |
You can add non premium players to the whitelist, i have had issues with that, this does not break carpetmods fake players, but it wont let you summon non premium players, also I'm pretty sure making non premium players join premium servers is against eula. ~~ also, I'm not forcing the auth server, that true value I return is always true on normal vanilla online mode. |
correction with what i have just said, i have just downloaded latest fabric + fabric-carpet, online mode and no bungeecord and it wont let you summon non premium fake players, behaviour does not change between just fabric-carpet and bungeecord with fabric-carpet and proxy. Correct me if I'm wrong, I'm totally able to summon premium fake players. |
Thanks for your detailed explanation. I totally agree that your fix is necessary, since if the bungeecord server is online mode, However, this fix broke the ability to summon fake players whith offline UUIDs. FWIW, this is essential, because online mode players own their IDs, and if fake players use their IDs, they will occupy what real players are using. I always summon fake players with IDs starting with a prefix like I read the EULA again and modding Minecraft is seemed to be allowed literally in Minecraft EULA, and Mojang does not prevent you from adding fake players with offline IDs. What's more, this fix also break whitelist in offline bungeecord servers, in which all servers and the bungeecord proxy is set to offline mode, and this fix does not know if the bungeecord server is online, which is the real online switch of the whole bungee server. Finally we got a online uuid in offline server, whitelist-ed offline players are not able to join the offline server. I've tested BungeeCord with Spigot sub-server and they probably not fixed this issue. In my opinion, this fix could be done without affecting these other cases we've described above. We put a new switch called sth like |
FabricProxy not require set server to offline mode, mod will takeover vanilla login process. If fake player mod works on vanilla, it should also work with FabricProxy. |
I completely agree with you, there is no way for this mod to know if the global bungee mode is true or false, so there will always be an issue of you set it either true or false, we need either a switch or a way to access the bungee config. If you add that configuration you should pull request to fix offline mode servers. |
FabricProxy assumes proxy is online mode, offline mode is unsupported. Why offline mode need this mod? |
what keuin means is that fabric-carpet sets the UserCache to false just to summon offlinemode players |
The fix would be to make fabric proxy execute UserCache.setUseRemote(true); first of all, and make sure when it calls server.isOnlineMode(), that return value is true. |
but we shouldn't set a flag to make whitelist always false since that's not expected online mode vanilla behavior, that's not how fabric-carpet works, adds extra steps for the configuration, could bring security issues to the server, and won't break offline servers since why would you use fabric proxy for an offline server anyways. |
I think that is bug of fabric-carpet. @keuin Try report issue to fabric-carpet, if they can't fix it, we will add config to workaround this. |
Yes, I agree with you that this is a carpet feature that fake players can only have online players' name if the server is in online mode. My previous assumption was wrong. @Kahzerx @james58899 I have posted an issue in fabric-carpet to describe this problem. There is no wrong in FabricProxy, and reverting Kahzerx's fix is just a workaround to this problem, although it will break the whitelist. |
Okay, finally, my pull request has been merged into Carpet Mod's main stream. This fix changed Carpet Mod's default behavior. Carpet now spawns offline-mode fake player no matter if the server is online-mode or offline-mode, if the online-mode player with specified ID does not exist. |
UserCache not checking onlineMode causing whitelist issues