01-25-2017, 09:51 PM
(This post was last modified: 01-25-2017, 10:18 PM by LogicParrot.)
This is an alternative to "Proposal: Allowed Protocols configuration".
1. Clients of all supported protocols are allowed to join.
2. If a client is about to encounter an unsupported feature, it is kicked with a proper error message. For instance, "Sorry, your protocol (1.7.2) does not support purpur blocks, and they were encountered in-game".
3. If a feature is deemed non essential (e.g. new unsupported sound), it is simply not shown/sent to the client.
Advantages: No complicated configurations, no client-side crashes, simple protocol transitions. Admins that want to support older protocols are responsible for disabling newer mobs, blocks, or features.
Implementation: Should be simple. Some boolean lookup arrays with O(1) lookup complexity.
1. Clients of all supported protocols are allowed to join.
2. If a client is about to encounter an unsupported feature, it is kicked with a proper error message. For instance, "Sorry, your protocol (1.7.2) does not support purpur blocks, and they were encountered in-game".
3. If a feature is deemed non essential (e.g. new unsupported sound), it is simply not shown/sent to the client.
Advantages: No complicated configurations, no client-side crashes, simple protocol transitions. Admins that want to support older protocols are responsible for disabling newer mobs, blocks, or features.
Implementation: Should be simple. Some boolean lookup arrays with O(1) lookup complexity.