Commit Graph

2497 Commits

Author SHA1 Message Date
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
Dev
923ca0226b Fixed incorrect data structure of base.json inside sandbox_high 2024-04-30 20:30:49 +01:00
Dev
267efdc7ea Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-29 21:50:12 +01:00
Dev
6ec3ed55bc Update map loot 2024-04-29 20:36:56 +01:00
Dev
3e99f6761f Add missing base json for sandbox_high 2024-04-29 16:30:48 +01:00
Valens
a425b1bc4b Fix weightingAdjustmentsBybotLevel (!315)
Fixed linting/syntax of the weightingAdjustmentsByBotLevel function to properly end equipment and start clothing as part of IAdjustmentDetails.

Additionally, added the "add" subfunctions to equipment for the last three levelRanges as they were missing.

Co-authored-by: VforValens <8889280+VforValens@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/315
Co-authored-by: Valens <valens@noreply.dev.sp-tarkov.com>
Co-committed-by: Valens <valens@noreply.dev.sp-tarkov.com>
2024-04-29 15:03:42 +00:00
chomp
b6926c1bf9 Improved about 5-10% performance on botgen and fixed bug that would skip containers when generating items that wouldnt fit in pockets (!314)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/314
2024-04-29 13:27:07 +00:00
Dev
619137417b Adjusted PMC loot/stam values due to earlier fixes to loot generation 2024-04-29 14:25:24 +01:00
Alex
55d913d0f6 Fix give command for multiple profiles and added blacklist filter (!313)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/313
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-29 10:13:10 +00:00
Dev
a1070f941c Added extra guard against adding cartridges to box sold by fence
Skip adding cartridges to ammo box inside `addCartridgesToAmmoBox()` if cartridge already exists
2024-04-28 23:04:37 +01:00
Dev
995d50dba4 made use of function addUpdObjectToItem() 2024-04-28 22:50:39 +01:00
Dev
15348cec35 Fixed water bottles lacking a FoodDrink property in EoD profiles 2024-04-28 22:42:39 +01:00
Dev
b9973e609f Fixed issue with water bottles having no upd object in rare cases killing client 2024-04-28 22:39:17 +01:00
Alex
65a804dc01 pushing merge conflict resolution to previous commit (!312)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/312
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-28 14:47:55 +00:00
Dev
cee7ef2e47 Updated all maps with new loot data structure 2024-04-28 15:31:37 +01:00
Alex
2172c29640 First iteration of async work on callbacks (!311)
Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/311
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-28 13:45:36 +00:00
Dev
ddd5d69eda Added 2 additional pmc kill messages 2024-04-28 14:33:30 +01:00
kiobu
44583f40ac fixes to get in raid (customs only) (!310)
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/310
Co-authored-by: kiobu <kiobu@sdf.org>
Co-committed-by: kiobu <kiobu@sdf.org>
2024-04-28 08:01:27 +00:00
Dev
b59283e5b5 Added missing 68x51 ammo to bigmap json 2024-04-27 23:18:07 +01:00
Dev
9dff3e0790 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-27 22:58:05 +01:00
Dev
30ee6de4a2 Added 2 additional PMC responses 2024-04-27 22:02:06 +01:00
Alex
a1e48ca245 Added profile and trader commands to commando (!309)
Added new spt commands for commando to alter profile levels and skill, as well as trader rep and money spent.

Co-authored-by: clodan <clodan@clodan.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/309
Co-authored-by: Alex <clodan@noreply.dev.sp-tarkov.com>
Co-committed-by: Alex <clodan@noreply.dev.sp-tarkov.com>
2024-04-27 16:56:28 +00:00
Dev
d7a8e1558a Fixed missing mod_mount data in PMCs, should reduce chance of seeing low level PMCs with helmet attachments
Reduced chance of mount on equipment to 1 for level 1-14 PMCs
2024-04-27 10:22:41 +01:00
Dev
a2886f102b Adjusted scav raid time for streets 2024-04-26 21:21:17 +01:00
Dev
f566ea8620 Fixed barter traders that required multiple of a stack removing the entire stack instead 2024-04-26 15:54:43 +01:00
Dev
dd6d7e192f Fixed coop exit usage not updating scav profile fence rep value in a similar way to car extracts do 2024-04-26 14:06:18 +01:00
Dev
3bbef3fd0c Added unheard gift code 2024-04-26 10:20:33 +01:00
kiobu
001def56a5 feat: add /client/game/mode handling (!308)
add `/client/game/mode` endpoint handling. gets into main menu

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/308
Co-authored-by: kiobu <kiobu@sdf.org>
Co-committed-by: kiobu <kiobu@sdf.org>
2024-04-26 07:37:42 +00:00
Dev
7f56cee388 29862 2024-04-25 21:37:22 +01:00
DrakiaXYZ
ea38e50cca If the trader updateTime is missing min/max use defaults (!307)
This is just another catch for people trying to run outdated trader mods, will use default refresh time instead of returning null for the trader update seconds.

Lets users know in the console right off the bat that there's a problem with the trader

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/307
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-25 17:46:27 +00:00
Refringe
fbf1d7f7fb Updates Server README (!306)
- Updates the Server project README to include additional information about installation, development, and contribuation guidelines.
- Moves the feature list to a dedicated FEATURE.md file (linked from the README.md).
- Reviewed the FEATURES.md file to clean it up a little bit.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/306
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-04-25 17:26:47 +00:00
Dev
8f4919a9c7 Update Quest and Trader assort data 2024-04-24 21:36:30 +01:00
Dev
f07637cf63 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-24 21:23:14 +01:00
Refringe
d8504950f2
Additional Card Limits to Glukhar Guards
This refines the previous commit to only allowing Glukhar to spawn a Labs access key card. His guards will not spawn any.
2024-04-24 09:57:17 -04:00
Refringe
d68734e571
Limits Glukhar Labs Access Cards
This change limits the number of Labs Access Cards that can spawn on on Glukhar and his guards to one. We had a report of three spawning on Glukhar, and two spawning on one of his guards, all in the same raid.
2024-04-24 09:37:16 -04:00
Dev
a3c8faaaaa Remove core from getAllBotDifficulties() 2024-04-24 13:05:37 +01:00
Dev
76db8ca5e8 Add assaultGroup bot with their settings from game client 2024-04-24 12:39:49 +01:00
Dev
fc6d84ad7d Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-24 10:09:51 +01:00
Dev
60eb6bfe80 Improve data returned from getAllBotDifficulties() 2024-04-24 10:09:37 +01:00
DrakiaXYZ
316234e9ae Fix TradersInfo nextResupply if it is null in profile data (!305)
Add test covering fixNullTraderNextResupply

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/305
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-24 07:13:31 +00:00
Dev
6e262a228f Add optional param to ignore raid settings chosen by player during getAllBotDifficulties() 2024-04-23 22:41:00 +01:00
Dev
d49bf4a378 Replace single letter variables with better names 2024-04-23 21:07:34 +01:00
nader
96208ed95f add getters (and additional setter) to FenceService (!304)
resubmitting PR targeting 3.8.1-DEV

Co-authored-by: Nader <nader@cloudkraken.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/304
Co-authored-by: nader <nader@noreply.dev.sp-tarkov.com>
Co-committed-by: nader <nader@noreply.dev.sp-tarkov.com>
2024-04-23 19:21:21 +00:00
Terkoiz
d41a40b2d2 Updated the PMC name list with more modders and prominent community members (!303)
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/303
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-committed-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
2024-04-23 19:16:56 +00:00
Dev
0ab5ca6dee Prevent check from failing when upd object is missing 2024-04-23 19:38:45 +01:00
Dev
8761462acd Update server locales with data from crowdin 2024-04-23 17:14:21 +01:00
Dev
522306b9b1 Fixed error message inside isModCompatible() not showing the name of a mod correctly 2024-04-23 17:08:20 +01:00
micyael
1881a0842a Fixed incorrect handbook price using CustomItemService (!301)
The handbookPriceRoubles member of base class NewItemDetails was never used to create the new item.

Co-authored-by: Refringe <me@refringe.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/301
Co-authored-by: micyael <micyael@noreply.dev.sp-tarkov.com>
Co-committed-by: micyael <micyael@noreply.dev.sp-tarkov.com>
2024-04-23 10:15:29 +00:00
Dev
57557d6063 Migrate loot generation code to use per-map static data - ONLY WORKS WITH CUSTOMS (other maps to follow later) 2024-04-23 10:27:09 +01:00
Dev
a4bb5a2f60 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV 2024-04-23 10:03:48 +01:00
Dev
8366dd355d Added logging to removeRandomItemFromAssorts() when no upd object found 2024-04-23 10:01:41 +01:00
Dev
d2cf495426 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-23 09:34:58 +01:00
Dev
f82cbc189b Improved how drawAmmoTpl() handles bad static ammo distribution data input 2024-04-23 09:34:01 +01:00
Refringe
01d97953fa
Fixes Linting Issues
Fixes a number of Biome linting issues:
- Variable implicitly has the any type.
- Use a function type instead of a call signature.
- Reassigning a function parameter is confusing.
- Suppression comment is not being used
2024-04-22 23:43:35 -04:00
Refringe
a572e8e67e
Runs Style Fix 2024-04-22 15:53:07 -04:00
Dev
be841fbe3f Improved handling of a missing updobject inside removeRandomItemFromAssorts() 2024-04-22 17:54:32 +01:00
Dev
fe7d09e075 Improved logic inside isModValidForSlot() to better handle edge cases 2024-04-22 09:39:32 +01:00
Dev
e3bb1932ff Fixed server type generation command not working 2024-04-21 16:23:39 +01:00
Dev
8e8df89434 29774 2024-04-21 11:39:15 +01:00
Dev
fc544379e4 29774 - Update JSONs 2024-04-21 11:31:41 +01:00
Dev
2bfa9ab40c Revert changes to file 2024-04-21 10:28:53 +01:00
Dev
bba169127c Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.9.0-DEV
# Conflicts:
#	project/assets/configs/bot.json
#	project/assets/configs/core.json
#	project/assets/database/bots/types/arenafighterevent.json
#	project/assets/database/bots/types/assault.json
#	project/assets/database/bots/types/bear.json
#	project/assets/database/bots/types/bossboar.json
#	project/assets/database/bots/types/bossboarsniper.json
#	project/assets/database/bots/types/bossbully.json
#	project/assets/database/bots/types/bossgluhar.json
#	project/assets/database/bots/types/bosskilla.json
#	project/assets/database/bots/types/bossknight.json
#	project/assets/database/bots/types/bosskojaniy.json
#	project/assets/database/bots/types/bosskolontay.json
#	project/assets/database/bots/types/bosssanitar.json
#	project/assets/database/bots/types/bosstagilla.json
#	project/assets/database/bots/types/bosszryachiy.json
#	project/assets/database/bots/types/exusec.json
#	project/assets/database/bots/types/followerbigpipe.json
#	project/assets/database/bots/types/followerbirdeye.json
#	project/assets/database/bots/types/followerboar.json
#	project/assets/database/bots/types/followerboarclose1.json
#	project/assets/database/bots/types/followerboarclose2.json
#	project/assets/database/bots/types/followerbully.json
#	project/assets/database/bots/types/followergluharassault.json
#	project/assets/database/bots/types/followergluharscout.json
#	project/assets/database/bots/types/followergluharsecurity.json
#	project/assets/database/bots/types/followerkojaniy.json
#	project/assets/database/bots/types/followerkolontayassault.json
#	project/assets/database/bots/types/followerkolontaysecurity.json
#	project/assets/database/bots/types/followerzryachiy.json
#	project/assets/database/bots/types/gifter.json
#	project/assets/database/bots/types/marksman.json
#	project/assets/database/bots/types/peacefullzryachiyevent.json
#	project/assets/database/bots/types/pmcbot.json
#	project/assets/database/bots/types/ravangezryachiyevent.json
#	project/assets/database/bots/types/sectantpriest.json
#	project/assets/database/bots/types/sectantwarrior.json
#	project/assets/database/bots/types/shooterbtr.json
#	project/assets/database/bots/types/usec.json
#	project/assets/database/globals.json
#	project/assets/database/locales/global/ch.json
#	project/assets/database/locales/global/cz.json
#	project/assets/database/locales/global/en.json
#	project/assets/database/locales/global/es-mx.json
#	project/assets/database/locales/global/es.json
#	project/assets/database/locales/global/fr.json
#	project/assets/database/locales/global/ge.json
#	project/assets/database/locales/global/hu.json
#	project/assets/database/locales/global/it.json
#	project/assets/database/locales/global/jp.json
#	project/assets/database/locales/global/kr.json
#	project/assets/database/locales/global/pl.json
#	project/assets/database/locales/global/po.json
#	project/assets/database/locales/global/ro.json
#	project/assets/database/locales/global/ru.json
#	project/assets/database/locales/global/sk.json
#	project/assets/database/locales/global/tu.json
#	project/assets/database/templates/achievements.json
#	project/assets/database/templates/handbook.json
#	project/src/generators/BotLootGenerator.ts
#	project/src/generators/LootGenerator.ts
#	project/src/models/eft/common/tables/IBotType.ts
#	project/src/models/spt/bots/IBotLootCache.ts
#	project/src/servers/HttpServer.ts
#	project/src/services/BotLootCacheService.ts
#	project/src/services/FenceService.ts
#	project/tests/controllers/InsuranceController.test.ts
2024-04-20 23:29:54 +01:00
Dev
00691becd1 Add extra protection against null objects inside itemAllowedInContainer() 2024-04-20 20:33:36 +01:00
Dev
716df08983 Revert "Revert "Inverted check to allow correct server comms""
This reverts commit f873edb456.
2024-04-20 15:24:21 +01:00
Dev
5f9c51f1e3 Revert "Revert "Split out debug heading into 2 headers, one each for request/response""
This reverts commit 7fd9dadb13.
2024-04-20 15:24:07 +01:00
Dev
f63da802b2 Fix addPlayer not correctly assigning location value 2024-04-20 15:23:24 +01:00
Dev
7fd9dadb13 Revert "Split out debug heading into 2 headers, one each for request/response"
This reverts commit e2f3191212.
2024-04-20 14:19:35 +01:00
Dev
f873edb456 Revert "Inverted check to allow correct server comms"
This reverts commit 8bcb47b391.
2024-04-20 14:19:10 +01:00
Dev
8bcb47b391 Inverted check to allow correct server comms 2024-04-20 13:12:32 +01:00
Dev
ef65074dc3 Resolve server error inside removeRandomItemFromAssorts() when the item being processed has no upd object 2024-04-20 13:05:44 +01:00
Dev
b8b72e593d Added nullguards insode addPlayer() to prevent server errors when profile not found or inraid object not found 2024-04-20 10:10:58 +01:00
Dev
e2f3191212 Split out debug heading into 2 headers, one each for request/response
0 = no zlib compression
1 = use zlib compression
2024-04-20 09:58:06 +01:00
Brent
df93245e9d Fix incompatible default mods being used in required slots (!299)
This prevents weapons from getting the default mods for their base preset when they won't fit other required mods.

This was observed on the AK-74M, where the weapon generator would choose the VDM CS gas tube, which is incompatible with the default AK-74 polymer handguard (6P20 Sb.9).

When this occurs, the generator will bypass the default mod selection and instead choose from the loot pool assigned to the handguard in the bot configs.

https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/596

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/299
Co-authored-by: Brent <wiggyvidyadev@gmail.com>
Co-committed-by: Brent <wiggyvidyadev@gmail.com>
2024-04-18 14:29:16 +00:00
Dev
b305ffdc24 Add currency to generation configuration for each bot
Fix various missing properties in some bot jsons
2024-04-18 11:56:45 +01:00
DrakiaXYZ
0d553e8ea6 Move setting of the generated bools to inside the cache methods (!298)
Also make `generateDynamicPrices` public to match the static method, and allow mods to refresh the cache

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/298
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-18 07:55:39 +00:00
DrakiaXYZ
820a5caccb Bake build data directly into the executable (!297)
This is primarily to stop confusion when a user overwrites their `aki_data` folder with an old version, the data shown in logs/server console is now based on compile time data instead of runtime data.

- New build.json file added to the `obj/ide/` folder that gets populated with the build data on build
- Moved asset copying prior to packaging, so that `obj/ide/build.json` is available at package time
- Updated all references of core.commit, and core.buildTime to use globalThis
- Updated all references of core.akiVersion to use globalThis with a fallback if not found (When running in VSCode for example)

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/297
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-18 07:54:16 +00:00
haze
688e2b77cd fix assort.json syntax inconsistencies (!296)
Two lines changed - removed two sets of quotation marks for int-typed variables

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/296
Co-authored-by: haze <haze@noreply.dev.sp-tarkov.com>
Co-committed-by: haze <haze@noreply.dev.sp-tarkov.com>
2024-04-18 07:51:40 +00:00
Brent
c71aaa7fb3 Use dynamic ragfair pricing for insurance deletion sorting (!294)
Change sort value for insured attachments to use dynamic ragfair prices.
Small change to method to return directly instead of setting passed-by-value parameter.

https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/618

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/294
Co-authored-by: Brent <wiggyvidyadev@gmail.com>
Co-committed-by: Brent <wiggyvidyadev@gmail.com>
2024-04-17 13:10:43 +00:00
Dev
cd911bdd0d Enable forceStock for bloodhounds 2024-04-17 11:24:19 +01:00
Dev
6e3c312f8a Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-17 10:09:18 +01:00
Dev
d039d75b1d Increased chance basic ammo stack size will be found on assault scavs 2024-04-17 10:07:46 +01:00
DrakiaXYZ
acb02ed53d Update client/server/list to use the right backend ip (!295)
Update missed property to use new IP config value

Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/295
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-17 07:39:11 +00:00
Dev
0bc807a6b8 Added ability to send insurance mail after Labs raid via editing of labs `base.json/insurance property 2024-04-16 17:28:00 +01:00
Dev
f50a400cde Add missing validation checks to ammo cache generation for scav case 2024-04-16 16:05:33 +01:00
Dev
d609d4b41a Improved local request log handling 2024-04-16 15:53:54 +01:00
Dev
4e936572e5 Update filterInsuredItems() to log when insurance items are found 2024-04-16 10:57:27 +01:00
Dev
62a0731cd1 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-16 09:57:45 +01:00
Dev
82d568a428 Cleaned up findAndAddRandomPresetToLoot()
Added nullcheck for an empty presetPool parameter

Cleaned up comments where possible
Cleaned up variable names where possible
2024-04-16 09:57:19 +01:00
Brent
c2b376e697 Add missing weapons to WeaponType enum, fix assort comments (!292)
Added RSh-12 and 40mm GLs to WeaponTypes.ts
Fixed incorrect comments on assort functions

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/292
Co-authored-by: Brent <wiggyvidyadev@gmail.com>
Co-committed-by: Brent <wiggyvidyadev@gmail.com>
2024-04-16 07:34:08 +00:00
chomp
1cb6859f2f Merge pull request 'Fix issue 627, limit Reshala and Sanitar keys' (!293) from Brent/Server:server_3_8_1_issue627 into 3.8.1-DEV
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/293
2024-04-16 07:17:03 +00:00
DrakiaXYZ
521cf51f0e Fix multiple server instances overwriting profiles with old data (!291)
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/291
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-04-16 07:15:49 +00:00
Brent
5026dc13ab Fix issue 627, limit Reshala and Sanitar keys 2024-04-16 00:47:42 -04:00
Dev
e2492e9162 Update quest data 2024-04-15 15:04:22 +01:00
Dev
82003b24ff Update JSONs for 29704
MISSING:
quests
trader assorts
usec ragman clothing
2024-04-15 14:39:49 +01:00
Dev
ffbeefba6f Allow 3.8.0 mods to load into 3.8.1 with warning 2024-04-15 14:12:16 +01:00
Cj
37ec7bc9d1 Type fixes (!290)
Adds missing weapon and ammo types to enums for generated types.

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/290
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-04-15 12:47:44 +00:00
Dev
5b13e1b7c0 29704 2024-04-15 11:47:49 +01:00
Dev
29ef7769ee Update akiVersion property inside core.json 2024-04-15 09:07:44 +01:00
Dev
9c81df91d1 Fixed itemDelivery() failing when trader lacks a dialogue object (incorrectly configured custom traders) 2024-04-15 09:06:11 +01:00
Dev
8cbc51d20e Revert "Merge branch '3.9.0-DEV' into 3.8.1-DEV"
This reverts commit 6121e65b4e, reversing
changes made to 10b1b2b3aa.
2024-04-15 09:00:52 +01:00
chomp
687436ab8b update 3.9.0 with 3.8.1 changes (!289)
Co-authored-by: Refringe <me@refringe.com>
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Terkoiz <terkoiz@spt.dev>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/289
2024-04-15 07:59:33 +00:00
chomp
6121e65b4e Merge branch '3.9.0-DEV' into 3.8.1-DEV 2024-04-15 07:57:24 +00:00
Dev
10b1b2b3aa Added nullguard when req.socket.remoteAddress is null inside handleRequest() 2024-04-15 00:06:53 +01:00
Dev
ad54e7ae98 Fixed itemAllowedInContainer() failing when filter object is null 2024-04-14 19:33:44 +01:00
Dev
d31eedf92b Fixed itemAllowedInContainer() failing when the filter or excluded filter objects are null 2024-04-14 19:32:11 +01:00
Dev
0d6239ea42 Added getActiveProfileIdsWithinMinutes() to ProfileActivityService 2024-04-13 23:04:17 +01:00
Dev
33496aa5c3 Merge branch '3.8.1-DEV' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.1-DEV 2024-04-13 12:47:12 +01:00
Dev
a9d89695f0 Added new service ProfileActivityService
Maintains a timestamp of when each profile was last active on the server.
Timestamp is refreshed on two events: `game/start and `game/keepalive`

Timestamp is used to determine if a profiles hideout should be processed. If a profile has a timestamp older than 90 minutes, it is not processed. (could be set lower but its a conservative value)
This has the side effects of not adjusting the `sptUpdateLastRunTimestamp` property, resulting in `saveProfile()` not running for every profile.

My testing shows a 20x perf increase for every profile in SPT not in use.

Service could likely be used in other scenarios to avoid doing unnecessary work
2024-04-13 12:46:43 +01:00
DrakiaXYZ
272050c7cf Fix some issues in the ProfileFixerService
- Allow fixing the profile even if it has no items in the inventory
- Refactor weapon build fixing so we can re-use it for equipment builds, switch both to be a .filter() call
- Add magazine build fixing, also as a .filter() call
- For any fix that iterates over an array and splices, use Object.entries to create an in-place shallow copy of the array, so we don't skip entries
- Reverse the order of the removeOrphanedQuests loop so we don't skip entries
2024-04-12 21:58:37 -07:00
Dev
73a1dd9511 Split out static/dynamic magazine fill options in config
set static mag fill to 0%
2024-04-12 23:05:27 +01:00
Dev
a33325cbf5 Revert change to minFillStaticMagazinePercent 2024-04-12 22:12:26 +01:00
Dev
765c2ae270 Only send failed message to player if failure message text length is great than 0 (after having whitespace trimmed) 2024-04-12 11:29:50 +01:00
Dev
364e590960 Improved logic for failing a quest - will never send a failed message for daily 2024-04-12 11:20:30 +01:00
Dev
9dc8211268 Refactored fence partial refresh code to be more generic and shared between normal/discounted assorts 2024-04-12 11:08:32 +01:00
Dev
a5924dbe0d Fix incorrect calculation for normal fence assort count 2024-04-12 10:36:24 +01:00
Dev
1c660fcf4e Reduced magazine fill size to 0 for static loot to match live 2024-04-12 09:50:37 +01:00
Dev
61d63d9ca6 Slightly reduce mp7a1/2 weighting on PMCs 2024-04-12 09:33:17 +01:00
Dev
d60cdb6be2 Separate out address used by backend to assist with users who have locked down local machines and cannot connect to a local http server
Remove unsed ip/port property assignment on server start that wasn't used anywhere
2024-04-12 09:27:15 +01:00
Refringe
8cf8688eba
Spelling Mistake 2024-04-11 21:18:38 -04:00
Refringe
0e63ced3ac
Test - Insurance - Updates for v3.8
- Updates the tests for insuranceController methods for v3.8
- Updates the profileInsurance fixture with updated insurance packages for v3.8
- Updated the profileInsurance factory to remove outdated references as of v3.8
2024-04-11 21:18:38 -04:00
Refringe
4a0d3c3487
Test - BotGenerator - Refactored
- Made the sessionId parameter for generateBotNickname optional and marked it as deprecated, to be removed in v3.9. It wasn't being used.
- Refactored the tests for the generateBotNickname method in the BotGenerator class. Mostly to bring it inline with v3.8 changes to the structure of botGenerationDetails.
2024-04-11 21:18:37 -04:00
Refringe
b59ffd8ff2
Test - InRaidHelper
- Removes tests for missing calculateFenceStandingChangeFromKills method
- Adds a test for the resetSkillPointsEarnedDuringRaid method
2024-04-11 21:18:36 -04:00