c48c022f7e
Separated out health from stats component.
2020-11-04 19:22:04 -06:00
ca2bf937e6
Apply saves dir override when loading settings, change whitelist to a HashSet, let admins login even if they are not on the whitelist to reflect the comments in login code
2020-10-10 02:10:32 -04:00
7c14a3f4a4
New userdata folder that holds voxygen settings and logs and server saves and settings, split up server settings file into parts that are persisted back to their files and parts that are read-only, misc fixes
2020-10-10 02:10:32 -04:00
26d59a62fc
Downgrade debug -> trace in persistence code
2020-10-10 02:10:32 -04:00
9178327e09
Removed unnecessary Option around send and receive channels in character_loader.rs
2020-09-27 22:12:41 +01:00
099dfaae9c
Added several missing items that didn't exist in any inventories/loadoads on the production server to the item_persistence migration
2020-09-27 14:51:57 +01:00
f9fada87cf
Addresses comments
2020-09-18 18:45:03 +02:00
712f2e9c97
* Moved migrations to beginning of server initialisation
...
* Added migrations for entity ID changes to existing tables
2020-09-17 23:02:14 +00:00
6a83da0dfd
Force migration text trough tracing
2020-09-01 23:03:33 +02:00
2be4202d01
Corrected some spelling errors
2020-08-25 12:21:25 +00:00
6d425f125e
Fix various migration issues.
2020-08-07 01:35:51 +02:00
51ff7cded2
Fix corrupted character inventories by adding protection.
...
This is a temporary bandaid until we move to our new schema, but it
should at least allow people to log in with old characters.
2020-07-20 02:34:43 +02:00
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
ddb66ec73b
Added CharacterDataError when character list fails to load due to Loadout de-serialization error
2020-07-08 09:34:20 +01:00
3ac18f73ea
Removed de-serialization failure tolerance to prevent player inventory/loadout wipes
2020-07-08 09:09:47 +01:00
538598eb08
Refactored Skills/SkillGroups structure and implemented JSON persistence
2020-07-04 15:25:21 +01:00
255ad97289
- Move the remaining character data loading to the message/thread formatharacter list actions
...
- Handle/notify the client of errors during character load by returning to character select with the error, clean up client and server states
- Add player_uuid check when loading character data.
2020-06-24 11:47:41 +10:00
38b146d840
Add channel setup for persistence to move character operations off the
...
main thread.
2020-06-23 21:07:43 +10:00
9485b45e70
switch to tracing
stlye and enhance logs with usefull information
...
- Updated CHANGELOG
- reduce dependencies
- found out that we have alot of duplicate coding... alot...
2020-06-22 09:53:15 +02:00
589254e4ab
Convert all other veloren crates to use tracing
...
- Completely removed both `log` and `pretty_env_logger` and replaced
with `tracing` and `tracing_subscriber` where necessary.
- Converted all `log::info!(...)` et al. statements to just use the
shorthand macro i.e. `info!`. This was mostly to make renaming easier.
2020-06-21 23:19:41 +08:00
4d6c553b1b
Fixed suppressed clippy warnings for #587 - redundant_closure
2020-06-12 20:47:22 +01:00
950c62efc6
Suppressed all existing clippy warnings in preparation for fixes as part of #587
2020-06-10 22:01:42 +01:00
24cdea0a4c
Enable WAL and busy_timeout for each sqlite connection to mitigate db locks,
2020-06-07 22:33:48 +10:00
e0633a238e
Update CHANGELOG and a TODO, fix safer deserialisation for inventory
...
data.
2020-06-04 11:44:33 +00: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
84d0332c6d
Ensure that the player uuid and character id both match in a character deletion query.
2020-06-01 02:29:05 +10:00
f7d6f76a04
Added 36 Swords
...
I added 36 sword models to the code.
2020-05-29 18:23:00 +00:00
6b70354fbb
Wrap updates in transaction
2020-05-15 16:40:06 -04:00
49e2fb80e7
Update stats in a separate thread
2020-05-15 16:03:51 -04:00
a41576e767
Correctly set the exp target for the next level when spawning a character.
...
Removed the unwrap_or from the update method for stats persistence, and
have a dedicated method for updating single rows with a new connection.
2020-05-15 13:27:26 +10:00
fe859fc2e1
VELOREN_SAVES_DIR envar now overrides the server persistence db path
2020-05-15 01:54:14 +02:00
aa69046055
Changed the default path of persistence database
...
Now the default is `./saves/`, it's also configurable.
2020-05-14 22:42:44 +02:00
fa8c6418f6
Write stats to the DB when a player disconnects from the server.
2020-05-13 22:08:26 +10:00
e852e0cfab
- Update the stats of characters individually, reverting the change with
...
big combined updates.
- Add a timer to the stats persistence system and change the frequency
that it runs to 10s
- Seperate the loading of character data for the character list during
selection, and the full data we will grab during state creation. Ideally
additional persisted bits can get returned at the same point and added
to the ecs within the same block.
2020-05-13 09:14:09 +10:00
0a6f9b860d
Gather all characters stats in the system, build one big query, rather than per-character queries.
2020-05-13 09:14:08 +10:00
7c6c9f4302
Stats persistence
...
- Update client code to use persisted stats
- Add a system for stats persistence
- Add a basic scheduler to control duration between execution of
persistence systems
2020-05-13 09:14:08 +10:00
e5853dbdd4
Initial models, migration and client code for stats persistence.
2020-05-13 09:14:08 +10: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