86 Commits

Author SHA1 Message Date
Imbris
4013a10c0e Merge branch 'aweinstock/networktracy' into 'master'
Add some tracy plots about network usage to the client.

See merge request veloren/veloren!2510
2021-07-03 05:44:30 +00:00
Avi Weinstock
6e525783bc Use approximate byte count for the terrain recv graph. 2021-07-02 12:43:34 -04:00
Avi Weinstock
058a832d37 Add benchmark for color quantization using the rtree crate. 2021-07-01 13:41:37 -04:00
Avi Weinstock
7b0dcad68f Generate palette info from block statistics, and benchmark how well it compresses. 2021-06-28 22:11:19 -04:00
Avi Weinstock
f74506038d Convert dungeon lights to CSG, tweak pillars, convert the magic circle from lava to glowing rock, make enemies spawn in dungeons, and fix clippy warnings. 2021-06-24 23:03:24 -04:00
Dominik Broński
1d55cb9c15 Merge branch 'aweinstock/lava' into 'master'
Lava

See merge request veloren/veloren!2482
2021-06-21 20:49:44 +00:00
Avi Weinstock
e09c5adc02 Add lava to caves, which sets you on fire if you swim in it. Currently requires uncommenting #define LAVA in the shaders, and only looks good with cheap fluid mode. 2021-06-19 16:31:21 -04:00
Imbris
156e2e86b5 Remove tracy features that are no longer needed now that macros have been fixed 2021-06-19 04:27:50 -04:00
Joshua Barretto
e2f558dacd Made commands a distinct ClientMsg to avoid possible sanitisation problems for clients 2021-06-17 19:55:21 +01:00
Marcel Märtens
d291a71f79 Change the version number to 0.10 2021-06-12 10:14:07 +02:00
Marcel Märtens
4c29484f22 switch to hashbrown 0.11 and specs 0.16.2 2021-06-07 13:01:01 +02:00
Imbris
5985584c5c Update toolchain 2021-05-31 20:44:57 -04:00
Joshua Yanovski
3f8d2f95be Added non-admin moderators and timed bans.
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.
2021-05-09 21:19:16 -07:00
Avi Weinstock
729dc180e8 Experiment with const fn lanczos lookup tables, enable weighted average interpolation for now. 2021-05-03 00:09:44 -04:00
Avi Weinstock
bb7dbe245d Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic. 2021-05-03 00:09:44 -04:00
Avi Weinstock
d858c629ce Optimize CompressedData with Vec::with_capacity, and move obsolete formats from common_net into the compression benchmark. 2021-05-03 00:09:24 -04:00
Avi Weinstock
15feb08a85 Address MR 2207 review comments.
- Add metrics for which branch of the compression heuristic was taken.
- Reduce the threshold for the heuristic.
- Deduplicate code for dealing with lazy messages.
- Make jpeg dependency only scoped to the compression benchmark.
- Remove commented code.
2021-05-03 00:09:24 -04:00
Avi Weinstock
261ee8aa47 Add a bandwidth-based heuristic for chunk compression. 2021-05-03 00:09:24 -04:00
Avi Weinstock
322f7e289e Improve quadpng by adding WidePacking, which makes a wider image, which is faster due to PNG compressing by row. Heuristically switch between quadpng and deflate based on chunk height to reduce variance. 2021-05-03 00:09:24 -04:00
Avi Weinstock
5fe479e7df Add matplotlib graph generation to the compression benchmarks. 2021-05-03 00:09:24 -04:00
Avi Weinstock
06727401ad Remove a use of inline_tweak and use TallPacking instead of GridLtrPacking in common_net::msg::server. 2021-05-03 00:09:24 -04:00
Mckol
470b03fc3c Added Lanczos interpolation for QuadPng
Should support arbitrary scales (N).
Does support arbitrary Lanczos a parameters (currently 2)
and sample sizes (currently 5x5).
2021-05-03 00:09:24 -04:00
Avi Weinstock
8acec7dc1f Add 5x5 manhattan blur effect to quadpng, and omit interpolation at chunk borders. 2021-05-03 00:09:24 -04:00
Avi Weinstock
f93bab85ee Experiment with 256-color palette "tripng" encoding, and Lanczos interpolation for "quadpng". 2021-05-03 00:09:24 -04:00
Avi Weinstock
30fd3fa022 Add resolution downscaling to QuadPng's color channel, and use half-resolution QuadPng ingame. 2021-05-03 00:09:24 -04:00
Avi Weinstock
7f16d73217 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
Avi Weinstock
9abbfee18b Move compression helpers to common_net::msg::compression and experiment with more image formats at more site kinds. 2021-05-03 00:09:24 -04:00
James Melkonian
6956d364d1 Add map markers for lakes and mountains 2021-05-03 02:00:23 +00:00
Avi Weinstock
0ae259f359 Cleanup errors introduced in rebase. 2021-04-20 23:34:17 -04:00
Avi Weinstock
c1c7f748ef Move terrain compression code to common_net and disable redundant LZ4 compression on the terrain stream. 2021-04-20 23:24:24 -04:00
Avi Weinstock
67ae3494c4 Compress terrain chunks with deflate. Includes a benchmark showing that this makes them around 70% smaller, and is the same speed as LZ4. 2021-04-20 23:23:53 -04:00
Imbris
91f092bdaf Remove extra chunk cloning and parallelize serialization in the server terrain sys 2021-04-20 15:25:05 -04:00
Ludvig Böklin
99d6cc04db Basic fluid dynamics and physical properties for entities 2021-04-20 17:38:19 +02:00
Marcel Märtens
302769d086 remove authc from common::net 2021-04-20 01:30:23 +02:00
Avi Weinstock
1064e3777b Add a toggle to negotiate the use of server-authoritative physics. 2021-04-15 08:50:17 -04:00
holychowders
793e7982b0 Resolve Issue #978 - Extract SkillSet Into Its Own Component 2021-04-14 15:35:34 +00:00
Joshua Yanovski
909f2c4680 Remove panics and unwraps, part 1.
Also fixes various other miscellaneous bugs.
2021-04-10 10:03:21 +02:00
Joshua Barretto
6f72e53295 Improved archery with feedback sfx and particles 2021-03-29 21:52:04 +01:00
Marcel
757692edb6 Merge branch 'refactor-login' into 'master'
refactor handling of duplicate login #1015

Closes #1015

See merge request veloren/veloren!1992
2021-03-27 13:49:09 +00:00
aljazerzen
06f860e2a0 refactor handling of duplicate login 2021-03-25 12:33:56 +01:00
Avi Weinstock
6d30f17add Get SitePricing information to clients, and use it to display coin-denominated prices in voxygen on tooltips during a trade. Also boost merchant spawn rate slightly. 2021-03-25 02:11:58 -04:00
heydabop
bc75323bb1 Fix #962 - kick old client and add new client on duplicate login 2021-03-22 19:15:24 -05:00
Marcel Märtens
8838bddefe update toolchain to nightly-2021-03-22 2021-03-22 16:41:04 +01:00
Marcel Märtens
fcb00df6b8 Change the version number to 0.9 2021-03-20 13:07:09 +01:00
Joshua Barretto
b514f4fe92 Reduced rubber-banding and interpolation jerk without significantly impacting upon network usage 2021-03-17 21:31:07 +00:00
Avi Weinstock
67368dbc58 Apply ForcedUpdate messages to the interpolation system, potentially improving the handling of teleports. 2021-03-16 11:55:01 -04:00
Avi Weinstock
140b958193 Address Imbris's MR 1888 comments, and add changelog entry.
- Use Ori::{new,to_quat} and make the field private.
- Update/capitalize/add various comments.
- Implicitly drop scope guards where applicable.
- Take !Copy colliders by reference instead of cloning.
- s/cylinder_voxel_collision/box_voxel_collision/
- Unindent some physics code with a continue.
2021-03-14 23:21:46 -04:00
Avi Weinstock
caafa0bb71 Fix interpolation for possession, and make the mount point of airships above their deck. 2021-03-14 23:21:45 -04:00
Avi Weinstock
55db12e318 Add hermite interpolation for position (disabled for now with a flag, since it breaks possession). 2021-03-14 23:20:48 -04:00
Avi Weinstock
0fe0562300 Add lerping of physics to extrapolated position, and enable sending updates for stopped entities. 2021-03-14 23:20:48 -04:00