Commit Graph

153 Commits

Author SHA1 Message Date
2c15d0af56 Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
f5aee1d2a7 Allow mods/admins to log in when server is full.
As a side effect, this moves the initial game server sync message into
the login code, since that's the first place we can check for admin
permissions and we want to avoid sending large messages to users who are
not authenticated (especially if the player cap has been reached;
previously, the player cap check limited the damage that could be done
by unauthenticated players).

Some fallout from this is that we don't synchronize the Player component
anymore, which had some minor effects on voxygen.  This update also
breaks Torvus, since Client::new now expects the username and password
to be provided from the getgo--an accompanying MR will be submitted to
fix it.
2022-09-06 21:42:31 -07:00
334937568e Add an entity view distance setting that allows limiting the distance
entities are synced from and displayed in.

NOTE: Syncing entities work at the granularity regions which are
multi-chunk squares but the display of entities in voxygen is limited in
a circle with the radiues of the supplied distance.

Additional details and changes:
* Added `ViewDistances` struct in `common` that contains separate
  terrain and entity view distances (the entity view distance will be
  clamped by the terrain view distance in uses of this).
* View distance requests from the client to the server now use this
  type.
* When requesting the character or spectate state the client now passes
  its desired view distances. This is exposed as a new parameter on
  `Client::request_character`/`Client::request_spectate`. And the client
  no longer needs to send a view distance request after entering these
  states. This also allows us to avoid needing to initialize `Presence`
  with a default view distance value on the server.
* Removed `DerefFlaggedStorage` from `Presence` and `RegionSubscription` since the
  change tracking isn't used for these components.
* Add sliders in voxygen graphics and network tabs for this new setting.
  Show the clamped value as well as the selected value next to the
  slider.
* Rename existing "Entities View Distance" slider (which AFAIK controls
  the distance at which different LOD levels apply to figures) to
  "Entities Detail Distance" so we can use the former name for this new
  slider.
2022-08-25 23:24:43 -04:00
flo
e882e62c08 seachapel 2022-08-24 21:50:53 +00:00
52bd7b2485 Added automod 2022-08-11 11:09:52 +01:00
87821d5c1d force update counter 2022-08-09 19:22:09 +02:00
0471e78f41 spectate mode :D 2022-08-09 18:43:13 +02:00
d5b59c2bb7 Convert away from IdvStorage to mixture of VecStorage and DenseVecStorage 2022-08-08 00:38:20 -04:00
120ee6b6c0 Fix typos 2022-07-15 18:59:37 +02:00
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
e4909650e1 update hashbrown, specs, and tracy 2022-07-06 15:41:59 +02:00
08b0989789 add slider for rain map resolution 2022-07-04 18:07:18 +02:00
54f958acc7 more correct occlusion 2022-07-04 18:07:16 +02:00
b7c0196129 Server weather sim 2022-07-04 18:11:41 +02:00
57ab1c5767 Add a client-side mutelist 2022-06-14 20:35:01 +00:00
8488c7b25e Upgrade assets_manager to 0.8.0 and image to 0.24
This removes a significant number of duplicated dependencies
2022-05-28 23:18:31 +02:00
34f580dfaa Introduced loot ownership rules to combat loot stealing by players
* Added `LootOwner` component used to indicate that an `ItemDrop` entity is owned by another entity
* A loot winner is now calculated after EXP allocation using the EXP per entity for weighted chance distribution
* Used existing Inventory Full overitem text to show "Owned by {player} for {seconds}secs" when a pickup fails due to a loot ownership check
* Updated agent code to take into account loot ownership when searching for `ItemDrop` targets to pick up
* Added `loot` ECS system to clear expired loot ownerships
2022-05-28 12:06:49 +00:00
Sam
d436362a8d Consolidated crafting UI for the primnary component of modular weapons. 2022-05-16 15:11:21 -04:00
f35c98d1a1 Added LoD distance setting 2022-05-10 12:40:06 +01:00
b3126ca687 Initial implementation of LoD trees 2022-05-10 12:38:36 +01:00
fa49248c31 switch to upstream vek again 2022-04-28 09:10:55 +02:00
94a9b407c2 Fix waypoints being movable 2022-02-28 19:20:37 +00:00
e52159f638 Remove original character from game world when possessing to make persistence more robust. 2022-02-27 13:47:13 -05:00
10803a9735 Stop using Character presence kind when possessing so that persistence doesn't get messed up. 2022-02-27 13:47:12 -05:00
1a744808f0 Cleanup up possession code and add TODOs for issues to fix. Remove
SyncFrom debug_assertions hack.
2022-02-27 13:47:12 -05:00
df7cd2da1a Merge branch 'isse/shared-waypoints' into 'master'
Shared and persistent waypoints

See merge request veloren/veloren!3162
2022-02-20 10:10:18 +00:00
a685a353cb Shared and persistent waypoints 2022-02-20 10:10:18 +00:00
565785c0aa Remove TODO, UidAllocator needed on client to map uid -> entities 2022-02-19 20:01:40 -05:00
Sam
4991f7ecea Gnarlign site tweaks and chieftain buff 2022-02-11 01:23:09 -05:00
201a5ac2c7 stricten some rules and fix some clippy warnings 2022-01-30 20:16:21 +01:00
5f8957d8ef Globally allow the clippy lints {new_without_default, many_single_char_names, identity_op, type_complexity, too_many_arguments}. 2022-01-30 20:16:20 +01:00
fba89517de Move Veloren to 2021 edition 2022-01-26 16:46:40 +02:00
Sam
e6bef416b4 Fix possession for animation work purposes. 2022-01-25 12:29:05 -05:00
13d970bf6f Rename SyncFrom::AllEntities to SyncFrom::AnyEntity for more clarity, add more comments for component syncing code, address MR comment 2022-01-19 00:56:42 -05:00
374bd10e5d Small comment fixes 2022-01-19 00:56:42 -05:00
fa42be75b8 Fix health last change time not being set properly 2022-01-19 00:56:42 -05:00
5494bd31f2 Sync SkillSet from all entities for now since it is needed for some things in voxygen, fix character_behavior system always triggering energy and density modification flags 2022-01-19 00:56:42 -05:00
b19f780d9f Make Combo also only sync for the client's entity 2022-01-19 00:56:42 -05:00
aa122c1a18 Sync some components only from the client's own entity. Vastly reduce the amount of places to modify when adding/removing a component from network syncing. 2022-01-19 00:56:42 -05:00
043016a433 Don't try to mount unmountable entities, clippy fixes and fmt 2022-01-16 17:53:14 +00:00
504e2a38d5 Added overhead hints, smoother mount movement 2022-01-16 17:53:14 +00:00
b3e2d825ed Overhauled mounting to make it more reliable 2022-01-16 17:53:13 +00: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
bf48bd5346 update toolchain to nightly-2021-12-19 2021-12-23 13:04:24 +01:00
6e97e3179d Slippery ice 2021-12-20 18:03:52 +00:00
e3203080ed Added Calendar for temporal events based on the real-world calendar 2021-12-20 18:03:52 +00:00
408fe1e6b6 Begin creating character editing 2021-12-13 01:13:33 +01:00
596307c9b7 Remove unused clippy suppressions 2021-12-05 17:59:02 +00:00