Commit Graph

35 Commits

Author SHA1 Message Date
Marcel Märtens
8687740265 fix clippy warnings in new version 2020-08-17 11:10:18 +02:00
Marcel Märtens
6db9c6f91b fix a followup bug, after a protocol fail now Participant is closed, including all streams, so we get the stream errors.
We MUST handle them and we are not allowed to act on a stream after it failed, as i am to lazy to change the structure to ensure the client to be imeadiatly dropped i added a AtomicBool to it.
2020-07-13 13:03:35 +02:00
Marcel Märtens
041349be48 Switch API to return Participant rather than Arc<Participant>
- API behavior switched!
 - the `Network` no longer holds a copy of participant, thus if the return of `connect` (before `Arc<Participant>, now `Participant`) got dropped, the `Participant::Drop` is triggered!
 - you can close a Participant async via `Particiant::disconnect()`, no more need to know the network at this point
 - the `Network::Drop` will check and drop not yet disconnected Participants.
 - you can compare Participants via PartialEq, if they are true they point to the same endpoint (it checks remote_pid)
   - Note: multiple Participants are only supported in theory, wont work yet

Additionally:
 - fix some `debug!`
 - veloren-client will now drop the participant gracefully on shutdown
 - rename `error` to `debug` when 2 times Bparticipant shutdown is called, as it is to be expected in a async runtime
2020-07-13 13:03:14 +02:00
Marcel Märtens
9ae1d8474f dropping participant on client disconnect clients 2020-07-13 13:03:07 +02:00
Imbris
c2d6d00b00 point to github specs to access PairedStorage type, fix Loadout sync spam 2020-07-06 01:56:02 -04:00
Marcel Märtens
cbfd398035 remove Mutex in server as Stream is now 'Sync' 2020-07-04 12:31:59 +02:00
Marcel Märtens
15ff58cd6a simple fmt in order to make the replacement commit as simple as possible 2020-07-03 13:11:44 +02:00
Marcel Märtens
4e92c0160e network layer switch, doing the stuff that might confict.
- mostly its the message handling put now in a async wrapper
 - add some fixes to pass without warnings and make clippy happy
 - some network error handling is ignored, this can be improved but is no blocker
2020-07-03 13:11:38 +02:00
Marcel Märtens
77c90b2c7c doing a simple 1:1 swap out network coding
this is the part which prob has less Merge conflics and is easy to rebase
the next commit will have prob alot of merge conflics
followed by a fmt commit
2020-07-03 13:11:31 +02:00
Marcel Märtens
dae31ae5b6 apply new rustfmt - touching alot of files 2020-02-01 21:39:39 +01:00
Imbris
ede05c47b0 fix(char screen induced ghosts):
Adds removing extra components and deleting entities clientside when
going back to the character screen. Also, simplifies ClientState by
removing the Dead variant and removing ClientMsg::StateRequest in favor
of more specific ClientMsg variants.
2019-12-31 16:38:13 -05:00
Imbris
2703c8afe1 Move serverside client to a component and communications into server ecs systems 2019-10-23 23:50:06 -04:00
Imbris
c02cd0a730 Cleanup unused code 2019-10-23 22:43:02 -04:00
Imbris
b09bddda79 Make clients subscribed to nearby regions and only send physics updates from those regions. 2019-10-23 22:43:02 -04:00
Imbris
2f9d8ee2e6 Add new debug item 2019-10-11 19:32:46 -04:00
Acrimon
4f2d99f809 Switch to hashbrown in server. 2019-08-11 21:48:02 +02:00
Songtronix
b6c8bdc223 add configurable max player count 2019-07-17 18:32:01 +02:00
timokoesters
370e7db1ee
Fix death 2019-06-30 22:29:00 +02:00
Cody
14ac5babd4 Removes most unused imports; changes some unused variables to underscores or provides a leading underscore; removes some unnecessary variables and mutable declarations; and performs other miscellaneous warning fixes. 2019-06-06 14:48:41 +00:00
Imbris
942096c754 Only send physics updates for entities within vd
Former-commit-id: d3307641cd31418bf8b9831296a96d58926184e0
2019-05-28 20:47:03 -04:00
timokoesters
36e890bbd8 Fix client states server-side
Former-commit-id: 701dd2a7f53bd0f1943cbeb61cc9c251228a4b5f
2019-05-25 23:21:38 +02:00
timokoesters
df7a145bbc Better formatting
Former-commit-id: 4316514f4f58dca8ed21dae00fad7a6df36b9ff1
2019-04-23 12:12:22 +02:00
timokoesters
06693136b6 Fixed names, debug and notify
Former-commit-id: f58dedf7c4eb9b284982588fc6b19bbe3edb0391
2019-04-22 23:00:24 +02:00
timokoesters
9a48e2fd42 Rename ClientState Connected -> Registered, Visitor -> Connected
Former-commit-id: 34f6726203b7d20b42937a02f48d8920ca3f1d7a
2019-04-22 23:00:23 +02:00
timokoesters
07a2aab8a3 Rename Disconnected to Visitor
Former-commit-id: aeb729a933cda380c03efe346347fc4dc0648dfb
2019-04-22 23:00:23 +02:00
timokoesters
fc2e6c3624 Clean up client state code
Former-commit-id: 2469a49abd23038838f6176b7f5cf0b303e8bee5
2019-04-22 23:00:22 +02:00
timokoesters
794b9cafad Implement ClientStates
Former-commit-id: f6167fd6de6fd1a3309224409cac77193be982e2
2019-04-22 23:00:22 +02:00
Joshua Barretto
507c47e771 Rewrote netcode, added basic chunk synching
Former-commit-id: e9f76f7fa9dbe0c81cd4c998bf0f0b3eec9235cb
2019-04-14 14:23:43 +01:00
Joshua Barretto
3d9f8105e6 Started work on server-side chunks
Former-commit-id: 84a6bd7358f67a77043c4b11c787538f073c8d28
2019-04-14 14:23:43 +01:00
Joshua Barretto
62b91eb01b Integrated Sphynx
Former-commit-id: 5d96983a385bb77a2876aa7439158252b7e2f0fc
2019-04-14 14:23:43 +01:00
Joshua Barretto
664f28a972 Patched in netcode refactor
Former-commit-id: 34a3b9a95129edad6dc8280d9a3cb41581d4d386
2019-03-19 11:35:38 +00:00
Joshua Barretto
a8b0039898 Added networked entity updates, player entity allocation
Former-commit-id: b81d6e38a74f846d64c092d1422dc402f369100c
2019-03-19 11:35:38 +00:00
Joshua Barretto
bb93f29522 Fixed client/server comms bug
Former-commit-id: fffc9cbf59784e7e2c9c2d9a60b8f2520b6f41fb
2019-03-19 11:35:38 +00:00
Joshua Barretto
2e613178a0 Component sync + UID system
Former-commit-id: 5ecddc0e1f9c1a15f99dd167b825178c972da062
2019-03-04 19:58:58 +00:00
Joshua Barretto
dbbcc1e80e Added basic networked communications, chat communication
Former-commit-id: 06bafdf69486f4da5fbc416835e34c5bed8c2caa
2019-03-04 19:58:58 +00:00