Commit Graph

577 Commits

Author SHA1 Message Date
Joshua Barretto
043016a433 Don't try to mount unmountable entities, clippy fixes and fmt 2022-01-16 17:53:14 +00:00
Joshua Barretto
b3e2d825ed Overhauled mounting to make it more reliable 2022-01-16 17:53:13 +00:00
threadexception
3f5c9dcd13 Fix issue with chat after char selection 2022-01-16 17:22:55 +01:00
Sam
d86692c4fe Added in-memory persistence of ability sets per weapon kind pair. 2022-01-15 21:42:34 -05:00
Sam
efbc5f9b75 UI notifying player that their skillset has been invalidated. 2022-01-03 19:55:06 -05:00
Sam
27dd7b4391 Refactored skills code. 2022-01-03 19:55:01 -05:00
Imbris
e136e606a5 suppress clippy false positive, fmt 2021-12-26 14:40:50 -05:00
Imbris
b255f0ee0f put Client::tick_network function behind feature, remove unnecessary cloning of deleted entity vecs in entity sync, move prepare_send hack that avoids locking during message serialization from send_fallible to send, add job.cpu_status par mode adjustment around parallel section 2021-12-26 12:04:08 -05:00
Imbris
9788b144ec Decrease swarm movement speed 2021-12-25 19:24:12 -05:00
Imbris
6023670467 Improvements to swarm clients: space properly for the unclustered case so that regions don't overlap, advance time manually within Client::tick_network since State::tick isn't being called 2021-12-25 19:24:12 -05:00
Imbris
027f2f5719 Setup client binary that connects to the server with a group of clients positioned and moving in a few different patterns for profiling the server under network load. 2021-12-25 18:14:39 -05:00
Joshua Barretto
e3203080ed Added Calendar for temporal events based on the real-world calendar 2021-12-20 18:03:52 +00:00
Dr. Dystopia
3a52599e49 Clean up 2021-12-15 21:55:53 +01:00
Joshua Barretto
dd95d69dc4 Fixed character editing 2021-12-13 00:55:25 +00:00
Dr. Dystopia
408fe1e6b6 Begin creating character editing 2021-12-13 01:13:33 +01:00
Marcel Märtens
ef40ebe0c8 update toolchain to nightly-2021-11-24 2021-11-24 10:09:22 +01:00
Marcel Märtens
e29ede7c97 updating dependencies,
cannot update the following dependencies:
 - vek: Sharps SIMD isnt upstream
 - tracing-subscriber: MakeWriter was adjusted and i was to lazy to fiddle with lifetimes,
 - refinery, rustsql: we have a custom refinery version which is incompatible with newer rustsql
 - equi + egui_winit + egui_wgpu_backend: i tried it in this commit but it turned out that they dependo n wgpu which we cant update
 - wgpu: cant update due new version doesnt support DX11

Got quinn updated which now require some dependencies to be explicit.
2021-11-20 20:17:49 +01:00
Sam
dfcb8c8519 Addressed review feedback. 2021-11-11 18:10:22 -05:00
Sam
b678f7f46e Added some client methods for changing abilities to hook into. 2021-11-11 01:55:32 -05:00
Sam
fbd742abdb Changed crafting to only consume items after checking that the crafting would be successful instead of consuming items first and reinserting on failure. 2021-10-27 17:02:36 -04:00
Sam
e28ca15059 Salvaging now requires a salvaging station. 2021-10-27 17:02:33 -04:00
Sam
794b072d3e Simple recipes now take a vec of slots to look in for the ingredients. 2021-10-27 17:02:30 -04:00
Sam
7a17863988 Salvage works by double clicking from inventory while salvage tab in crafting is open. 2021-10-27 17:02:30 -04:00
Sam
ed5cf8ebf9 Backend stuff for salvaging. 2021-10-27 17:02:29 -04:00
Bryant Deters
b2bd43f4d3 Sneak with weapons drawn 2021-10-18 14:53:55 -05:00
Sam
538cb56b87 Sprites now go through a character state to be picked up. 2021-08-31 13:36:04 -04:00
Ludvig Böklin
400734cc0a Fix gliderwield downhill run jitter 2021-08-01 11:20:46 +00:00
Monty Marz
14eb0f9aa2 Remove sceptre, add swords 2021-07-29 22:38:35 +00:00
James Melkonian
54eb97b9de Reduce number of map layers and remove unneeded alpha channel 2021-07-24 19:54:40 -07:00
Dr. Dystopia
70d0840e96 Resolve unused '#[allow(clippy::unnecessary_wraps)]' error supressions 2021-07-24 20:14:26 +02:00
Marcel Märtens
468cfe84e7 clippy fixes in tests 2021-07-12 13:35:26 +02:00
Marcel Märtens
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
Sam
04e8138b60 Fix test 2021-07-06 15:49:57 -05:00
Ben Wallis
b499cf2c58 Added egui debug UI - a 100% rust UI framework (similar to imgui) allowing for rapid development of debug interfaces to aid development. This is feature-gated behind the egui-ui feature which is enabled by default but removed for airshipper builds.
Included in the initial implementation is an entity browser which lists all entities in the client ECS, an entity component viewer which shows select components belonging to the selected entity including character state information, and a simple frame time graph.

This MR also includes an extraction of the animation hot reloading code which has been reused for egui to allow for hot-reloading of the egui interface to allow rapid development of the UI with realtime feedback upon save as is the case with aninmations. This is feature-gated behind the `hot-egui` feature which is not enabled by default due to the extra startup time that it adds.
2021-07-04 09:47:18 +00:00
Avi Weinstock
c2106e158f Use approximate byte count for the terrain recv graph. 2021-07-02 12:43:34 -04:00
Avi Weinstock
6ba512efc8 Add some tracy plots about network usage to the client. 2021-07-02 12:40:52 -04:00
Jonathan Berglin
85285f9b8e Tygyh/bot main refactor 2021-07-01 15:59:05 +00:00
Imbris
315ab872f5 add prof_span to hud elements 2021-06-19 04:27:51 -04:00
Imbris
044b2316a6 Eliminate strange wait time of ~1 ms during message handling on the
client where nothing seemed to be occuring
2021-06-19 04:27:50 -04:00
Imbris
2bb91e8d7d Fix span macros by putting cfgs outside the macro (they are evaluated in the crate where the macro is used), add shorthand for common case of prof_span macro, add some spans to the client code and spiff bits of it 2021-06-19 04:27:50 -04:00
Joshua Barretto
96cbf60c3f Made commands a distinct ClientMsg to avoid possible sanitisation problems for clients 2021-06-17 19:55:21 +01:00
Joshua Barretto
b8749dc219 Added more cow noises, prepare for merge 2021-06-16 17:23:54 +01:00
Marcel Märtens
846df3a18a --all-targets does not run targets that needs some features which are not provided. --all-features is NOT possible as we have some features which are conflicting.
The only possibility is to manually add the features we need to check in CI to the clippy query
2021-06-07 12:29:08 +02:00
Imbris
0b92c72096 Make handling of shortcut keywords for commands clearer and revise a TODO related to how chat messages are stored and renamed with alias changes 2021-06-06 23:45:51 -04:00
Marcel
f988584337 Merge branch 'revert-c6e200a3' into 'master'
Add a configuration Option to opt-in Quic backend

See merge request veloren/veloren!2318
2021-06-02 14:27:13 +00:00
hqurve
854930bc1a Item pickups are shown in separate window and "inventory-full" messages are shown above the item attempted to be picked up 2021-05-22 20:47:08 +00:00
Marcel Märtens
cf3188b412 remove Protocol from Quic, cleanup code, fix some log spam 2021-05-21 10:41:19 +02:00
Marcel
99304ffddd Revert "Merge branch 'sharp/revert-quinn' into 'master'"
This reverts merge request !2315
2021-05-21 10:41:16 +02:00
Ludvig Böklin
fe186fb44d Code quality 2021-05-20 10:46:39 +02:00
Joshua Yanovski
3679cb75bc Revert "Merge branch 'xMAC94x/quic_enablement' into 'master'"
This reverts commit 04d8ddf25e, reversing
changes made to 9dcf7a9d26.
2021-05-17 08:32:12 -07:00
Marcel
04d8ddf25e Merge branch 'xMAC94x/quic_enablement' into 'master'
Add a configuration Option to opt-in Quic backend

See merge request veloren/veloren!2268
2021-05-17 12:02:55 +00:00
James Melkonian
f76b61ac17 Make merchants /tell instead of /say 2021-05-11 17:26:22 +00:00
Marcel Märtens
9e357dfa0c remove ViewDistance from Client::new() and fix tests 2021-05-10 12:59:49 +02:00
Marcel Märtens
2ea5fd876b cleanup error codes 2021-05-10 12:59:44 +02:00
Marcel Märtens
b443e4dd31 Add Quin support, as this is not yet very much tested it needs to be activated in the settings of SERVER and CLIENT.
Server:
 provide a certificate file and key file via the settings. When provided it will then listen on TCP and QUIC, if not provided it will be TCP only.
 The certificate must be known by the client, so you might get problems with self-signed certificates.
 ```ron
 quic_files: Some((
     cert: "/home/user/veloren_cert.pem",
     key: "/home/user/veloren_key.key",
 )),
 ```

Client:
 activate the voxygen settin `use_quic: true` to try to connect to the quic backend of a server.
2021-05-10 12:59:13 +02:00
Joshua Yanovski
e7587c4d9d 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
Marcel Märtens
68d326c817 revert Client drop to be correct again and also stop network properly, reduce timeout to 10s 2021-05-04 22:34:19 +02:00
Marcel
3c16966721 Merge branch 'xMAC94x/quic' into 'master'
Cleanup network, remove some unwraps, add experimental (disabled) Quic support

See merge request veloren/veloren!2221
2021-05-04 00:16:05 +00:00
Illia Denysenko
f04a4f907a Add possibility to translate buff outcomes 2021-05-03 23:02:59 +00:00
Avi Weinstock
be39054767 Make terrain compression a checkbox instead of a bandwidth (throughput?) heuristic. 2021-05-03 00:09:44 -04:00
Avi Weinstock
f81539cb00 Get PngPngPngJpeg terrain working in the actual game. 2021-05-03 00:09:24 -04:00
James Melkonian
f553700e8c Add map markers for lakes and mountains 2021-05-03 02:00:23 +00:00
Marcel Märtens
760c382ed9 protocoladdr change for listen and connect
(remove a loop in quic protocol which wasnt a actual loop)
2021-04-29 15:58:34 +02:00
Ben Wallis
c16bf51ab2 Merge branch 'xvar/reduce-timeofday-sync-frequency' into 'master'
Reduced frequency of TimeOfDay message being sent to clients

See merge request veloren/veloren!2218
2021-04-29 13:50:08 +00:00
Ben Wallis
3c20e8ed4e Reduced sync of TimeOfDay to once per 100 ticks 2021-04-29 12:34:27 +01:00
DaforLynx
2e0272ce28 Town music 2021-04-28 05:07:59 +00:00
Ludvig Böklin
34660462e9 Glider physics 2021-04-27 14:41:48 +00:00
Ben Wallis
c6205875ee Merge branch 'xvar/server-version-check' into 'master'
Added client/server version mismatch warnings

See merge request veloren/veloren!2184
2021-04-24 09:05:45 +00:00
Ben Wallis
2e08c2f76f Added client/server version mismatch message when a network error is encountered during client init.
Added warning banner on character select when successfully connected to a server with a mismatched version.
2021-04-24 09:08:30 +01:00
Imbris
1af4a04231 Revert "Merge branch 'revert-b10718c5' into 'master'"
This reverts merge request !2172
2021-04-21 17:10:13 +00:00
Imbris
fd672980c4 Revert "Merge branch 'imbris/agent-opt' into 'master'"
This reverts merge request !2024
2021-04-21 14:10:06 +00:00
Avi Weinstock
308ad4d81e Cleanup errors introduced in rebase. 2021-04-20 23:34:17 -04:00
Avi Weinstock
15e32e5655 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
6d9de520f3 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
e17477979f Remove extra chunk cloning and parallelize serialization in the server terrain sys 2021-04-20 15:25:05 -04:00
Imbris
26222a0a2d Rename common-sys to common-systems and rearrange common-state slightly 2021-04-20 15:25:04 -04:00
Joshua Barretto
36e95e0c03 Cleaned up client-side recipe handling 2021-04-20 12:33:22 +01:00
Monty Marz
abacdfc719 clippy 2021-04-20 02:48:17 +02:00
Monty
a1fe7c12c3 fmt, add sprites 2021-04-20 02:46:04 +02:00
Joshua Barretto
5598d07944 Added crafting stations 2021-04-20 02:45:59 +02:00
Marcel Märtens
7348e399e0 only have 1 Fn passed to tick fn 2021-04-20 01:49:45 +02:00
Marcel Märtens
5862920f32 seperate sys/state 2021-04-20 01:30:17 +02:00
Ben Wallis
a4cdb89987 Implemented inventory sorting 2021-04-17 22:04:08 +01:00
Avi Weinstock
50d0314a75 Add a toggle to negotiate the use of server-authoritative physics. 2021-04-15 08:50:17 -04:00
Joshua Yanovski
af94753ad9 Remove panics and unwraps, part 1.
Also fixes various other miscellaneous bugs.
2021-04-10 10:03:21 +02:00
James Melkonian
16871208f2 Add topographic option to map 2021-04-06 09:16:17 -07:00
James Melkonian
f2ebbb7f7f Map icon scaling 2021-04-06 08:42:09 -07:00
James Melkonian
8ee1fc4a0f Add layers to minimap 2021-04-06 08:42:08 -07:00
James Melkonian
bacda06dba Added map layers 2021-04-06 08:42:07 -07:00
James Melkonian
70ede7f34d Topographic map 2021-04-06 08:42:06 -07:00
Marcel Märtens
ccb78eeb5c move tracing code to own crate 2021-03-30 16:35:36 +02:00
Joshua Barretto
b0acbda236 Improved archery with feedback sfx and particles 2021-03-29 21:52:04 +01:00
Joshua Barretto
5bf17779ec Updated changelog, fmt 2021-03-28 18:07:01 +01:00
Joshua Barretto
d53042c852 Client-side time of day interpolation 2021-03-28 17:01:53 +01:00
Sam
f117a57083 Switched to using ForceUpdate to forcefully update the client position after a blink 2021-03-27 21:33:45 -04:00
Sam
30da614e89 Added dimensional door ability for mindflayer 2021-03-27 21:05:05 -04:00
Marcel
da5c73c84b 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
0ea102dc9c refactor handling of duplicate login 2021-03-25 12:33:56 +01:00
Avi Weinstock
8d90548331 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
0e3f7625a9 Fix #962 - kick old client and add new client on duplicate login 2021-03-22 19:15:24 -05:00