DrakiaXYZ
47089afdd1
Further attempt to resolve profile corruption issues ( #650 )
...
* Further attempt to resolve profile corruption issues
- FileUtil now uses File.Replace and does a sync flush
- Add restore capabilities to BackupService
- If loading a profile fails, attempt to restore from the most recent backup
- Trigger a backup creation on raid start, raid end, and game close
- Load profiles before starting the backupService to avoid backing up corrupt profiles
* - Switch async calls to .GetAwaiter().GetResult() for better exception handling
---------
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com >
2025-10-23 07:49:24 +02:00
Chomp
88e5e9e748
Improved error handling inside HandleMusclePain()
2025-10-21 19:01:24 +01:00
Chomp
813e00479d
Validate filename is mongoId before we load it as profile #648
2025-10-21 16:52:23 +01:00
DrakiaXYZ
aa8911f5aa
Add sanity checks to CustomItemService's AddToLocaleDbs method
2025-10-20 12:17:50 -07:00
Chomp
94d2a8d233
Lock existence check to prevent bots being generated without loot
2025-10-20 17:34:06 +01:00
Chomp
97a41369d9
Improved comment
2025-10-20 15:37:24 +01:00
Chomp
fd4d1583fd
Merge branch 'develop' into disable-gc-requests
2025-10-20 11:59:57 +00:00
Chomp
9fa0c51cee
Improved how offers are gathered prior to iteration
2025-10-20 12:59:28 +01:00
Chomp
8aa29bf22b
Merge branch 'disable-gc-requests' of https://github.com/sp-tarkov/server-csharp into disable-gc-requests
2025-10-20 11:20:39 +01:00
Chomp
af9160c94d
Use specific exception
2025-10-20 11:20:14 +01:00
clodanSPT
18e6d9174b
Merge branch 'develop' into disable-gc-requests
2025-10-20 12:15:16 +02:00
Chomp
353b8f54bb
Added functionality to reduce non-damaged limb hp to 20% on pmc death when player is 'cursed' #640
2025-10-20 11:06:29 +01:00
Alex
3972e14840
Added NoGCRegion feature
2025-10-20 11:05:58 +01:00
Chomp
dc2579c86d
Skip init Offers as its immediately int on the line below
2025-10-20 09:56:32 +01:00
Cj
f3f91e37b7
remove unused record
2025-10-20 04:22:49 -04:00
Alex
f935eb82b9
Added setter to ExtensionData properties
2025-10-20 09:09:04 +01:00
ozen-m
ab62b070a8
Fix insurance removes stored item and fix drawn element not being removed ( #639 )
...
* Exclude items stored inside root item (e.g. armored rigs) when processing regular items
* Remove draw element when whitelist is null
* Simplify null check
2025-10-19 20:23:31 -07:00
Cj
37c900c8aa
Always overwrite locales instead of reporting an error if the key exists
2025-10-19 16:40:45 -04:00
Chomp
832e9e4b7c
Generate item prices before generating offers that use price data - Fixes offers being generated using stale prices, then corrected once they expire and get regenerated #641
2025-10-19 21:37:21 +01:00
Cj
fd47c47c3e
Remove potential for deadlock in ProfileDataService
2025-10-19 01:13:46 -04:00
Cj
80b49eb077
Write profile data json indented
2025-10-19 00:28:45 -04:00
Cj
4f73860e66
Fix ProfileDataService adding the string to the cache instead of the object
2025-10-19 00:09:27 -04:00
DrakiaXYZ
a5fe584cee
- Pass through main exception on json deserialization failure
...
- Fix below to above
2025-10-18 11:13:10 -07:00
DrakiaXYZ
5a6f560736
Harden config loading against exceptions
...
- Extra files in the `config` folder are now skipped
- Exceptions deserializing now output what file failed and the exception more clearly
2025-10-18 11:07:07 -07:00
Yuri
954eee5251
Fix daily quest always generating one quest type on replace.
2025-10-18 04:09:00 -05:00
Chomp
4ce5512d7d
Added BotConfig.ReplaceScavWith to allow adjustment of scavs into other bot types
2025-10-17 10:53:25 +01:00
Chomp
2604db86e6
Fixed nullref error in FixProfileBreakingInventoryItemIssues due to BSG typo
2025-10-17 09:05:09 +01:00
DrakiaXYZ
a98a5ce8a1
Discard duplicate item locale entry instead of throwing an exception
2025-10-16 18:19:08 -07:00
Chomp
e9a6b5953d
Flagged BotLocationModifier.AdditionalHostilitySettings as nullable
2025-10-16 21:09:34 +01:00
Chomp
b23832267c
Fixed sort by name not working due to it being really slow #625
2025-10-16 18:23:26 +01:00
Chomp
13f370f0dc
Fixed nullref inside GetItemMinAvgMaxFleaPriceValues
2025-10-16 16:29:47 +01:00
Chomp
697e07456d
Persist PMC stats on prestige
2025-10-16 15:55:49 +01:00
Archangel
0e548aa080
UnmappedMemberHandling on debug builds only
2025-10-16 12:34:03 +02:00
DrakiaXYZ
2d0713d94e
Offset PMC spawns to start of raid when using a simulated raid start
2025-10-15 18:15:28 -07:00
Chomp
b15892b256
Fixed nullref inside ChargePlayerTaxFee #620
2025-10-15 20:29:02 +01:00
Chomp
56026297cf
Fixed logic error inside CheckAndLockOfferFromPlayerTieredFlea
2025-10-14 18:23:09 +01:00
Chomp
12a086bc70
Show unlock at level x instead of offer creators name in flea while item is tier locked
2025-10-14 12:22:32 +01:00
Chomp
562dee37d7
Fixed tiered flea issue. A level level profile can lock item for all other profiles until server restarts
2025-10-14 12:19:15 +01:00
DrakiaXYZ
eedc4e543e
Formatting
2025-10-13 14:45:57 -07:00
DrakiaXYZ
14e6f187b8
Fix commando inheriting all chat commands
...
- Add new ICommandoCommand interface for Commando-specific commands
2025-10-13 14:44:38 -07:00
Archangel
a9b715c0c3
Set to 0 if we're below 0
2025-10-13 16:42:43 +02:00
Archangel
4cf3279f97
Add handler for PointsEarnedDuringSession overflow
2025-10-13 16:27:21 +02:00
Archangel
6d65e68e29
Add comments
2025-10-13 15:34:46 +02:00
Archangel
740895056f
Accept VS suggestion
2025-10-13 15:23:39 +02:00
Archangel
3d1f757d1e
Fix index going out of range on probability object array
2025-10-13 15:19:49 +02:00
Archangel
fa674ef3ae
Make file writes atomic
2025-10-13 15:17:04 +02:00
Chomp
64b4881dfb
Log Total system memory in OS-agnostic way
2025-10-12 17:21:33 +01:00
Chomp
a66ce40ba8
Updated Cost logging to be debug
2025-10-12 16:34:36 +01:00
Chomp
9bbfee8e6d
Cleaned up comments and var usage inside UpdateQuestsForGameEdition
2025-10-12 11:16:19 +01:00
Chomp
a7798b1b27
Added comments to GetOffersOfType
2025-10-12 09:43:45 +01:00