individual commits combined here:
send active plugins
compute plugin sha hash
single position for defining Hash type
request plugins from the server
Server sending the plugin to the client
store received plugin in file and use it
handle plugin data at the right place
pass config_dir to client init
load local plugins
operational plugin caching
simplify the interface
clippy suggestions
remove artifacts
fix compilation of test world
ChangeLog entry
code quality fixes
improve readability
adapt to multiple systems
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.