131 Commits

Author SHA1 Message Date
eed613a50f change other value parsers 2023-05-05 15:05:57 +02:00
a74ec7a1ad use correct macro 2023-05-05 14:49:14 +02:00
d90ea8c1da get rid of structop and update clippy in common test, now only criterion is left with version 2 2023-05-05 09:46:46 +02:00
4be1e82ba9 update further dependencies 2023-05-04 23:42:05 +02:00
9dd1b6c785 Switch from ansi-parser to cansi, down to a single version of nom! 2023-04-05 02:38:58 -04:00
Sam
5c675fdbe2 Addressed review 2023-03-21 20:18:34 -04:00
Sam
c78c45ec73 Addressed review 2023-03-21 20:16:59 -04:00
Sam
e31668b188 Fixed dynlib features to not have UB when allocating. 2023-03-21 20:03:20 -04:00
Sam
4f26e37ae6 Addressed review 2023-01-09 20:18:31 -05:00
Sam
7d42c45fdd Site2 code is now hot-reloadable with 'hot-site2' feature. 2023-01-09 20:06:35 -05:00
Sam
525630c37a Moved some agent code into separate crate to facilitate hot reloading of that agent code. 2022-09-16 22:13:18 -04:00
986d104faa Update Rust toolchain. 2022-09-08 15:43:53 -07:00
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
af04843a20 Re-enabled mimalloc for non msvc builds 2022-07-10 14:50:35 +01:00
7e18384e1c Disable mimalloc for non msvc builds 2022-07-06 19:08:19 +02:00
57d6b4a55f Switch to mimalloc on windows 2022-07-04 09:15:18 +02:00
a366fc4512 Update tracy 2022-05-26 00:04:03 -04:00
affdf3131f update a bunch of dependencies, including clap3 2022-04-04 11:43:29 +02:00
d7d8d8d2da Small cleanup in server-cli/src/main.rs 2022-02-19 19:22:13 -05:00
7ba45fa7e5 adjust tracing and remove unused coding 2022-02-05 13:04:16 +01:00
7148737252 Remove quic_files server setting
(cherry picked from commit 38339d90ceb87008bbb0ce31ad4e28350213a401)
2022-02-05 13:04:16 +01:00
89580eba8c Remove gameserver_address setting and add protocols_and_addresses setting
(cherry picked from commit a5e4575ad349aacb1f41a7e93e3d5ff9eeafc6ae)
2022-02-05 13:04:16 +01:00
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
8b89903d57 Bump tracing-subscriber to 0.3.2
We were pulling two versions of it. Causing some compilation errors
2021-11-26 17:41:51 +00:00
d256d09d28 Fixed server-cli command parsing failure on Windows 2021-09-05 16:46:20 +01:00
172bddf731 Make admin add/remove command arguments positional again 2021-07-30 01:25:38 -04:00
70d0840e96 Resolve unused '#[allow(clippy::unnecessary_wraps)]' error supressions 2021-07-24 20:14:26 +02:00
73b5c03510 Changed veloren-server-cli to run in interactive basic mode as default. Removed -b and added -t which enables the tui. 2021-07-14 20:03:16 +01:00
9b3b21f368 fix clippy warnings 2021-07-12 12:09:09 +02:00
a65ef892ca use split_inclusive instead 2021-05-12 18:40:12 +02:00
863e11d5e3 enable TUI to actually handle newline character.
but we are not sure if NEWLINEs are wanted in logs as it could cause problems with automated parsing.
2021-05-12 18:40:08 +02:00
33494c0e29 More fixes to stdin input.
Adding tty makes sure docker attach won't be accidentally detached
by ctrl-C (there are better ways of doing this but this one works
for now)

shell-words more closely emulates Bash's tokenizer rules (but without
doing things like environment variable expansion) which allows us to use
multiline strings as reasons, etc.  Unfortunately entering newlines
still won't work the way we've written things since shell-words does not
right now give enough information to incrementally build up a valid
string, just says there was a tokenizing error; but maybe in the future
we can fix that.
2021-05-11 04:15:59 -07:00
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
4cfdbdd069 use a constant for recommended_threads 2021-05-05 14:35:06 +02:00
0142cf37f0 limit tokio threads to 1/4 of num_cpus
make sure that rayon has at least 2 threads even on 1cpu systems to increase stability
2021-05-04 21:06:11 +02:00
95d7a3d761 Fixed cargo test-server. Removed -Z package-features from .cargo/config as it is no longer required 2021-04-15 19:07:46 +01:00
1de94a9979 * Replaced diesel with rusqlite and refinery
* Added "migration of migrations" to transfer the data from the __diesel_schema_migrations table to the refinery_schema_history table
* Removed all down migrations as refinery does not support down migrations
* Changed all diesel up migrations to refinery naming format
* Added --sql-log-mode parameter to veloren-server-cli to allow SQL tracing and profiling
* Added /disconnect_all_players admin command
* Added disconnectall CLI command
* Fixes for several potential persistence-related race conditions
2021-04-13 22:05:47 +00:00
ccb78eeb5c move tracing code to own crate 2021-03-30 16:35:36 +02:00
edebe06a10 make interactive OPT-OUT isntead so that it's not forgotten when its important. and its more userfriendly for the average user. scripts prob just add a -n or -b 2021-03-26 00:22:46 +01:00
fdc40f52d9 give more threads a fixed name 2021-03-22 12:37:03 +01:00
96049904a6 add keepalive in server-cli so we know it still ticks, ~ all 30s 2021-03-21 19:15:40 +01:00
a286eb084a create a wrapper around rayon, slowjobpool, that spawns on rayon but drop feed it 2021-03-16 13:31:04 +01:00
8d0b776f18 Move server-cli commands to separate file, tracy profiling par_join improvements, misc improvements
- remove overwritten logging setting in server-cli
- add server-cli command to load a random area for testing without a client
- make admin add/remove commands modify ingame players instead of needing to reconnect
- add spans to par_join jobs
- added test command that loads up an area of the world
- add tracy-world-server alias
- set debug directives to info for logging
2021-03-13 02:28:59 -05:00
381bb5eef0 fix tracy 2021-03-11 17:05:17 +01:00
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
d7df741671 update dependencies, including removal of some tracy deps as they are get through common/tracy 2021-03-09 20:17:29 +01:00
4ebfbdde0f Move Specs code to own common_ecs create, put tracy and macros into common_base 2021-03-09 00:54:01 +01:00
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
03af9937cf Stabelize Network again:
- completly switch to Bytes, even in api. speed up TCP by fak 2
 - improve benchmarks
 - speed up mpsc metrics
 - gracefully handle shutdown by interpreting Ok(0) as tokio::tcpstream closed now.
 - fix hotloop in participants by adding `Some(n)` to fix endless handing.
 - fix closing bug by closing streams after `recv_mgr` is shutdown even if now shutdown is triggered locally.
 - fix prometheus
 - no longer throw when a `Stream` is dropped while participant still receives a msg for it.
 - fix the bandwith handling, TCP network send speed is up to 1.5GiB/s while recv is 150MiB/s
 - add documentation
 - tmp require rt-multi-threaded in client for tokio, to not fail cargo check

this is prob stable, i tested over 1 hour.
after that some optimisations in priomgr.
and impl. propper bandwith.
Speed is up to 2GB/s write and 150MB/s recv on a single core

sync add documentation
2021-02-17 19:37:48 +01:00
ea8ab1ce7a Great improvements to the codebase:
- better logging in network
 - we now notify the send of what happened in recv in participant.
 - works with veloren master servers
 - works in singleplayer, using a actual mid.
 - add `mpsc` in whole stack incl tests
 - speed up internal read/write with `Bytes` crate
 - use `prometheus-hyper` for metrics
 - use a metrics cache
2021-02-17 16:15:00 +01:00