Commit Graph

2312 Commits

Author SHA1 Message Date
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
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
chomp
0fb845c370 Merge pull request 'Fix some issues in the ProfileFixerService' (!288) from DrakiaXYZ/Server:fix-profilefixer-builds into 3.8.1-DEV
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/288
2024-04-13 07:36:20 +00: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
Refringe
5aebbb9c86
Test - ItemHelper - 3.8 Refactor
- Removes unused code from getRepairableItemQualityValue in itemHelper
- Updated tests for getRepairableItemQualityValue to no longer assume a special calculation for armour
- Added tests for adoptOrphanedItems (moved from insuranceController)
2024-04-11 21:18:36 -04:00
Refringe
7d3eaf735a
Test - PaymentService - Refactored payMoney test
Refactored the payMoney test to work with 3.8. The output is no longer returned, but updated by reference.
2024-04-11 21:18:35 -04:00
Dev
fe7ef06c6c Dont force regen stims into PMC secures, may cause problems 2024-04-11 16:29:52 +01:00
Refringe
1cd4b055eb
Test - Updates ItemBaseClassService tests to inline with recent code changes 2024-04-10 23:16:04 -04:00
Refringe
c123c034cf
Test - Updates ItemHelper Tests
- Removes tests for a method that no longer exists: `generateItemsFromStackSlot`
- Updates a test to use a mock to ensure test data reliability
2024-04-10 23:13:46 -04:00
Refringe
0ec0b7a40c
Test - Updates fromRUB tests to use mocks 2024-04-10 23:10:17 -04:00
Refringe
68c2358b08
Test - Adds missing property to mock of BotGenerationDetails 2024-04-10 23:07:41 -04:00
Refringe
85aec72a63
Test - Updates the experince needed to reach level 79 2024-04-10 23:06:40 -04:00
Refringe
dfaed660ed
Workflows - Minor Formatting 2024-04-10 19:56:01 -04:00
Refringe
eb57a5e01f
Workflows - Fixes Fix Instructions 2024-04-10 19:47:11 -04:00
Refringe
2b50b29db2
Adds Lint & Style Workflows 2024-04-10 19:29:20 -04:00
Refringe
a331ab608d
Test Workflow - Cache NPM Dependencies 2024-04-10 18:42:58 -04:00
Dev
e48362ae6e Added setting to allow/deny player wiping a profile via launcher - default true 2024-04-10 22:49:26 +01:00
Refringe
adc71829f3
Test Workflow - Update Workflow Job Name 2024-04-10 16:51:49 -04:00
Refringe
87877187b0
Test Workflow - List LFS Files & Update Project Path 2024-04-10 16:48:45 -04:00
Refringe
74ff13068d
Test Workflow - Hardcode Repo & Update SHA Name 2024-04-10 16:46:05 -04:00
Refringe
3ecd4f39f7
Test Workflow - Drops Checkout Action
This removes the actions/checkout action. It wasn't pulling down LFS files properly. We're doing it manually now.
2024-04-10 16:30:11 -04:00
Refringe
90cec27718
Uses Image With LFS For Test Workflow
Apparently you need LFS to run LFS. 🤦
2024-04-10 16:07:30 -04:00
Refringe
a51ef26dae
Tests Workflow - Pull LFS Files
This pulls down the server git lfs files for the test.
2024-04-10 16:02:18 -04:00
Refringe
ed858626b1 Merge pull request 'Small adjustment to PMC names' (!285) from feat/small-pmc-names-adjustment into 3.8.1-DEV
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/285
2024-04-10 19:53:22 +00:00
Refringe
7e0623359d Merge branch '3.8.1-DEV' into feat/small-pmc-names-adjustment 2024-04-10 19:42:40 +00:00
Refringe
a76dfcc029
Fixes Tests Workflow For Real
Can't use `npm ci`. Forgot that we removed the package lock file. Also updated the working directory path.
2024-04-10 15:37:09 -04:00
Refringe
94b7d31bc8
Fixes Tests Workflow
Apparently we need node to run node. 🙄
2024-04-10 15:32:39 -04:00
Refringe
9069de76af
Run Tests Workflow
This is a Gitea workflow that runs the test suite after a commit or PR.
2024-04-10 15:26:20 -04:00
Terkoiz
6f98d0c696 Fixed bad name 2024-04-10 21:38:25 +03:00
Terkoiz
341a99f883 Adjusted PMC names list 2024-04-10 21:30:50 +03:00