Commit Graph

2818 Commits

Author SHA1 Message Date
Dev
abdee0bb75 Removed broken quest prevent login 2024-06-06 11:33:13 +01:00
Dev
4833b2c9ad Added 2 quests (hustle + unknown) 2024-06-06 08:40:26 +01:00
Dev
af76a068b4 Fixed incorrect logging values 2024-06-05 21:50:27 +01:00
Dev
2a9cbab762 Fixed issue with PMC post-raid messages not being sent
Caused by bot match cache regression resulting in bot data not being stored during generation
2024-06-05 21:50:07 +01:00
Dev
90b9fac842 Updated traders items_buy_prohibited data 2024-06-04 19:55:03 +01:00
Dev
bcb40c8333 Fixed hideout crafts causing server failure 2024-06-04 19:23:37 +01:00
Dev
013634f466 Added Documents with decrypted data to lootable blacklist 2024-06-04 19:03:47 +01:00
Dev
0574392f28 Added new lootable item blacklist and added checks to bot and map loot generator code
Remove event quest item from global blacklist and move to loot item blacklist
2024-06-04 18:57:36 +01:00
Dev
5b4b0c1471 Introduced Set to speed up calls to isItemBlacklisted() 2024-06-04 18:32:22 +01:00
TetrisGG
bef57f4f58 Fix Tournament Profile having access to Fence (!358)
Fixes SPT/Issues#677
Fence should be locked in Tournament Profile.
Setting Fences base.json `unlockedByDefault` to `false` makes the profile able to lock Fence

Code from Client:
Shows that unlockedByDefault overrides whatever is written in the Profile data on init.
![image](/attachments/7336f96c-31c0-4ea3-848d-65320cf41340)

Working Screen from Game:
![image](/attachments/b94f368e-91c4-4641-a31e-8b0d8c60d239)

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/358
Co-authored-by: TetrisGG <dmiller2606@gmail.com>
Co-committed-by: TetrisGG <dmiller2606@gmail.com>
2024-06-04 17:20:10 +00:00
Dev
dde78b30eb Cloned blacklist data before returning it 2024-06-04 18:18:52 +01:00
Dev
83dd0ed439 Added 660bbc47c38b837877075e47 - Encrypted flash drive to blacklist 2024-06-04 17:08:09 +01:00
Dev
2a587d80d8 Added system to filter blacklisted items from static and dynamic loot positions
Moved seasonal item filter code to different position inside `generateDynamicLoot()`
2024-06-04 17:06:50 +01:00
Dev
5131fb2dcc Flagged The Tarkov Mystery as event quest + added to event quest array + added missing icon 2024-06-04 16:17:20 +01:00
Dev
e5398f5e4d Added implementation for Achievement quest rewards 2024-06-04 15:36:01 +01:00
Dev
aebe1ab606 Updated getItemPrices() to return each traders next refresh timestamp 2024-06-04 15:17:46 +01:00
Dev
ba8829681d Fixed flea-banned players being able to buy pmc items from flea 2024-06-03 22:35:09 +01:00
Dev
307822f647 Updated Map loot 2024-06-03 22:30:46 +01:00
Dev
0aff3c5274 Fixed missing property in addMissingSptVersionTagToProfile() 2024-06-03 22:30:20 +01:00
Dev
ed1840fc09 Updated PMC names 2024-06-03 18:29:06 +01:00
Dev
59fd030c98 Revert "Updated server node version to 20.14.0 from 20.11.1"
This reverts commit f672ad27bf.
2024-06-03 17:34:22 +01:00
Dev
269a068bff Merge branch 'master' of https://dev.sp-tarkov.com/SPT/Server 2024-06-03 17:33:55 +01:00
Dev
7842167595 Stored free daily quest resets in profile per-daily-type
Wired up `getClientRepeatableQuests()` to retrieve this value + reduced indentation of function
Updated `changeRepeatableQuest()` to decrement free daily value from profile
2024-06-03 17:33:46 +01:00
Refringe
41b047e436
Fresh New Awesome Icon
Get styled on.
2024-06-03 11:56:56 -04:00
Dev
671c57cefb Cleaned up getClientRepeatableQuests() 2024-06-03 16:51:26 +01:00
Dev
b010ff87c2 Pulled code out of acceptRepeatableQuest() into new function createAcceptedQuestClientResponse() 2024-06-03 16:20:16 +01:00
Dev
2f21178dc9 Updated JSON data 2024-06-03 15:59:38 +01:00
Dev
f672ad27bf Updated server node version to 20.14.0 from 20.11.1 2024-06-03 15:50:27 +01:00
Dev
dcf816702e Updated various node packages 2024-06-03 15:44:40 +01:00
Dev
fe76476bae Updated server locales with crowdin data 2024-06-03 15:22:40 +01:00
Dev
5c7f6bc782 Improved comments for deserializeWithCacheCheck() 2024-06-02 14:49:28 +01:00
Dev
5c1c44da8f Fixed en locale typos 2024-06-01 17:34:02 +01:00
Dev
6513ce694c Fixed locale typos 2024-06-01 16:34:06 +01:00
Dev
b936c47f34 Fixed typo in locale text 2024-06-01 16:04:08 +01:00
Dev
a1955d4e7e Second part of EventOutputHolder change, updated output to be keyed by sessionID 2024-05-31 23:28:35 +01:00
Dev
97efad0a79 Updated clientActiveSessionStorage inside EventOutputHolder to store data by sessionId 2024-05-31 23:10:18 +01:00
Dev
f20ffe286b Reworked getBotCap() to use data from url instead of appContext 2024-05-31 22:01:48 +01:00
Dev
0864b0074b Updated map base JSONs 2024-05-31 19:10:07 +01:00
Dev
910189d425 Added TarkovTV 2024 gift codes 2024-05-31 18:55:55 +01:00
Dev
06e3da394f Updated quest json:
Added: Gendarmerie District Patrol + L4 trader assort
Added: Test drive part 3
Added various missing quest names to `QuestName` property
2024-05-31 16:28:25 +01:00
Dev
561e8da3db Improved client/items/prices handling 2024-05-31 16:16:10 +01:00
Dev
b7a9296fac Expanded getItemName() to return short name when full name is not found 2024-05-31 11:09:19 +01:00
Dev
95fbe09154 Updated map loot 2024-05-30 16:31:05 +01:00
Dev
876bf76605 Updated quest json 2024-05-30 14:30:09 +01:00
Dev
5531f9d03e Added text to help with finding data 2024-05-30 13:16:28 +01:00
Dev
f341bfcb4b 14.8.6.30268
Added new properties to daily quests
Stubbed out quest achievement rewards
Added new Item properties used by unknown radio
Updated data JSONs
2024-05-30 13:05:28 +01:00
Dev
56d135fe6d Fixed bot generation error 2024-05-30 10:09:04 +01:00
Dev
b8ee834165 Replaced uses of DatabaseServer with DatabaseService 2024-05-29 15:15:45 +01:00
Dev
2169fd3210 Flagged RarityPvE as optional 2024-05-29 10:35:18 +01:00
Dev
b5a11a1343 Added additional context to english locales 2024-05-28 22:53:36 +01:00
Dev
7d515ad680 Replaced uses of DatabaseServer with DatabaseService 2024-05-28 22:24:52 +01:00
Dev
b9148514ce Fixed unit tests 2024-05-28 19:52:21 +01:00
Dev
5bd49ded59 Updated SaveServer.load() to log the total time taken to load profiles on server started instead of per profile 2024-05-28 18:40:22 +01:00
Dev
c72834d778 Adjusted load time logging to show a max of 2DP 2024-05-28 18:33:17 +01:00
Dev
0dfbf61ddf Replaced usages of parameters with fixed values 2024-05-28 18:32:09 +01:00
Alex
e2eb56a60a Added more nullguards (!356)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/356
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:35:38 +00:00
Alex
8727f6150e primery-dependencies (!355)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/355
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-28 14:04:20 +00:00
Dev
f56da3c1a8 Updated various classes to make use of databaseService 2024-05-28 14:52:22 +01:00
Dev
584eade530 Added getLocation() to databaseService and made use of it across various classes 2024-05-28 14:28:26 +01:00
Dev
c710169e3d Fixed bad error throw 2024-05-28 14:23:01 +01:00
Dev
7cdac4e38b Added getTrader() and utilise inside various classes 2024-05-28 14:13:44 +01:00
Dev
fdb7a2b7d8 Updated various classes to use DatabaseService instead of DatabaseServer 2024-05-28 13:59:19 +01:00
Dev
9f1e0693f5 Make use of DatabaseService inside ProfileFixerService and CustomItemService 2024-05-28 12:27:46 +01:00
Dev
4c08d64ca5 Make use of DatabaseService inside GameControler and RagfaiServerHelper 2024-05-28 11:17:38 +01:00
Dev
e78087818f Add DatabaseService as safer alternate to DatabaseServer for accessing db 2024-05-28 11:13:27 +01:00
Dev
3d4447c978 Added ITemplates interface 2024-05-28 11:11:50 +01:00
Dev
d6f7374a9a Added IHideout interface 2024-05-28 10:41:07 +01:00
Dev
17882ddeab Add interface for database bots object 2024-05-28 10:33:29 +01:00
Dev
65f27a7d8c Fixed various Object is possibly undefined warnings 2024-05-28 10:25:23 +01:00
Dev
e0eaadbeef Added implementation of adjusting hideout area level via mails profileChangeEvents property 2024-05-27 21:30:40 +01:00
Alex
173a726f33 Removed all null references in favor of undefined (!354)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/354
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 20:06:07 +00:00
Dev
d5496dcc34 Moved Evil spirits event quest to archive 2024-05-27 20:08:09 +01:00
Dev
a37664f43a Localised various errors 2024-05-27 20:06:10 +01:00
Dev
4b8d9f7e22 Updated launcher-profile-tournament locale text 2024-05-27 18:52:02 +01:00
Dev
1c8805c365 Purged duplicate PMC names 2024-05-27 18:33:13 +01:00
Alex
aee391ec1d Null checks first pass (!353)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/353
2024-05-27 16:05:16 +00:00
Dev
d330ab3715 Fixed insurance tests 2024-05-27 16:51:20 +01:00
Dev
e5fd26b89c Add system to purchase all clothing from trader on profile creation - enabled for tourney profile
Fixed USEC profiles not having fence locked on tourney profile creation
2024-05-27 16:30:03 +01:00
Dev
7432817d7d Updated bear ragman clothing 2024-05-27 16:01:58 +01:00
Alex
1bf520a044 Added null checks as warnings (!352)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/352
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-27 13:08:21 +00:00
Dev
edbb6cec19 Updated _proto inside ITemplateItem nullable
Added `ItemType` enum for `_type` property in  `ITemplateItem`
2024-05-27 13:59:25 +01:00
Dev
82c6add9ab Improved insurance calculation accuracy with help from Doctor
Removed `insuranceMultipler` from `insurance.json` config, no longer necessary
2024-05-27 13:42:28 +01:00
Dev
cc1f51e522 Updated map loot 2024-05-27 11:32:26 +01:00
Dev
40bc26dfd0 Improved localization text for ragfair-unable_to_find_item_price_for_item_in_flea_handbook 2024-05-27 10:26:11 +01:00
Dev
5dc4b7695e Removed debug data from bot.json 2024-05-26 16:33:37 +01:00
Dev
673256e5fa Added disableLootOnBotTypes property to bot.json config to allow disabling loot on bots by their type 2024-05-26 16:32:39 +01:00
Dev
88242238f9 Peppered fillMagazineWithCartridge() with guards to assist players with finding cause of error 2024-05-26 12:17:47 +01:00
Dev
7f0d740a17 Added gift code HIDEOUTCAT, rewards Mr Kerman's cat hologram 2024-05-26 11:44:17 +01:00
Dev
86c383c97b Added trader assort item blacklist system. Can be applied per profile
Enabled for Tournament profile

Added support to server to handle `AssortmentUnlockRule` mails
2024-05-25 21:21:23 +01:00
Dev
50f224d03a Added missing jaeger unlock from Tournament gift 2024-05-25 21:14:44 +01:00
Dev
79b8f4d3e3 Removed forced loot from configs/loot.json 2024-05-25 16:09:23 +01:00
Dev
d3b8138bab Ignored various property naming lint issues 2024-05-25 15:57:11 +01:00
Dev
ece45f0788 Ignored various property naming lint issues 2024-05-25 15:53:49 +01:00
Dev
923a92169d Fixed multiple ragfair bans being added on profile creation 2024-05-25 15:46:01 +01:00
Dev
ef8307540b Fixed issue with redeemProfileReward() not correctly levelling up traders, causing player to only see level 1 trader items until a restart 2024-05-25 15:45:27 +01:00
Dev
ca737d2f62 Added ability to flag a profile as flea banned via config
Updated tournament profiles to use new system
Added `getTimeStampFromNowDays()` helper to `TimeUtil`
Improved accuracy of `Bans` property in profile
2024-05-25 15:09:52 +01:00
Dev
eba65cdd83 Added new Tournament profile. Flea blacklisted. Has special gift code. 2024-05-25 14:45:36 +01:00
Dev
885a2abcab Added tournament profile gift code 2024-05-25 14:41:35 +01:00
Dev
aa03a002ed Fixed profileChangeEvent Skill failing when invalid skill passed in 2024-05-25 14:40:49 +01:00
Dev
e505f86137 Fixed sendGiftToPlayer() not correctly sending profile change events 2024-05-25 14:33:22 +01:00
Dev
923b1185e3 Updated JSONs 2024-05-25 13:54:25 +01:00
Dev
18a5c49812 Add trader id to getItemPrices() 2024-05-25 10:40:32 +01:00
Dev
e2dd677b40 Fixed getLocalesGlobal() not correctly falling back to english when locale not found 2024-05-24 23:23:59 +01:00
Dev
612b1b7940 Localized more warnings 2024-05-24 16:42:42 +01:00
Dev
ed50a89e85 Added localisation to InsuranceController 2024-05-24 15:51:16 +01:00
Dev
36a43f38ab Updated locales 2024-05-24 15:33:54 +01:00
Dev
6623a86d0f Improved how PMC difficulty values are generated to improve PMC vs PMC settings
Moved difficulty-related into `BotDifficultyHelper`
Made `typeBeingEdited` property in `addBotToEnemyList()` optional
2024-05-24 10:58:55 +01:00
Kaeno
2a72f0b0f4 Add Sandbox_high to Bot config and PMC config to prevent Custom ai patch from breaking in modules. (!351)
Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/351
2024-05-24 07:14:31 +00:00
Dev
d06ba1c94a Fixed incorrect client version value 2024-05-23 21:49:33 +01:00
Dev
f68827bdc2 Added ability to insert custom text into the server watermark at the bottom via core.json config 2024-05-23 21:40:59 +01:00
Dev
198f864fe6 Added additional property 2024-05-23 18:10:24 +01:00
Dev
0fe25c65fd Update ragman clothing (USEC) 2024-05-23 18:05:44 +01:00
Dev
ab0ec68e5b 30150 2024-05-23 17:23:45 +01:00
Dev
c2aec8bd26 Updated ragman BEAR clothing 2024-05-23 12:01:38 +01:00
Dev
c57d2ccf82 Merge branch 'master' of https://dev.sp-tarkov.com/SPT/Server 2024-05-23 11:19:55 +01:00
Dev
81bb920b16 Fixed Bloodhounds lacking soft-inserts inside their Ops-Core FAST MT Super High Cut helmet 2024-05-23 11:19:45 +01:00
Kaeno
c0d3c5384f QuestitemInsurance (!350)
Add ability to tell if we planted the item at a quest location (fishing gear, SV98) and dont return it with insurance

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/350
Co-authored-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
Co-committed-by: Kaeno <kaeno@noreply.dev.sp-tarkov.com>
2024-05-22 19:57:37 +00:00
Dev
4081508bf3 Improved accuracy of flea offer creation
`user` object of each offer matches live
Added `getPmcNicknameOfMaxLength()` to `botHelper`
2024-05-22 13:26:35 +01:00
Dev
961210f73c Renamed function to clarify what it does 2024-05-22 12:51:04 +01:00
Dev
2b3ee4f15c Improved how AID is obtained when generating a flea offer 2024-05-22 12:50:19 +01:00
Dev
2edd1695f6 Improved locale text for modloader-outdated_sptversion_field 2024-05-22 11:23:38 +01:00
Dev
cd965bb733 Refactored 2 functions to accept a request object instead of 5+ parameters generateModsForWeapon() and chooseModToPutIntoSlot()
Store meta-data on weapon as its being generated e.g. if it has an optic/front sight/rear sight
use above meta-data to force a low/high profile gas block on weapon during generation
2024-05-21 23:22:16 +01:00
Kaeno
37f4a23acf Fix flea market error when clicking on user. Handled responses that wasn't been handled correctly (!348)
:)

Reviewed-on: https://dev.sp-tarkov.com/SPT/Server/pulls/348
2024-05-21 21:24:57 +00:00
Dev
6656c733a3 Added migration path for 3.8.3 profiles into new 3.9.0 structure 2024-05-21 19:47:01 +01:00
Dev
2cb8e149b8 Fixed various locale issues 2024-05-21 19:16:03 +01:00
Dev
fef5466210 Fixed casing issue in EN locale 2024-05-21 19:13:05 +01:00
Alex
d13e86ba46 Rebranding to SPT (!345)
Rebranded src code and scripts to SPT

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/345
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-21 17:59:04 +00:00
Dev
13a552c827 Updated loot data 2024-05-21 15:42:28 +01:00
Dev
a48e130f1b Localized various warning messages 2024-05-21 14:28:52 +01:00
Dev
139b139581 Localised various error messages 2024-05-21 12:40:16 +01:00
Dev
7b345b7513 Improved checkForOrphanedModdedItems() to show more relevant error messages 2024-05-21 11:20:33 +01:00
Dev
de55d99b81 Updated location loot data + fixed forced statics not appearing 2024-05-20 21:14:53 +01:00
Dev
89b3a8f3c7 Updated flea prices 2024-05-20 21:08:46 +01:00
Dev
7d5fb77603 Updated JSONs 2024-05-20 20:56:57 +01:00
Dev
3b603bcc8c Updated trader assort data 2024-05-20 18:48:01 +01:00
Dev
d2bf384777 Updated quest json 2024-05-20 18:31:15 +01:00
Dev
b29d5f957d Adjusted followerBoar generation weights 2024-05-20 17:54:09 +01:00
Dev
a211821029 Flagged Evil Spirits as event quest 2024-05-20 16:52:27 +01:00
Dev
ff39d733e9 Adjusted SUMMER season start month 2024-05-20 12:24:57 +01:00
Dev
e38ad6dc3e Adjusted SPRING season start date to be closer to live 2024-05-20 12:21:55 +01:00
Alex
d437b5b922 auto-dependency-installer-fix (!343)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/343
2024-05-20 11:01:35 +00:00
Alex
bf528fd1de Added Mark of the Unheard buff to the insurance timer (!342)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/342
2024-05-20 10:44:05 +00:00
Dev
597ea96f34 Added per-profile type redeem times to server
unheard has a 72 hour redeem time vs all other profiles 48
renamed `redeemTime` to `mailRedeemTimeHours`
2024-05-20 11:31:45 +01:00
Dev
493a54759b Removed Docker files from project - not used by development team and is causing issues with new contributors (rightfully) believing we use it due to their existence 2024-05-20 11:06:55 +01:00
Dev
2fd5c918ce Updated localeService test after recent PR merge
Linted test file
2024-05-20 09:54:40 +01:00
DrakiaXYZ
fcabd68dfc Fix issues around ragfair and handbook caching (!334)
- Make `PenetrationDamageMod` optional in ITemplateItem
- Cache handbook values if they're found after initial cache generation
- Refactor how caching in RagfairPriceService is handled
-- Rename `generate` methods to `refresh` to better indicate their purpose
-- If item price isn't found in cache, try to find it and add it
-- Refresh caches prior to returning all flea prices (This is only triggered via a route call, so shouldn't happen often)
-- Remove storage of whether we've generated cache, it should always be done on load, and we dynamically add to it, so it's not necessary to keep track of

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/334
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-05-20 07:58:13 +00:00
Tyfon
66cac910c3 Add scav profile support to InventoryController.swapItem (!341)
Resolves https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/664

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/341
Co-authored-by: Tyfon <tyfon7@outlook.com>
Co-committed-by: Tyfon <tyfon7@outlook.com>
2024-05-19 12:25:56 +00:00
Alex
5b5bf8bd7c Added WebSocket handlers for new connections and messages received through the default EFT socket (!339)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/339
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-18 16:45:21 +00:00
Dev
3163e5cd0c Added missing IQuestSettings interface 2024-05-18 14:36:51 +01:00
paulov
0d2afc9c49 Fix RecursiveCloner Null Value Handling (!338)
This PR fixes an issue in RecursiveCloner where null value properties of any type (i.e. arrays, nullable primitives) were being converted to empty objects.

An example of where this is a problem can occur when starting a raid in 3.9. The client would attempt to convert the empty object (created by the RecursiveCloner) to an Array and it would result in a JSON error.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/338
Co-authored-by: paulov <v2k4gameplay@outlook.com>
Co-committed-by: paulov <v2k4gameplay@outlook.com>
2024-05-18 09:28:50 +00:00
DrakiaXYZ
2d299b99d2 Fix error in getExperience for over leveled players (!337)
Fixes an error in getExperience when players are over level 79

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/337
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-05-18 07:36:55 +00:00
Dev
5d4fb70e47 Updated bot jsons 2024-05-17 21:56:54 +01:00
Dev
f581b8ff2a Fixed issue with server failing to generate a green flare as its a weapon without a default preset 2024-05-17 20:38:39 +01:00
Dev
fa7d67b46e Updated location loot data 2024-05-17 20:34:41 +01:00
Refringe
cb169a18b9
Project Code Format
Ran the `npm run format` command to bring the entire project in-line with the formatting rules.
2024-05-17 15:32:41 -04:00
Dev
5def42416b Merge branch '3.9.0-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-05-16 11:10:41 +01:00
Dev
53b7741e39 Fixed game load issue 2024-05-16 11:10:04 +01:00
Refringe
79781ab8bb Linting Updates (!336)
This update now runs Prettier before ESLint (with the Stylistic plugin) for code formatting. This takes care of a lot of the edge cases that ESLint doesn't touch by itself. Also adds the `eslint-plugin-unused-imports` ESLint plugin to remove unused imports and the `eslint-plugin-switch-allman` ESLint plugin to enforce Allman braces on case declarations.

The VSCode format-on-save function now requires two additional extentions to be installed: Prettier and Format Code Action. Links can be found in the README and in the recommended extentions section of VSCode when the workspace is open.

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/336
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-05-16 08:41:05 +00:00
TheSparta
f147bb64eb restructured Notification interfaces...
- Restructured notification interfaces
- Added some missing enums
2024-05-15 23:47:37 +01:00
TheSparta
9d127cbb6c Add missing types for handled match routes 2024-05-15 23:45:48 +01:00
Dev
2696a2dff2 Linted files edited in previous commit 2024-05-15 19:43:39 +01:00
Dev
d95423b0f1 Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV
# Conflicts:
#	project/assets/configs/core.json
#	project/package.json
#	project/src/models/eft/common/IGlobals.ts
#	project/src/routers/dynamic/BundleDynamicRouter.ts
2024-05-15 16:39:41 +01:00
Dev
e0fd7e59e7 Added missing endpoint 2024-05-15 15:43:19 +01:00
Dev
8e78cb0faf Added missing replyTo property to Message 2024-05-15 15:42:58 +01:00
Dev
46b630c5ef Added missing notification types 2024-05-15 15:42:35 +01:00
Dev
c6041514db Added additional missing endpoints 2024-05-15 14:23:19 +01:00
Dev
10cee6a923 Add JSONs 2024-05-15 14:10:20 +01:00
Dev
5d8d6d7185 Improved accuracy of multiple endpoints 2024-05-15 14:10:06 +01:00
Dev
d608e8b690 Update JSONs 2024-05-15 11:40:12 +01:00
Dev
15d41461ef Update version string 2024-05-15 10:45:50 +01:00
Dev
f45b54a01a Update to 29997 2024-05-15 10:45:01 +01:00
Dev
98620d2e1f Added tests for botDifficultyHelper 2024-05-14 15:45:56 +01:00
Dev
1d8bc4537c Fix issue with getBotDifficultySettings() cloning assault bot correctly when bot type not found but storing it against the new bot type with preserved caps, resulting in getting difficulty values failing 2024-05-14 15:45:04 +01:00
Dev
ed6e81ab52 Expanded input parameters for getBotGenerationDetailsForWave() and include change inside returnSingleBotFromCache() 2024-05-14 11:34:09 +01:00
Dev
81c7b8751b Extracted 2 functions from generateBotsFirstTime() to allow easier overriding for mod authors 2024-05-14 11:23:02 +01:00
Dev
512054d29f Added additional localeService tests
Fixed issue with existing tests overwriting function result that bled into other tests
2024-05-14 10:26:07 +01:00
Alex
7dc17acb97 Made commando first check if there's a preset for an item, otherwise if goes through normal logic (!333)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/333
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-14 07:30:40 +00:00
DrakiaXYZ
adab18e3fb Fix issues around locales (!332)
- Remove locale check for give command (Now handled in the localeService itself)
- Fix variable names/spelling/lowercase in LocaleService.getPlatformForServerLocale (should be no change in behaviour)
- Rewrite LocaleService.getPlatformForClientLocale to not depend on serverSupportedLocales, and instead just use the tables for validity checking
- Expand fallback of client locale handling to include the region code (Handles Czech and Korean locales)
- Write tests for locales

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/332
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-05-13 21:42:58 +00:00
Dev
5254e9753e Fixed two getHighestRelativeBotLevel() tests caused by a refactor of the functions parameters 2024-05-13 22:41:34 +01:00
Dev
5ec6bc1aae FIxed getItems() test due to changes in how items are cloned 2024-05-13 22:31:53 +01:00
Refringe
14e8f8fa19
Take your brackets back!
I don't want em'. Grumble. Ahem...

This change allows for "extra" parentheses to be added in situations where, without them, the code could possibly, potentially be seen as maybe a little-bit, tiny confusing.

Also, fixes a bunch of other ESLint errors. Mostly down to naming warnings now. Mostly.
2024-05-13 17:04:23 -04:00
Dev
65e2b87190 Adjusted sendInsuredItems() to use the globals property Insurance.MaxStorageTimeInHour 2024-05-13 20:34:44 +01:00
DrakiaXYZ
7e4ec0bc53 Fix LFS association for sandbox files (!331)
Resolves "Encountered 8 files that should have been pointers" issue, hopefully

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/331
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-05-13 19:20:21 +00:00
Dev
600195224a Updated trader base JSONs 2024-05-13 20:16:27 +01:00
Dev
0d00fb5370 Added unheard edition profile + EN locale description 2024-05-13 20:07:35 +01:00
Alex
f8d1227dfd Introduced a new ICloner interface with 3 implementations, one of them being a recursive cloner which is faster and more efficient than its counterparts by more than 50% (!328)
Co-authored-by: clodan <clodan@clodan.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/328
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-13 17:58:17 +00:00
Dev
f2c7e938cc Updated various JSONs 2024-05-13 17:05:04 +01:00
Dev
01783e295b Updated french locale 2024-05-13 09:52:33 +01:00
Dev
da61f62a55 Updated version tags 2024-05-13 09:51:28 +01:00
clodan
be082ebb71 Fixed give command localization issue
(cherry picked from commit 9390759621)
2024-05-12 22:14:29 +01:00
Dev
02e8b5051c Added guard against nullref inside updateFenceAssorts() to protect against modded items 2024-05-12 19:08:11 +01:00
Dev
4b7682383c Updated locales with latest Crowdin data 2024-05-12 15:26:22 +01:00
Dev
d5f57d74f5 Made bear/usec PMC jsons match 2024-05-12 15:20:34 +01:00
Dev
ad97d3438c Updated package.json version 2024-05-12 14:57:22 +01:00
vniehues
3e68297016 [ADD] functionality to read "x-forwarded-for" and "x-real-ip" headers when handling a request (!329)
I'm currently hosting the Project Fika Docker on a dedicated Server to have the Server up 24/7 without the need to let my PC run.
When hosting this as a docker container behind traefik (reverse proxy), the logger currently logs the internal IP of the traefik container.
This change makes it so that the headers that traefik/nginx can set are actually read and used. If these headers are not present, we fall back to the original method of using the `socket.remoteAdress`.
Since this is for logging only, the security implications are minimal.

Co-authored-by: Vincent Niehues <vincent.niehues@zeitag.ch>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/329
Co-authored-by: vniehues <vniehues@noreply.dev.sp-tarkov.com>
Co-committed-by: vniehues <vniehues@noreply.dev.sp-tarkov.com>
2024-05-12 13:56:03 +00:00
Dev
9323db5b1c Improved debug logging in filterPlateModsForSlotByLevel() + improved variable names 2024-05-12 10:29:18 +01:00
Dev
572f6a5668 Improved getModPoolForSlot()
Comment changes
Variable change
Only log debug message when default mod not found + multiple choices exist in pool
Fixed possible nullref if `getMatchingPreset()` returns null
2024-05-12 10:15:08 +01:00
Dev
879d19d912 Adjusted PMC mod chance values 2024-05-12 10:03:22 +01:00
Dev
72a1eb0a34 Improve comments inside modIsFrontOrRearSight() 2024-05-12 09:31:40 +01:00
Dev
ac5103390c Added nullguard check inside generateLoot() to prevent 380 mods killing bot generation 2024-05-11 16:21:39 +01:00
Dev
2e824b129c Update core json version number 2024-05-11 14:08:03 +01:00
Dev
111da41ec8 Update flea prices 2024-05-11 12:20:24 +01:00
Dev
fddbe4cf54 Merge branch '3.8.2-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.2-DEV 2024-05-10 14:51:44 +01:00
Dev
aeee99bae5 updated removeResourceFromArea() to get FiR status for a fuel item without a upd property 2024-05-10 14:51:23 +01:00
TheSparta
3b0ee75d7f Handle all bundles regarless of extension on BundleSerializer 2024-05-09 15:22:10 +01:00
Dev
a2f6d8b9bb Add PMC names 2024-05-08 08:25:53 +01:00
Refringe
8821115cfc
Fixes Duplicate Interface
This renames a BTR configuration interface that had the same name as another interface.

IBtrMapConfig --> IBtrPathConfig
2024-05-08 00:26:12 -04:00
Refringe
ba1ac09b0b
Merge branch '3.8.2-DEV' into 3.9.0-DEV
# Conflicts:
#	project/src/callbacks/ItemEventCallbacks.ts
#	project/src/models/eft/common/IGlobals.ts
#	project/src/models/eft/common/ILocation.ts
#	project/src/models/eft/common/ILocationBase.ts
#	project/src/models/eft/common/tables/ILootBase.ts
#	project/src/models/eft/common/tables/ITemplateItem.ts
#	project/src/models/eft/weather/IWeatherData.ts
#	project/src/models/spt/bots/BotGenerationDetails.ts
#	project/src/models/spt/config/IPmcConfig.ts
#	project/src/models/spt/config/IWeatherConfig.ts
#	project/src/models/spt/server/IDatabaseTables.ts
#	project/src/models/spt/server/ILocations.ts
#	project/src/servers/http/IHttpListener.ts
2024-05-08 00:21:12 -04:00
Refringe
50c7a26a58
ESLint Pass
This is the first pass of ESLint on the codebase.

ESLint formatting is less strict when it comes to line-length and line-breaks then dprint/biome, so if you see formatting that you don't like... fix it! It shouldn't require a configuration change.

- This should merge clean into master (when the time comes).
- This will not merge clean into `3.9.0-DEV`, but the conflicts aren't that bad.
2024-05-07 23:57:08 -04:00
Refringe
a73a2a76e6 Merge branch '3.8.2-DEV' into eslint-stylistic 2024-05-08 01:25:50 +00:00
Refringe
e8b47bf733
ESLint Configuration Format & Import Sorting
The built-in ESLint import settings will lint the imports, but not fix them, as that's concidered stylistic. The ESLint Stylistic package doesn't currently support sorting. We have to use the ESLint Import plugin to force import sorting. This Import plugin doesn't yet support the new ESLint flat-configuration file format so we've had to convert back to the old no-flat format.
2024-05-07 14:26:54 -04:00
Refringe
c601391da4
Fixes Markdown Formatting 2024-05-07 13:37:01 -04:00
TheSparta
cd5179bf39 fixed autoimport resolved wrong path
- vscode fumbled my previous commit
2024-05-07 15:14:49 +01:00
TheSparta
65f062a3f9 merged equal uid request interfaces into one 2024-05-07 15:09:25 +01:00
Dev
d8f2153009 Fixed flares not being sent when using give command from commando bot 2024-05-07 13:45:29 +01:00
Dev
3bf887341f Added PMC name 2024-05-07 09:49:36 +01:00
Dev
eb0fb09a37 Fixed profile creation failing when player alt+f4s partially through profile creation process
Added nullguard to `userbuilds` code inside `checkForOrphanedModdedItems()`
2024-05-07 09:02:44 +01:00
Refringe
735624eb9c
Merge branch '3.8.2-DEV' into 3.9.0-DEV 2024-05-06 21:52:21 -04:00
TheSparta
f991382d66 Fixed unable to send bundle if path had spaces 2024-05-06 21:53:30 +01:00
Dev
fa76578880 Updated insurance tests
Added logging of items attachments that are being removed
Only add items with a price to weight dictionary
2024-05-06 19:33:44 +01:00
Dev
77a5b0a4b4 Reworked how insurance picks attachments to delete before return
Now has a chance to not pick any to remove (default 10%)
Now only removes attachments that are above a rouble price (default 2000)

Stores attachments in a dictionary weighted by rouble price
Picks random amount of attachments to remove and then picks from pool by price, removing items from pool as they're picked
2024-05-06 15:54:29 +01:00
Dev
9fb1d9728e Fixed PMC loot generator only using flea price not flea or handbook price. Now uses whatever is higher 2024-05-06 15:21:35 +01:00
Dev
17296fabfd Moved reduceWeightValues from PMCLootGenerator into weightedRandomHelper and made public 2024-05-06 15:20:44 +01:00
Alex
c33773a318 Added more resiliency to the give command for modders who dont want to add localization for their mods (!325)
Fixed cases for modded items causing problems with Commando.

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/325
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-06 07:17:40 +00:00
Refringe
6921f9363d
Code Styling Changes
- Drops DPrint
- Drops Biome
- Adds ESList Stylistic
- Updates ESLint config to new FlatConfig format
- Removed the `dprint.dprint` and `biomejs.biome` VSC extentions from the recommendations list
- Updates README to reflect all the above changes

TODO: Import sorting & minor fixes after `npm run lint:fix`.

Curse you, Alex!
2024-05-06 02:36:35 -04:00
Alex
c552c7ad67 Removed exception thrown in compare util and instead assume two objects dont match (!324)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/324
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-05 11:33:18 +00:00
Dev
6d8311150e Made traderOffersNeedRefreshing() more resilent to incorrectly installed trader mods 2024-05-05 11:50:24 +01:00
Alex
84d5462955 Fixed give command to use dice coefficient making it more precise. Fixed give command giving invalid items to players. (!323)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/323
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-05 08:01:18 +00:00
Dev
509e208fb9 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV
# Conflicts:
#	project/assets/configs/pmc.json
#	project/src/helpers/ItemHelper.ts
#	project/src/models/spt/config/IPmcConfig.ts
2024-05-04 21:41:44 +01:00
TheSparta
d3ac83e63b expose websockets (!321)
- Added 2 methods that expose the websocket server and each session's websocket

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/321
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2024-05-04 18:02:20 +00:00
TheSparta
d2e1624618 dialogs-profiles-refresh (!320)
This PR updates a few interfaces and consequently a few functions returned data,

it also handles 2 new routes:
`/client/friend/request/decline`
`/client/friend/request/accept-all`

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/320
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2024-05-03 22:54:48 +00:00
Dev
99444c7237 Added config to not included secure container loot in PMCs - set to false by default 2024-05-03 21:31:24 +01:00
Dev
d32d1cb50b Removed non-ammo items from PMC secures 2024-05-03 21:09:51 +01:00
Dev
096c8471dc Fixed incorrectly logging insurance mesage 2024-05-03 20:04:29 +01:00
Dev
3125e768f7 Updated locales 2024-05-03 17:28:55 +01:00
Alex
03c914f9e8 Fixed ragfair memory leak (!319)
Fixed ragfair memory leak where NPC player ids would continuously get added into the cache map, when those offers expire the entry on the dictionary would be left empty but the string allocation on the key would remain in memory, overtime it would stack up to massive amounts of memory usage

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/319
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-02 13:18:34 +00:00
Alex
bccda0302f ragfair-safety-net (!318)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/318
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-02 08:56:40 +00:00
Dev
2ba5358f39 Update locales with data from crowdin 2024-05-01 21:39:58 +01:00
Alex
0502257093 Added functionality for Fence to resell items sold to him by PMCs, and fixed give command giving incomplete preset items and bugged ammo boxes (!317)
Fixes https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/625

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/317
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-05-01 20:17:09 +00:00
Dev
ae0b7f83ec Fixed incorrect locale tag 2024-05-01 16:32:59 +01:00
Dev
3a464af5f4 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-05-01 12:27:28 +01:00
Dev
39fdeb895c Expanded Sealed weapon container pool - Added additional weapons + updated ammos + blacklisted melee weapons from pool 2024-05-01 10:34:59 +01:00
acidphantasm
3d2fd7b40a Add stash row quest reward functionality (!316)
This functionality is currently not in use and would be nice to have for mod developers. There have been 'seasonal' quests in the past that had stash rows as a reward but this was never implemented in SPT.

Co-authored-by: acidphantasm <127812106+acidphantasm@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/316
Co-authored-by: acidphantasm <acidphantasm@noreply.dev.sp-tarkov.com>
Co-committed-by: acidphantasm <acidphantasm@noreply.dev.sp-tarkov.com>
2024-05-01 08:22:11 +00:00
Dev
5273434f7d Fixed typo 2024-04-30 23:26:49 +01:00
Dev
bddf87a4e2 Prevented drawAmmoTpl() failures from killing loot generation when cartridge data cannot be found inside staticAmmoDist 2024-04-30 23:23:00 +01:00
Dev
06b35ddde8 Improved how Level specific PMC levels are handled, not included min and max - stored in pmc.json 2024-04-30 23:21:52 +01:00
Dev
297e35a1ff Added system to set min level for PMCs spawned on sandbox_high to 20 2024-04-30 21:52:26 +01:00
Dev
a63f1c3890 Plumb in sandbox_high to configs 2024-04-30 21:51:11 +01:00
Dev
8ff241b7b9 Add new map to Interface 2024-04-30 20:54:48 +01:00
Dev
d6cd99b8ab Reduce sandbox to max level 20 2024-04-30 20:31:00 +01:00