Commit Graph

734 Commits

Author SHA1 Message Date
Marcel Märtens
c74e5e4b47 Changes requested in rewiew 2020-07-13 23:41:32 +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
df45d35c0e tcp protocol hardening
- make it harder for the server to crash and also kill invalid sessions properly (instead of waiting for them to close)
 - introduce macros to reduce code duplication
 - added tests to check for valid handshake as well as garbage tcp
2020-07-13 13:03:25 +02:00
Marcel Märtens
9d32e3f884 proper voxygen connect and code cleanups:
- voxygen abort when the server has a invalid veloren_network handshake, e.g. by outdated version instead of try again
- rename Network `Address` to `ProtocolAddr` as sugested by zest as it's a combination of Protocol and std::io::Addr
- remove the manual byte arrays in `protocols.rs` with something more nice
2020-07-13 13:03:20 +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
Ben Wallis
7f6c892cf0 Added migration to fix characters unable to login due to DashMelee ability change 2020-07-11 15:42:19 +01:00
Songtronix
5b57072064 fix: use correct specs(-idvs) versions
related to torvus
2020-07-09 19:46:30 +02:00
Samuel Keiffer
25c28f26d6 Different body types now have different health values and gain different amounts of healths on leveling. 2020-07-09 00:04:25 +00:00
Ben Wallis
ddb66ec73b Added CharacterDataError when character list fails to load due to Loadout de-serialization error 2020-07-08 09:34:20 +01:00
Ben Wallis
e83d0abd33 Added migration to create a default inventory and loadout for characters without one 2020-07-08 09:09:48 +01:00
Ben Wallis
3ac18f73ea Removed de-serialization failure tolerance to prevent player inventory/loadout wipes 2020-07-08 09:09:47 +01:00
Marcel Märtens
85a3f8637d fix specs 2020-07-07 14:28:00 +02:00
Marcel Märtens
c212de00c2 updated dependencies and fixed stuff
- replace serde_derive by feature of serde
   incl. source code modifications to compile
 - reduce futures-timer to "2.0" to be same as async_std
 - update notify
 - removed mio, bincode and lz4 compress in common as networking is now in own crate
   btw there is a better lz4 compress crate, which is newer than 2017
 - update prometheus to 0.9
 - can't update uvth yet due to usues
 - hashbrown to 7.2 to only need a single version
 - libsqlite3 update
 - image didn't change as there is a problem with `image 0.23`
 - switch old directories with newer directories-next
 - no num upgrade as we still depend on num 0.2 anyways
 - rodio and cpal upgrade
 - const-tewaker update
 - dispatch (untested) update
 - git2 update
 - iterations update
2020-07-07 09:43:49 +02:00
Joshua Barretto
3cfd8bdd3c Fixed animal loadouts and /spawn 2020-07-07 02:21:14 +01:00
Joshua Barretto
d1cdb6ea55 Updated changelog 2020-07-07 01:11:37 +01:00
Joshua Barretto
e626f6255f Prevented pet damage 2020-07-07 01:01:39 +01:00
Joshua Barretto
bdab3972c2 Fixed view distance bug 2020-07-06 16:36:13 +01:00
Marcel
e19d170b61 Merge branch 'imbris/smaller-fixes' into 'master'
Stop spamming loadout, Update specs

See merge request veloren/veloren!1165
2020-07-06 09:50:46 +00:00
Songtronix
200496d1bc fix: allow maximum view distance in singleplayer 2020-07-06 10:37:44 +02:00
Imbris
8d39f27458 Upgrade hashbrown 2020-07-06 03:15:06 -04:00
Imbris
afff8a43b9 Add some code to count how many updates will be sent for each component type (commented out) 2020-07-06 02:25:29 -04:00
Imbris
c2d6d00b00 point to github specs to access PairedStorage type, fix Loadout sync spam 2020-07-06 01:56:02 -04:00
Joshua Barretto
a9f862ee95 Fixed multiple char select bug 2020-07-05 18:05:00 +01:00
Joshua Barretto
43f75f2f54 Removed bomb timeout 2020-07-05 16:15:51 +01:00
Joshua Barretto
fd39ee97bc Added training dummies 2020-07-05 16:15:51 +01:00
Joshua Barretto
92c9db5291 Made fluids block explosions 2020-07-05 16:15:51 +01:00
Joshua Barretto
38c422bef7 Added bombs to loot table 2020-07-05 16:15:51 +01:00
Joshua Barretto
2f6a618d5a Added bombs, throwable items, more block kinds, weaker explosions 2020-07-05 16:15:48 +01:00
Marcel
2a7a8b05e6 Merge branch 'network-lockless' into 'master'
Network lockless

See merge request veloren/veloren!1153
2020-07-05 09:17:29 +00:00
Forest Anderson
7ac5876743 Merge branch 'xvar/skills' into 'master'
Initial implementation of skills and skill groups

See merge request veloren/veloren!1135
2020-07-05 00:33:11 +00:00
Forest Anderson
3e830aa0ca Merge branch 'angel/add-spawn-training-dummy' into 'master'
Added spawning test dummy

See merge request veloren/veloren!1142
2020-07-04 19:24:02 +00:00
Piotr Korgól
27440e16c4 Correctly load the loot table 2020-07-04 18:40:23 +02:00
Ben Wallis
538598eb08 Refactored Skills/SkillGroups structure and implemented JSON persistence 2020-07-04 15:25:21 +01:00
Piotr Korgól
aefa7e2f11 Make chests and enemies use the basic loot table 2020-07-04 14:07:10 +02:00
Marcel Märtens
cbfd398035 remove Mutex in server as Stream is now 'Sync' 2020-07-04 12:31:59 +02:00
Forest Anderson
954a4857c4 Added proper training dummy model 2020-07-03 16:53:04 -04:00
Forest Anderson
c525358637 Prevent xp gain from training dummy kill 2020-07-03 16:53:04 -04:00
Forest Anderson
6140555e43 Fixed clippy issues 2020-07-03 16:53:04 -04:00
Forest Anderson
e73ec7a4d2 Added spawning test dummy 2020-07-03 16:53:04 -04: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
Monty Marz
89400264dc Loot ChatType, Update german translation, map zooming 2020-07-01 19:05:44 +00:00
Marcel Märtens
6535fa5744 fix various clippy issues 2020-07-01 00:37:06 +02:00
Samuel Keiffer
44203ab817 Adds a command that allows a username to be added or removed from the whitelist 2020-06-30 12:21:36 +00:00
Ben Wallis
48a23e5f4c Fixed inventory full message when pressing the pickup item key in quick succession (#651) 2020-06-29 07:48:44 +01:00
Forest Anderson
201f513737 Fixed meta chattype error on master 2020-06-28 17:10:01 +00:00
Forest Anderson
9246e34c1b Merge branch 'CapsizeGlimmer/chat_modes' into 'master'
Capsize glimmer/chat modes

Closes #217

See merge request veloren/veloren!1043
2020-06-28 14:35:39 +00:00
Monty Marz
f3a84e07a7 changed message type for motd 2020-06-28 16:04:55 +02:00