See https://github.com/gfx-rs/wgpu/issues/4915
Also:
* Remove unused vert-out frag-in variables from shaders (naga doesn't
like this probably because they are optimized out on the fragment
side). This restriction from naga may be relaxed in the future
see https://github.com/gfx-rs/wgpu/issues/3748.
* Enable OptimizationLevel::Performance for shaderc by default
* Add a environment variable VOXYGEN_SHADERC_OPTS for disabling this
(e.g. to test if it actually makes a difference on any platform).
(TODO: testing might be easier if there was a way to do toggle it
without restarting...)
This will make voxygen issue a SRV lookup when connecting to a host, allowing server owners to configure non-standard ports for servers and host servers using vanity domains easily. It additionally allows servers to be hosted on both QUIC and TCP at the same time, with the client connecting to the preferred protocol automatically, but gracefully falling back if a connection is not possible.
As veloren-server enables plugin feature automatically, it results in
veloren-common-state inherit this feature, which enables
common/state/plugin/mod.rs which asks for common::assets function that
is enabled only if plugin feature is enabled, but because
veloren-common-state doesn't depend on common::assets, this feature is
kind of lost half-way.
This commit fixes this by adding explicit optional dependency on
common-assets in common-state that is enabled by plugin feature.
* use version of shred that has an added SendDispatcher so we can
construct the dispatcher and send it between threads (only State to
remain sendable)
* move closure for adding systems from State::tick to the creation
functions
* this does mean some voxygen systems always run instead of just in the
session state, but that should not cause issues and we can always
configure them to do nothing if needed
The Gameserver returning the latest chat messages via a REST api (protected by a password in settings).
A central service can then scrape this endpoint and make it accessable to moderators.
We need to make sure to log which moderator sees which messages, especially when whispered. to be sure we might also limit the holding period to a week
According to RUSTSEC-2023-0052 we need to upgrade rustls to 0.21
to get a fix for the issue which may or may not affect Veloren
since it's about client certificates but with the absence of a
PoC it seems like a good idea to upgrade anyway, just to be sure.
webpki has gone unmaintained (which rustls 0.20 depends on),
starting with rustls 0.21 it depends on rustls-webpki which
contains a fix for the issue. Since quinn also depends on
rustls 0.20 in 0.8 and 0.9 versions, we needed to upgrade it to
0.10 so that it depends on rustls 0.21 which we now use.
With this change people with older version need to run a version from 2021-2022 before updating to this change and start singleplayer once.
Get rid of old rust dependencies