Commit Graph

23 Commits

Author SHA1 Message Date
Imbris
6c6b9181a5 Only construct specs::Dispatcher once
* use version of shred that has an added SendDispatcher so we can
  construct the dispatcher and send it between threads (only State to
  remain sendable)
* move closure for adding systems from State::tick to the creation
  functions
* this does mean some voxygen systems always run instead of just in the
  session state, but that should not cause issues and we can always
  configure them to do nothing if needed
2024-01-03 18:11:06 -05:00
Maxicarlos08
a3be68930e
review comments 2023-10-02 23:23:42 +02:00
Joshua Barretto
85a3d0bec4 Fixed tests 2023-04-11 18:17:52 +01: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
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
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
Dr. Dystopia
04700982d3 Resolve unused '#[allow(clippy::option_map_unit_fn)]' error supressions 2021-07-24 20:35:13 +02: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
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
1b15
f8009e5d1c fixed auth server URL 2021-04-05 14:15:57 +00:00
Marcel Märtens
ccb78eeb5c move tracing code to own crate 2021-03-30 16:35:36 +02:00
Marcel Märtens
728bff610b Allow HTTP auth servers again.
only `localhost` are allowed in a release build.
 when debug assertions are on, others are also allowed.

This change undoes the changes to the settings, so compared to master, there is no effect
2021-03-11 17:24:52 +01:00
Marcel Märtens
a98e72c391 Auth requests are now done async, the register system is fetching it, via a PendingLogin component
The auth server no longer allows the protocol to be specified. we enforce `https` for the auth server, so DO NOT provide a auth url with `https://` but without.
correct is now `auth.veloren.net`
incorrect is: `https://auth.veloren.net`
2021-03-11 17:05:02 +01:00
Marcel Märtens
e3ef4422b6 cleanup ClientConnArgs 2021-02-22 21:07:20 +01:00
Marcel Märtens
3f5c64bec0 Client::new can now resolve DNS requests, better networking error messages 2021-02-22 17:35:19 +01:00
Marcel Märtens
514d5db038 Update Network Protocol
- now last digit version is compatible 0.6.0 will connect to 0.6.1
 - the TCP DATA Frames no longer contain START field, as it's not needed
 - the TCP OPENSTREAM Frames will now contain the BANDWIDTH field
 - MID is not Protocol internal

Update network
 - update API with Bandwidth

Update veloren
 - introduce better runtime and `async` things that are IO bound.
 - Remove `uvth` and instead use `tokio::runtime::Runtime::spawn_blocking`
 - remove futures_execute from client and server use tokio::runtime::Runtime instead
 - give threads a Name
2021-02-22 17:34:55 +01:00
Marcel Märtens
5aa1940ef8 get rid of async_std::channel
switch to `tokio` and `async_channel` crate.
I wanted to do tokio first, but it doesnt feature Sender::close(), thus i included async_channel
Got rid of `futures` and only need `futures_core` and `futures_util`.

Tokio does not support `Stream` and `StreamExt` so for now i need to use `tokio-stream`, i think this will go in `std` in the future

Created `b2b_close_stream_opened_sender_r` as the shutdown procedure does not need a copy of a Sender, it just need to stop it.

Various adjustments, e.g. for `select!` which now requieres a `&mut` for oneshots.

Future things to do:
 - Use some better signalling than oneshot<()> in some cases.
 - Use a Watch for the Prio propergation (impl. it ofc)
 - Use Bounded Channels in order to improve performance
 - adjust tests coding

bring tests to work
2021-02-17 12:38:53 +01:00
Marcel Märtens
eba3532386 move tools and chat-cli in src/bin and examples 2020-12-12 02:12:00 +01:00