Character masses and dimensions have been vastly changed. This is necessary to limit drag - they were practically sails previously.
Character proportions are now closer to those of IRL humans than to their voxel models.
This may screw up entity collision, in which case body dimensions for aerodynamics and for everything else may need to be separated.
Gliders now scale with character size, with a wingspan 3x their height and a chord 1x/3.
Gliding is also now very very fast under 2.5g, but much tamer under Earth gravity. This may need dealing with.
This results in an extremely visually noticeable improvement in latency
when adding or removing sprite data and makes the game feel more
responsive.
This happens, for instance, when picking up a sprite like an apple or
flower from the environment. We check to make sure that for items
with lighting (like Velorite) or changes that otherwise affect meshing
(like changing from fluid to nonfluid) this doesn't trigger.
The security model has been updated to reflect this change (for example,
moderators cannot revert a ban by an administrator). Ban history is
also now recorded in the ban file, and much more information about the
ban is stored (whitelists and administrators also have extra
information).
To support the new information without losing important information,
this commit also introduces a new migration path for editable settings
(both from legacy to the new format, and between versions). Examples
of how to do this correctly, and migrate to new versions of a settings
file, are in the settings/ subdirectory.
As part of this effort, editable settings have been revamped to
guarantee atomic saves (due to the increased amount of information in
each file), some latent bugs in networking were fixed, and server-cli
has been updated to go through StructOpt for both calls through TUI
and argv, greatly simplifying parsing logic.