Commit Graph

401 Commits

Author SHA1 Message Date
2ee18b1fd8 Examples, HUGE fixes, test, make it alot smother
- switch `listen` to async in oder to verify if the bind was successful
- Introduce the following examples
  - network speed
  - chat
  - fileshare
- add additional tests
- fix dropping stream before last messages can be handled bug, when dropping a stream, BParticipant will wait for prio to be empty before dropping the stream and sending the signal
- correct closing of stream and participant
- move tcp to protocols and create udp front and backend
- tracing and fixing a bug that is caused by not waiting for configuration after receiving a frame
- fix a bug in network-speed, but there is still a bug if trace=warn after 2.000.000 messages the server doesnt get that client has shut down and seems to lock somewhere. hard to reproduce

open tasks
[ ] verify UDP works correctly, especcially the connect!
[ ] implements UDP shutdown correctly, the one created in connect!
[ ] unify logging
[ ] fill metrics
[ ] fix dropping stream before last messages can be handled bug
[ ] add documentation
[ ] add benchmarks
[ ] remove async_serde???
[ ] add mpsc
2020-06-09 01:23:37 +02:00
595f1502b3 COMPLETE REWRITE
- use async_std and implement a async serialisaition
- new participant, stream and drop on the participant
- sending and receiving on streams
2020-06-09 01:23:30 +02:00
499a895922 shutdown and udp/mpsc
- theorectically closing of streams and shutdown
- mpsc and udp preparations
- cleanup and build better tests
2020-06-09 01:23:26 +02:00
8f65168506 fix workspaces and Cargo dependencies 2020-06-09 01:23:21 +02:00
9354952a7f Code/Dependency Cleanup 2020-06-09 01:23:19 +02:00
74143e13d3 Implement a async recv test 2020-06-09 01:23:12 +02:00
a6f1e3f176 Add a speedtest program to benchmark networking 2020-06-09 01:23:01 +02:00
88f6b36a4e Differ Metrics to make it easier to implement your own metric coding!
Implement my own metric coding in networking
2020-06-09 01:22:48 +02:00
f3251c0879 Converting the API interface to Async and experimenting with a Channel implementation for TCP, UDP, MPSC, which will later be reverted
It should compile and tests run fine now.
If not, the 2nd last squashed commit message said it currently only send frames but not incomming messages, also recv would only handle frames. The last one said i added internal messages and a reverse path (prob for .recv)
2020-06-09 01:22:45 +02:00
5c5b33bd2a Bring networking tests to green
- Seperate worker into own directory
 - implement correct handshakes
 - implement correct receiving
2020-06-09 01:22:42 +02:00
3d8ddcb4b3 Continue backend for networking and fill gaps, including:
- introduce tlid to allow
 - introduce channel trait
 - remove old experimental handshake
 - seperate mio_worker into multiple fn
 - implement stream in backend
2020-06-09 01:22:38 +02:00
52078f2251 first implementation of connect and tcp using a mio worker protocol and:
- introduce a loadtest, for tcp messages
 - cleanup api
 - added a unittest
 - prepared a handshake message, which will in next commits get removed again
 - experimental mio worker merges
 - using uuid for participant id
2020-06-09 01:22:35 +02:00
a01afd0c86 initial implementation of a network api 2020-06-09 01:22:32 +02:00
efe071d998 Fix panic with multibyte whitespace characters 2020-06-06 15:58:16 -04:00
b1d191301a Make the persistence system code more generic so that it handles all
data associated with a character, rather than individually as we were
planning to do with stats/inv/etc... This removes potential for DB locking when we deal with each individually, and we
should have plenty of room for additional writes within the transaction.
2020-06-01 21:34:52 +00:00
34427373ef Make civsim and sites deterministic.
For anything in worldgen where you use a HashMap, *please* think
carefully about which hasher you are going to use!  This is
especially true if (for some reason) you are depending on hashmap
iteration order remaining stable for some aspect of worldgen.
2020-05-21 21:43:54 +02:00
ec03c4518a Change the version number to 0.6 2020-05-16 00:50:40 +02:00
5a13b54cbf - Load characters after login.
- Make the character screen load with an empty character list from the server, send event to the server for character creation with data, but not yet saving them to the DB.
- Working but messy character saving to DB
- Add the character_data to the client, rather than keep it in the GLobalState.
2020-05-09 15:41:25 +00:00
8c1fb3255c Downgraded minifb 2020-04-23 20:05:44 +01:00
0a892e488a Updated examples 2020-04-23 18:20:34 +01:00
5ed77b5054 Fix security 2020-04-01 20:03:15 -04:00
97148cb6bb Merge branch 'master' into 'combat'
# Conflicts:
#   CHANGELOG.md
2020-04-01 20:42:27 +00:00
a73d010f7b Point to newly released vek, add todo to reconsider empty item, remove uneeded ori slerp, remove agent from character behavior, add todos to combat sys, check if entities still exist before possessing & if possessed entity has a loadout move the active item into the second item space 2020-04-01 11:15:14 -04:00
b3791a2b4e Upgrade vek version so that it actually uses the patch 2020-03-30 19:44:51 -04:00
aa59e8715d Updated Cargo.lock to fix vek not compiling 2020-03-30 15:45:22 +02:00
ba3fa16c33 Create Dir type for better enforcement of non NaN, normalized representations of directions 2020-03-27 22:02:07 -04:00
7048163153 Fixed Some minor bugs on the password field 2020-03-25 12:51:43 +00:00
7851a407b1 Fix the cursor lagging behind on password field 2020-03-24 21:41:59 +00:00
ea2500e7ab Add minimum prepare duration to fireball and bow 2020-03-24 14:42:31 +01:00
466b80e8a8 added const tweaker 2020-03-19 18:11:45 +01:00
8838682f0b Added Controller support 2020-03-10 21:00:13 +00:00
1cbd07d5e5 regenerated Cargo.lock, requiering 7 less dependent crates and greatly reducing size of cargo.lock file 2020-03-09 11:49:57 +01:00
bc39b78173 Rebased. 2020-03-08 23:02:15 +01:00
8d7c454029 Hide password text 2020-03-08 23:00:34 +01:00
0022f8464d Update auth 2020-03-08 22:59:22 +01:00
a04c1b1d1d Add uid to Player component
fix: world examples
2020-03-08 22:58:38 +01:00
08b4cc5fc3 Update auth to use new hashing scheme. 2020-03-08 22:56:34 +01:00
7db0ff0b8c Update chat-cli to work properly.
Update reqwest to 0.10.0
2020-03-08 22:54:15 +01:00
8ef1251dc2 Add warning prompt for untrusted auth servers, move some auth code into 2020-03-08 22:51:37 +01:00
403deecc6d Server auth handling improvements. 2020-03-08 22:49:47 +01:00
584dcddba9 Updated to latest and greatest auth version. 2020-03-08 22:46:40 +01:00
50b845d1c3 :/ and reactivated the password field 2020-03-08 22:34:06 +01:00
4a0c474be1 Remove Client dependency from Scene types and audio managers, add an
example for using voxygen as a library to renderer images of characters
2020-03-05 23:12:51 -05:00
98c37d0b28 [i18n] Configurable fonts
- Add font configuration in internationalization files
- Scale font size using a configurable ratio
- Add a script to identify translation item statuses using Git metadata
- Execute the i18n script in a new gitlab-ci step (delayed)
- Clone haxrcorp_4089_cyrillic_altgr font (haxrcorp_4089_cyrillic_altgr_extended)
  to add some additional latin characters (mainly for French)
2020-02-16 16:02:38 +01:00
b739623579 Split the audio channels into SFX and music channels. This makes the
Music Channel for exploration music a basic Sink without spatial audio
functionality, which is not required.
2020-02-15 21:30:44 +00:00
e960c2233b Change the version number to 0.5 2020-01-31 17:26:45 +01:00
d87fc37aa2 Fixed watch compilation issue 2020-01-27 23:59:59 +00:00
2d9aa21eef Added test world, friendly NPC pathfinding 2020-01-26 12:52:07 +00:00
53474a215a Resolving spurious Cargo.lock differences. 2020-01-23 18:18:46 +01:00
133ba29293 Fixing Cargo.lock after rebase. 2020-01-23 18:18:17 +01:00