OkZoomer icon indicating copy to clipboard operation
OkZoomer copied to clipboard

Consider rethinking the server-side component

Open Madis0 opened this issue 4 years ago • 2 comments

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 #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.

Madis0 avatar Oct 03 '21 12:10 Madis0

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 avatar Oct 03 '21 19:10 EnnuiL

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.

Madis0 avatar Oct 03 '21 19:10 Madis0