Commit Graph

2396 Commits

Author SHA1 Message Date
Ben Wallis
342dea48d1 Added per-IP rate limiting to Query Server 2022-10-07 22:50:16 +01:00
Ben Wallis
bbfcf224c5 Added protection against UDP amplification attacks to QueryServerInfo message handling. Added query_client bin to test Query Server 2022-10-07 19:09:20 +01:00
Ben Wallis
e9bba9999b Added UDP Query Server to Veloren Server 2022-10-05 21:57:59 +01:00
Avi Weinstock
e6576f0cf3 Make the trading AI for pets only accept food. 2022-09-30 15:11:03 -04:00
Avi Weinstock
ff781198d3 Fix 18-slot pets (they now properly get inventories based on their body type, which is usually 1-slot).
Also fixes a related issue where pets lose their natural weapons/armour.
2022-09-30 14:51:49 -04:00
Avi Weinstock
60f5383f8b Address comments for MR 3633. 2022-09-30 14:51:49 -04:00
Avi Weinstock
c62bc0dd0d Allow pets to be traded with. 2022-09-30 14:51:49 -04:00
Marcel Märtens
cf6a764aa4 update toolchain to 2022-09-23 2022-09-25 15:58:32 +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
Samuel Keiffer
59d8d287d9 Merge branch 'seachapel_npc_work' into 'master'
seachapel npc work

See merge request veloren/veloren!3599
2022-09-22 01:04:01 +00:00
flo
a37e1f8d99 seachapel npc work 2022-09-22 01:04:01 +00: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
Samuel Keiffer
188db01a7b Merge branch 'sam/hot-agent' into 'master'
Agent combat tactics hot reloading

See merge request veloren/veloren!3629
2022-09-21 02:44:51 +00: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
Sam
c228d9cc3f Addressed comments 2022-09-17 13:10:01 -04:00
Sam
3d6c9a780d Removed redundant package parameter from init function of hot reloading 2022-09-17 00:55:28 -04:00
Sam
cfeb197f85 Removed duplicate crates added so there could be dynamic crates, now compiled with crate type specified instead. 2022-09-17 00:50:59 -04:00
Sam
23c51af437 Consolidated voxygen and server dynlibs into a common dynlib 2022-09-16 23:43:26 -04:00
Sam
b632dbffdd Hot reloading attack code in agent now functional 2022-09-16 22:13:18 -04:00
Sam
ddb56bd560 Dynamic library compiles, but still panics 2022-09-16 22:13:18 -04: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
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
cafdcad8ce Merge branch 'sharp/improve-msg' into 'master'
Improve some server system performance

See merge request veloren/veloren!3614
2022-09-15 04:30:31 +00:00
Joshua Yanovski
2c15d0af56 Reduce overhead of messaging systems. 2022-09-14 21:04:53 -07:00
James Melkonian
5d5cb28b59 Fix pet aggro 2022-09-14 19:48:34 +00:00
flo
dc688bccb9 fix_salamander_and_elbst 2022-09-13 17:32:53 +00: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
Samuel Keiffer
34fa03a425 Merge branch 'juliancoffee/bigger-kit' into 'master'
Make /kit use all weapons from possible modulars

See merge request veloren/veloren!3595
2022-09-06 04:45:12 +00:00
juliancoffee
68da12ab6b Reduce traversal_config min dist
* Fix LOS pillar cheesing
2022-09-05 02:17:15 +03:00
juliancoffee
421aa44d5f Make kit generate all possible modulars 2022-09-05 00:24:58 +03:00
flo
6c89cd8fbf put Organ under Toolkind Instrument 2022-08-30 16:55:02 +00:00
Samuel Keiffer
52ce12f383 Merge branch 'floppy-music-instruments' into 'master'
Music Instruments

See merge request veloren/veloren!3535
2022-08-28 18:48:18 +00:00
flo
9339971032 Music Instruments 2022-08-28 18:48:18 +00:00
Imbris
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
Imbris
c36d6e873f Fix issue with the region subscription system not updating on view
distance changes (until the player crossed a chunk boundary and
triggered the normal update).

This introduces a `ViewDistance` struct that provides an abstraction
around limiting the rate the view distance can be cycled up and down.
This helps avoid unnecessary sending, deleting, and then resending of
synced things like entities (the client will still delete its terrain
locally and re-request it though).

The second part of this fix is storing the last view distance in the
`RegionSubscription` struct and then updating region subscriptions if
this doesn't match the current view distance in the `Presence`
component.
2022-08-25 23:24:43 -04:00
Isse
20013e17ab Merge branch 'isse/remove-print' into 'master'
Remove print

See merge request veloren/veloren!3563
2022-08-24 22:28:13 +00:00
flo
e882e62c08 seachapel 2022-08-24 21:50:53 +00:00
IsseW
5232b6e9af remove print 2022-08-24 23:38:18 +02:00
Joshua Barretto
51d90707b5 Relaxed automod somewhat 2022-08-23 10:03:06 +01:00
Imbris
ce8b8b6f12 Update changelog, cargo fmt 2022-08-21 12:10:20 -04:00
Imbris
7439d09708 Ensure that the client clears pending trades on its side when exiting to
the character screen (and similar actions). When any entity is
deleted cancel any existing trades associated with it.
2022-08-20 18:47:09 -04:00
Imbris
87815b4615 Use send_fallible in notify_client implementation to document that any errors are ignored (and use if let instead of map) 2022-08-20 18:47:09 -04:00
Imbris
f1b6805c65 Remove outdated comments in handle_destroy and refactor map_err to if let Err 2022-08-20 18:47:09 -04:00