Commit Graph

38 Commits

Author SHA1 Message Date
Sam
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