Commit Graph

662 Commits

Author SHA1 Message Date
Maxicarlos08
d6371f7f9b
Server rules i18n and rules button in character screen 2024-01-15 00:03:23 +01:00
Joshua Barretto
3d9ab445d9
Added rules field to server description 2024-01-15 00:02:42 +01:00
Imbris
6eedea7821 review fixes #2 2024-01-04 19:55:17 -05:00
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
Isse
e0e7fe499d despawn with volume mount 2023-11-15 11:58:26 +01:00
Isse
7fd255ec6c bug fixes and airships land at airship stations 2023-11-15 11:58:26 +01:00
Isse
1f195fd848 Make vehicles npcs and npc uid used in rtsim commands 2023-11-15 11:58:26 +01:00
Marcel Märtens
360cc4a4b7 Move most of the locking work to a seperate tokio spawn thread 2023-10-18 10:08:48 +02:00
Marcel Märtens
adeab73876 move whole webserver to server-cli 2023-10-18 09:35:40 +02:00
Marcel Märtens
38f4b8b644 There is no way to moderate ChatMessages not send in global chat. For this way we might investigate in a different approach.
The Gameserver returning the latest chat messages via a REST api (protected by a password in settings).
A central service can then scrape this endpoint and make it accessable to moderators.

We need to make sure to log which moderator sees which messages, especially when whispered. to be sure we might also limit the holding period to a week
2023-10-18 09:35:40 +02:00
Maxicarlos08
c8350d0654
airship fix attempt #521 2023-10-16 16:53:33 +02:00
Marcel Märtens
8e95cb944d cargo fmt after updating new toolchain 2023-10-06 09:13:01 +02:00
Marcel Märtens
631f3ab8ee fix clippy issues, WITHOUT clippy::needless_pass_by_ref_mut as we are still unsure how to proceed with it. we want to keep the &mut ref where we are actually writing. maybe we need another method support 2023-10-05 23:23:27 +02:00
Marcel Märtens
882a8d104c Revert "extended clippy from quality.sh"
This reverts commit 30ebb7f2edcf299e4886aa7de6573ef54353a8dd.
2023-10-05 22:00:49 +02:00
Marcel Märtens
df03c92741 extended clippy from quality.sh 2023-10-05 22:00:49 +02:00
Marcel Märtens
394c8892bb update toolchain to nightly-2023-09-28 2023-10-05 22:00:48 +02:00
Maxicarlos08
7734b653e7
replace all uses of Arc<> with references 2023-10-02 16:52:41 +02:00
Maxicarlos08
9ababec625
fix UI issues & cleanup 2023-09-29 23:30:44 +02:00
Maxicarlos08
66f6b81575
singleplayer server initialization status 2023-09-29 23:30:14 +02:00
Imbris
9c398cb06d djust for changes in specs safety refactor 2023-09-24 23:46:59 -04:00
Isse
f4ca60cbb6 Map selector and generation UI 2023-09-17 17:11:19 +00:00
Imbris
aabf67a72a Add server-cli bench command for profiling that automates loading a certain area, running for a specific time, and then exiting. 2023-09-15 16:32:59 -04:00
Christof Petig
b6e421facc correct location names after editing and creation 2023-09-12 22:34:25 +02:00
Isse
06d7548dc6 Fix rtsim airships 2023-08-29 12:56:25 +00:00
Christof Petig
b20ff5144c determine location names when loading character list 2023-08-22 22:41:48 +02:00
Imbris
ba7d7481d7 Move RegionMap insertion into ecs and ticking from common into server
Since it now needs Presence component to be available and we don't use
the RegionMap on the client.
2023-08-11 20:09:55 -04:00
Christof Petig
28c3721ecf upgrade wasmer, implement basic WASI, turn off login events for now 2023-07-01 15:31:53 +02:00
Imbris
0b213b6149 Move common code into a separate function to avoid the complexity of calling delete_entity_recorded from handle_exit_ingame 2023-06-04 22:29:19 -04:00
Imbris
65efa779b5 Steps towards properly synchronizing when a client exits in-game to
return to the character screeen. And other related improvements.

* Uid now optional when removing an entity from IdMaps since that Uid
  may have been transferred to the new entity created when the client
  exits "in-game".
* Added notes about making sure to update the CharacterId mapping when
  changing the `kind` field of `Presence`.
* Add a parameter to `delete_entity_recorded` that indicates whether it
  is being called from `handle_exit_ingame` and that provides the `Uid`
  that was removed from the entity so that we can more explicitly and
  correctly handle that case.
* We now add the Uid of the client to the deleted entities list when it
  exits "ingame". (still need to rework code so that the client doesn't
  delete its own entity).
* Improved integration of possession code with ForceUpdate logic.
* Don't remove `Presence` component from old entity in possession so
  that deleting that entity will properly handle updating the
  CharacterId unmapping (if the old entity isn't going to be deleted we
  still remove the `Presence` component so that it doesn't keep terrain
  loaded).
* Added a couple TODOs on existing tangential things I noticed.
2023-06-04 12:58:16 -04:00
Imbris
4094887997 Rename UidAllocator to IdMaps everywhere, also rename lookup_entity to
uid_entity.

Also made more progress on changes in common/src/uid.rs

(does not compile so don't know if all rebase quirks resolved)
2023-06-04 12:58:16 -04:00
Imbris
35922866a8 Start refactoring UidAllocator to contain mappings for different Id
types.

* Add new `IdMaps` type that contains mappings to Entity from Uid, CharacterId, and
  RtsimEntity.
* Add PresenceKind::LoadingCharacter variant for when the CharacterId
  has not actually been confirmed to exist and belong to the logged in
  client. Switches to the regular PresenceKind::Character once the
  character is loaded from the database and that is used to update the
  entity.
* Start refactoring `delete_entity_recorded` to check for CharacterId
  and RtsimEntity values that may need to be removed from the map (just
  very start, not near complete).
* Other misc tweaks.
2023-06-04 12:58:16 -04:00
Maxicarlos08
174f75dc63
durability free areas 2023-05-22 22:38:47 +02:00
Joshua Barretto
140927cbe7 Clean up day coefficient code 2023-05-14 22:10:37 +01:00
Imbris
c82e6cfc77 Cleanup, fmt, appease clippy 2023-04-20 21:53:59 -04:00
Imbris
c6f5e8dac2 Add more profiling spans to Server startup related things in order to
visualize where time is being spent. Make `Lod::from_world` use the same
rayon pool as other things during the server startup. Move parallel
iteration up out of structure_gen.par_iter in order to slightly optimize
Lod::from_world (saves a few hundred milliseconds on my machine)
2023-04-20 21:53:59 -04:00
Imbris
ed4643e80b Add profiling spans for Server::new and World::generate 2023-04-20 21:53:59 -04:00
Joshua Barretto
08afe26112 Directly compare rtism resources to avoid unnecessary hooks 2023-04-11 11:49:10 +01:00
Joshua Barretto
b50645c1ee Addressed review comments 2023-04-10 17:59:43 +01:00
Joshua Barretto
9f025de27d Addressed feedback 2023-04-09 19:25:57 +01:00
Joshua Barretto
364255c7fe Allowed rtsim NPCs to greet nearby actors 2023-04-09 19:25:55 +01:00
Joshua Barretto
ea007ff702 Cleaning up 2023-04-09 19:25:55 +01:00
Joshua Barretto
6035234c6e Removed old rtsim 2023-04-09 19:25:55 +01:00
Joshua Barretto
64324262c7 Added /rtsim_purge command 2023-04-09 19:25:55 +01:00
Isse
1a117f1331 rtsim vehicles 2023-04-09 19:25:54 +01:00
Joshua Barretto
e8b489a71a sync 2023-04-09 19:25:53 +01:00
Joshua Barretto
6397e283b2 Added world settings 2023-04-09 19:25:52 +01:00
Joshua Barretto
e204789ce9 Persist TimeOfDay with rtsim 2023-04-09 19:25:52 +01:00
Joshua Barretto
587996abb7 Correctly scale glider physics 2023-04-09 19:25:52 +01:00
Joshua Barretto
c856f2625c Added rtsim sites 2023-04-09 19:25:51 +01:00
Joshua Barretto
1dc7518200 Added rtsim entity unload hook 2023-04-09 19:25:51 +01:00