Skip to content
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

Consider rethinking the server-side component #40

Open
Madis0 opened this issue Oct 3, 2021 · 2 comments
Open

Consider rethinking the server-side component #40

Madis0 opened this issue Oct 3, 2021 · 2 comments
Labels
enhancement New feature or request

Comments

@Madis0
Copy link
Contributor

Madis0 commented Oct 3, 2021

Zooming is:

  • first and foremost, an accessibility feature
  • essentially just a keybind for setting vanilla's FOV temporarily
  • near-universally accepted because of Optifine

Therefore, despite the addition of spyglasses, I think it does not make sense for servers to be able to limit it as much as you have defined now in ZoomPackets.java.

Instead, I suggest keeping most of the features configurable client-side and only giving the servers a way to disable options that would not be available with vanilla FOV/Optifine settings.

Namely:

  • capping the zoom limits to vanilla FOV limits
    • if the user has a spyglass, allow increasing to spyglass limits multiplied by fov limits but also enforce an overlay in that case
  • similar to the client-side request [Request] increase specific render distances while zoomed #16, the servers could send the requested chunks individually (ignoring overall server-side render distance)
  • possibly other features Ok Zoomer provides that cannot be replicated in vanilla
  • some new features that would need server support to work anyway

This way users can confidently use zoom in every server and servers that use this can be sure that users only use zoom within the vanilla limits.

@EnnuiL
Copy link
Contributor

EnnuiL commented Oct 3, 2021

Hm, this is a complicated issue, because Ok Zoomer was simply meant as a replacement for OptiFine zoom, I don't want it to be seen as an "utility" mod that is in reality a hack or something and I don't want people to be banned over it; That's why the restrictions exist, although I've been careful to not have cosmetic features like zoom transitions be affected by them.

So far, I think most of the current packets do fit into the "Neither OptiFine nor Vanilla" camp (specially the "Force Classic Mode" one), although I could think about the "Disable Zoom" one and scrap it, i don't know, i just don't want anyone banned over this mod

The possibility for spyglass-related packets are something that I've been considering and I do want to add them, and if I do end doing something related to an increased render distance, I'll add options for the server, although I'll probably only tinker with that on 1.18 since it has the render/simulated distance split

I'll think about removing the "Disable Zoom" packet and working on new ones later

@EnnuiL EnnuiL added the enhancement New feature or request label Oct 3, 2021
@Madis0
Copy link
Contributor Author

Madis0 commented Oct 3, 2021

I understand your concerns about the bans, but realistically it is not worth it to disable anything that Optifine can do, because I have not heard of any server that would ban Optifine itself. The scrolling feature could seem like a hack, but since it only takes 3 clicks to change the FOV, it is replicable without the mod anyway, the mod only makes it a bit faster.

Thanks for considering this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants