Commit Graph

204 Commits

Author SHA1 Message Date
Archangel 4b1cad1c90 Improve server bundle loading
Speeds up SPT server initialization and reduces allocations when a lot of bundle mods are active
2026-02-07 00:13:50 +01:00
Archangel 90c577bd29 Various allocation & GC improvements 2026-02-06 22:41:13 +01:00
Archangel d8881d1329 Write json files with linux newlines 2026-01-15 20:22:44 +01:00
sp-tarkov-bot ceb80d6612 Format Style Fixes 2025-12-24 14:33:24 +00:00
Chomp ba49b004bb Log warning when RAM is below 30GB 2025-12-24 14:32:33 +00:00
Archangel c64e112cb6 Route icon to favicon 2025-12-09 20:28:48 +01:00
DrakiaXYZ d2e2f04c93 Merge 4.0.3 changes to main (#674)
* Fix exception sometimes thrown on save
- Switch back from File.Rename to File.Move, as Rename is throwing exceptions on some users systems

* Change BTR skin to tarcola during Christmas event

* Added comment

* Remove unused using

* Add wipe Response model

* formatting and add Wipe Endpoint to V2

* Format Style Fixes

* Merge pull request #669 from sp-tarkov/Assembly-ref-validation

Validate core assembly reference when loading mods

* removed zombies from customs and interchange + increased infection across other maps that have zombie kill quests

* Don't apply hostility changes to maps without zombies during halloween

`ReplaceBotHostiltiy` has optional map whitelist param

* Updated hostility values for maps with infection:
bosses = hostile to player not to pmc bots
followers = hostile to player not to pmc bots
pmcs = hostile to player + always hostile to scavs
scavs = hostile to player and pmc bots
raiders = hostile to player and pmc bots

Adjusted infection rates to just maps with zombie kill quests

* Format Style Fixes

* Added missing values for event bosses

* Format Style Fixes

* Added missing values for `ravangezryachiyevent`
Fixed preset typo `bossTagillaAgro`

* Format Style Fixes

* Flagged `Night of The Cult` as halloween quest

* Fixed incorrect logic

* Enabled `Night of The Cult` bosses to spawn

* Format Style Fixes

* Addd a new ReleaseCheckService to notify users of updates (#670)

* Addd a new ReleaseCheckService to notify users of updates
- Pulls the latest release from GitHub API to compare the tag against the users current SPT version
- Runs at the very end of the startup process to avoid being pushed off screen by mod logging
- Only notifies of patch version increments, not major or minor increments
- Links the release notes so users can Ctrl+Click to open directly to the upgrade page
- Is run on its own thread, and discards all errors, so as to not impact users without an internet connection or ability to access GitHub

* Formatting

* Use record for the ReleaseInformation class

---------

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>

* ProfileDataService changes:

Added `ClearProfileData()`
Replaced filepath access with `Path.Combine`
Reduced various sources of duplication

* Adjusted `Goons` spawn chance to 20% across `Customs/Lighthouse/Woods/Shoreline`

* Account for compound items in DialogHelper.GetMessageItemContents

* Generate weapon/armor price based on the child item price total

* Added halloween event bosses to april event

* Flagged infected spawns as `ForceSpawn` and ``

* Add migration for invalid pockets

* Default assign IEnumerable

* Post raid effect fixes:
When exiting raid with severe muscle pain, prevent client instructing server to add mild muscle pain
When exiting a raid with effect that has a timer, decrease timer value by amount of time spent in raid

* Updated nuget packages

* Fixed player scav not having correct HP values on limbs #642

* Remove unused record

* Revert "Updated nuget packages"

This reverts commit f6d9d461a6.

* Added `IMP mine detector` to reward and flea blacklist

* Fixed weapon builds not overwriting existing #654

Cleaned up `SaveWeaponBuild` and `SaveEquipmentBuild`

---------

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
Co-authored-by: CWX <CWXDEV@outlook.com>
Co-authored-by: sp-tarkov-bot <singleplayertarkov@gmail.com>
Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Co-authored-by: Tyfon <29051038+tyfon7@users.noreply.github.com>
Co-authored-by: Archangel <jesse@archangel.wtf>
2025-10-31 14:55:07 -07:00
Chomp 7bf0ecc78e Remove eft version tag from watermark 2025-10-23 20:23:05 +01:00
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
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
Archangel 0e548aa080 UnmappedMemberHandling on debug builds only 2025-10-16 12:34:03 +02: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
DrakiaXYZ 1bdfd4186e Implement ToStringJsonConverter Read method 2025-10-11 22:55:44 -07:00
DrakiaXYZ b416d7109a Fix launcher not showing mods
Convert `Version` and `SptVersion` to strings when serializing JSON for AbstractModMetadata
2025-10-11 22:44:27 -07:00
Archangel 699a4dfafe Cleanup 2025-10-10 16:14:23 +02:00
Archangel c372418165 Improve SptLogger stability & do not implement IDisposable 2025-10-10 16:13:24 +02:00
Chomp 2376d54d71 Fixed flea offer item count + cultist circle rouble value being incorrect when using randomUtil.GetPercentOfValue 2025-10-06 09:51:40 +01:00
Chomp 6e2286ca5b Added system to allow adjustment of static spawn weights via config
reduced `Power substation utility cabin key` on customs to 60% of original weight
2025-10-03 20:28:39 +01:00
Jesse 687b4f7a49 Add blazor & MVC Support (#602)
* Add initial code for Razor pages support

* Remove finalizer

* Try fully loading blazor

This is most likely entirely broken because of a rebase now

* UseSptBlazor after app.Use

* Fix up StaticWebAsset loading, add MudBlazor

* Implement page

* Update comment

* Replaced existing status page with razor

* Track background video in LFS

* Update attributes

* Improved status page theming

* Fix up wwwroot publish folder to SPT_Data/wwwroot

* Added name to page

* Remove unnecessary code

* Begin fixing up MVC & Blazor for modding

* Update TestMod

* Cleanup todo

* Further work out mod support

* Re-order initialization and use logger

* Rename library to SPTarkov.Server.Web

---------

Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-10-02 19:03:27 +00:00
Chomp ec682ccc16 Updated GetTrader to use mongoId for traderId + removed redundant 'ragfair' check + made sessionId optional + added comments 2025-09-26 13:05:20 +01:00
Archangel 1bc3ef63f4 Send content length as a header for files 2025-09-19 15:27:49 +02:00
Archangel f3470aac59 Remove redundant checks for MongoId 2025-09-18 19:57:34 +02:00
Chomp 19b26c25b9 RagfairOfferHolder lock improvements (#586)
* `RagfairOfferHolder` lock improvements

* Perf improvement for debug logging inside `RemoveExpiredOffers`

* Replaced ConcurrentBag with ConcurrentDictionary to maintain previous behaviour

* Removed unnecessary debug logging

---------

Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
2025-09-08 12:12:19 +01:00
Chomp 735b5956e6 Fixed BTR drive service issues #580 2025-08-30 16:55:04 +01:00
Chomp da96cfbf79 Merge branch 'develop' of https://github.com/sp-tarkov/server-csharp into develop 2025-08-28 11:33:04 +01:00
Chomp bbd0b50d34 Removed hotfix for System.AccessViolationException error 2025-08-28 11:32:21 +01:00
sp-tarkov-bot 618dd15886 Format Style Fixes 2025-08-27 21:54:22 +00:00
clodanSPT 5a609835a4 Fixed patch for extension data (#577)
Co-authored-by: Alex <clodanSPT@hotmail.com>
2025-08-27 21:53:39 +00:00
Archangel 1d3e388a36 uhh 2025-08-27 16:01:28 +02:00
Archangel b25e9f8813 Fix up conditions for BEM Builds 2025-08-27 14:17:57 +02:00
Chomp 0df0d95363 First pass at rest area hideout changes 2025-08-23 21:02:24 +01:00
Archangel 9dec5e8dc7 Update bot jsons 2025-08-23 19:16:52 +02:00
Archangel 4c7fdf1471 Set change I made during testing back 2025-08-21 16:21:08 +02:00
Archangel d413a6e9c5 Remove TraderStore, use DatabaseService as the source of truth 2025-08-21 16:18:41 +02:00
clodanSPT e6912d0efb Fixed timer for non-UTC zones (#560)
* Fixed timer for non-UTC zones

* Added UT and removed unused method

---------

Co-authored-by: Alex <clodanSPT@hotmail.com>
Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-08-19 16:49:28 +00:00
Chomp 8573e6ae02 Use string.empty and MongoId.Empty() where appropriate 2025-08-17 21:35:34 +01:00
Archangel 16bc24813c Cleanup DatabaseImporter 2025-08-17 19:10:36 +02:00
Chomp c8108600ec Updated ProcessStaleOffer and FlagExpiredOffersAfterDate to use offer object extension method to check if its a trader offer 2025-08-17 16:40:42 +01:00
Archangel ff3d1091d8 Handle being able to read JSONC files by default 2025-08-16 16:13:13 +02:00
Chomp 4a081a7ac3 Updated class param formatting 2025-08-11 21:08:55 +01:00
sp-tarkov-bot 1474d2b799 Format Style Fixes 2025-08-11 14:13:49 +00:00
Cj 76e91047d6 More warnings fixes (#542)
* Fix more warnings, add new exception

* Run formatter

---------

Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
2025-08-11 14:13:02 +00:00
sp-tarkov-bot a4995b7318 Format Style Fixes 2025-08-09 20:41:17 +00:00