Commit Graph

692 Commits

Author SHA1 Message Date
Marcel Märtens
8ab5d53f2c sync
make systems more stable by:
- fix wobbly, by doing CompSync and TimeSync in same ecs system
- dont interpolate on voxygen
- sync PhysState to the client in order to get rid of the jump snap to ground bug
- make the simulate_ahead more constant over time, as "jumps" in this number will be noticed by the client as "lag jumps"

There are still some problems
- [ ] Snap to the ground on jump isn't fixed completly, as we depend on tick n-1 and we only sync tick n to the client
- [ ] Arrows dont work properly yet with this commit, e.g. right click arrow attack
- [ ] Verify that clientcommands are actually broadcasted to all clients
- [ ] Followup: Agent needs to send clientcommands rather than commands
2023-03-16 08:47:30 +01:00
Marcel Märtens
65a0c15054 sync
current problems:
- [X] time was wiggling to much
  => resolved, we state.ticked twice per client.tick
- [ ] Jump Reset to 0, see issue #1512
  => Jump z reset to 0 after 200ms (time ahead) for 1 tick, on_ground is one tick behind JumpEvent, could be disabled by modifying common/state/src/state.rs handle_jump if condition remove on_ground check
- [ ] X/Y wiggle which looks like this -/'\,/-
  => The error actually persists in the last 1 before we receive no data from server /''''*\
  => The error exist equally in X and Y regardless of direction
  => The error already exsits before we apply the state.tick or state.rewind_tick, so it maybe comes from server via sync ?
- [X] Cant look around when holding the admin staff
  => we used Dir::new() which was 0/1/0 and due to normalizing limited the final range to around 5 degree
- [X] Slower when zommed in than when zoomed out
  => fixed by the look_dir fix above :)
2023-03-16 00:29:32 +01:00
Marcel Märtens
819661d1bb sync - experiment with woobling over multiple ticks, to adjust to small imperfections, later discarded 2023-03-16 00:29:32 +01:00
Marcel Märtens
820b3f06b0 sync - introduceconcept of a rewind_tick 2023-03-16 00:29:32 +01:00
Marcel Märtens
4343dd3aea add unit tests for replication system
- make tracy experience better by adding a 0.05 to client local TIME.
- fix an error that the look_dir was wrongly predicted
- add a jump graph for testing
- update in_game code that was commented out in system
- track the simulation ahead on the debug menu
- add simulated lag with `sudo tc qdisc replace dev lo root netem delay 700ms 10ms 25%`
add basic tests for phys
2023-03-16 00:29:32 +01:00
Marcel Märtens
714c346ded switch to monotonicTime to calculate latency and reorder client.tick so that we first process network data and then client data, so that the client sending data reacts to a adjusted TIME 2023-03-16 00:29:31 +01:00
Marcel Märtens
8a68daf8d3 enforce server physics 2023-03-16 00:28:26 +01:00
Marcel Märtens
665e9b9378 sync TIME ressource to client
- we evaluated multiple ways to sync the time, either store a delta between localtime and ServerTime or just store the ServerTime
2023-03-16 00:18:40 +01:00
Marcel Märtens
aa5111c265 first implemetations
sync, somehow we miht wanna put the whole clock inside maybe ?, move files
sync, disable Control and replace it by RemoteControl
2023-03-16 00:15:27 +01:00
Imbris
9e212935e5 Merge branch 'imbris/time-local-event-handling' into 'master'
Add metrics for timing subsections of State::tick

See merge request veloren/veloren!3825
2023-03-14 14:52:57 +00:00
Imbris
87bf44241b Add metrics for timing subsections of State::tick 2023-03-14 01:03:05 -04:00
Ben Wallis
45c8934b79 Merge branch 'xvar/queue-char-deletes' into 'master'
Changed character deletion to go via batch update

See merge request veloren/veloren!3562
2023-03-12 23:21:54 +00:00
Ben Wallis
6eedc02286 Changed character deletion to go via batch update 2023-03-12 23:21:53 +00:00
Sam
89aa934c3c Initial work 2023-03-11 16:45:10 -05:00
Thegaming Life
5ddc55be52 replaced CHUNK_SIZE by RECT_SIZE everywhere, and change the use (and remove... 2023-03-06 21:03:35 +00:00
Thegaming Life
acbb7ccba9 Changed the chunk size to constant 2023-02-28 10:00:53 +00:00
Marcel Märtens
25906e05df Change the version number to 0.14 2023-01-06 18:41:03 +01:00
Benoît du Garreau
4fbb0b9a0b Update to `assets_manager 0.9 2022-12-14 00:54:34 +01:00
Marcel Märtens
4a1404cd71 fix leftovers from toolchain update 2022-11-30 15:14:47 +01:00
Marcel Märtens
225cbf472f update tag and fix empty maps, other bugs introduced by auto fix 2022-11-29 09:19:10 +01:00
Marcel Märtens
dad73ba2a3 fix clamp clippy errors 2022-11-28 14:26:27 +01:00
Marcel Märtens
0ab7a2543e fix clippy errors 2022-11-28 14:08:11 +01:00
Marcel Märtens
ba3747a3f0 update toolchain 2022-11-28 14:08:11 +01:00
LunarEclipse
f6e2c6885c Cargo fmt 2022-11-10 17:19:43 +01:00
pepsalt
f22a9d030d CHANGE: moved time of day interpolation logic out of Client and into Scene for semantics and accessing the settings logically 2022-11-10 17:16:48 +01:00
pepsalt
775025ac63 CHANGE, client time lerp would cause flashing lights for large discrepancies, it now no longer lerps if the flashing lights setting is not on 2022-11-10 17:16:45 +01:00
4ydx
4ae332b8d1 Fix int overflows causing crash when using /goto 2022-10-13 13:58:02 +00:00
juliancoffee
9dc07a38db Follow-up from i18n-helpers MR 2022-10-01 18:35:36 +03:00
Marcel Märtens
0fe0192a2d get rid of string replacements in template strings 2022-09-29 17:33:53 +02:00
Marcel Märtens
81cdcfc1a0 move voxygen/i18n to client/i18n to indicate that it can be used by more frontends if they want to make use of our helpers 2022-09-27 14:09:20 +02:00
Marcel Märtens
7f46bc5b78 switch name to i18n-helpers 2022-09-27 13:46:13 +02:00
Marcel Märtens
ba260e8419 translate MOD and YOU messages 2022-09-27 13:46:12 +02:00
Marcel Märtens
cc3fcfce8c initial approach of utelising chat-i18n crate by chat-cli bot 2022-09-27 13:46:12 +02:00
Marcel Märtens
a0ef3be9ac remove hardcoded localisation from client 2022-09-27 13:46:12 +02:00
Marcel Märtens
c2b453f6f1 update toolchain to 2022-09-08
This reverts commit 6c9deee491.
This reverts commit a32b269252.
2022-09-24 00:04:40 +02:00
Marcel Märtens
29d0f5b25d update dependencies 2022-09-22 11:57:55 +02:00
Joshua Yanovski
57ea753bff Merge branch 'sharp/parallel-ingame' into 'master'
Parallelize ingame messages.

See merge request veloren/veloren!3627
2022-09-21 19:44:40 +00:00
Joshua Yanovski
1c14ec7ee1 Parallelize ingame messages. 2022-09-21 10:25:57 -07:00
Joshua Yanovski
67231aff90 Remove persistence loading error from SkillSet.
This is needed (for now) in order to parallelize ingame_chat, because
one of the handled messages updates this value on the server.  It turns
out that the value is not actually used on the server, only the client,
so this was mostly a matter of threading this back to the correct place.
Additionally, we took the opportunity to modify the UI to not log you
into the game until your character was confirmed to be loaded, which
was a todo item that lets us simplify some error handling logic and
remove stuff from global state.
2022-09-21 09:29:25 -07:00
Imbris
1b48a3008c Merge branch 'Couls/TestBed' into 'master'
Extend item pickup UI to group members

Closes #1402

See merge request veloren/veloren!3521
2022-09-20 22:13:50 +00:00
Couls
4a4c061b55 Extend item pickup UI to group members 2022-09-20 22:13:50 +00:00
Joshua Yanovski
e9a463d459 Revert "Merge branch 'xMAC94x/update-deps' into 'master'"
This reverts merge request !3608
2022-09-15 18:51:48 +00:00
Joshua Yanovski
2c15d0af56 Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
Marcel Märtens
a32b269252 steal sharps clippy improvements to the old nightly 2022-09-11 16:10:56 +02:00
Joshua Yanovski
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
Marcel Märtens
d9e6f10688 update dependencies 2022-09-08 23:29:08 +02:00
Joshua Yanovski
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
Imbris
d3c90f9078 Update changelog, update client/src/bin/* with changes in Client API 2022-08-25 23:25:58 -04:00
Imbris
4126194a5c View distances small fixes and improvement:
* Properly set view_distance field in Client when sending it to the
  server in request_character/request_spectator.
* Removed invalid check I had included in Client::set_view_distance
* ViewDistances::clamp now clamps min to 1 for both types of view distance.
2022-08-25 23:24:43 -04:00
Imbris
37caab539c Replace uses of "65" with client::MAX_SELECTABLE_VD in client and
voxygen crates.
2022-08-25 23:24:43 -04:00