0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:50:43 -05:00

187 Commits

Author SHA1 Message Date
Chomp
5d23ab416f Added implementation for setClothing
Fixed incorrect return type for `getStorage`
2024-12-27 15:03:13 +00:00
Chomp
8dd490f92a Update location base JSONs + added new location property 2024-12-27 14:38:40 +00:00
Chomp
4ff4f63879 Expanded new endpoints 2024-12-27 13:38:16 +00:00
Chomp
a5fd699442 Stubbed out hideoutCustomizationApply event 2024-12-27 12:43:48 +00:00
Chomp
0d52a473c5 Stubbed out CustomizationSet event 2024-12-27 00:25:14 +00:00
Chomp
cbe69db50b Added new client/customization/storage endpoint 2024-12-26 23:02:37 +00:00
Chomp
089cf2f2b0 Updated JSONS and matching interfaces
updated ragman clothing

Updated quests

Updated trader assorts

Updated location servcies

Added new prestige data + new classes to handle new endpoints

Added new hideout customisation endpoint
2024-12-26 20:54:19 +00:00
0368a230fb
BunJS Runtime, Updated Build System, and... (#992)
This is a big one. 🔥

**Changes:**
- Targets next major release (v4.0.0)
- Switch runtimes from NodeJS to BunJS (bun.sh)
- Typescript library support moved to `ESNext`
- Typescript compile option `verbatimModuleSyntax` enabled
    - Updated all interfaces to be imported explicitly as types
- Strict mode enabled
- Reduces the number of tsconfig files
- Pins all dep packages to specific patch versions
- Includes Bun lock file in repo (doesn't cause issues like the
package-lock did)
- Replaces Gulp with a new Typescript based build system
- Adds `core-js` as a workaround for Bun not playing nice with
`reflect-metadata`
- Removes `pkg` and `swc` (Yay Bun!)
- Updated package scripts and entry point system to be more intuitive
- Updated VSCode workspace configurations
- Updated `.gitignore` to align with updated project structure
- Updated Biome configuration to align with updated project structure
- `Program.ts` - Removes call to set encoding on the process
- `global.d.ts` - Added underscores to build globals to match other
global names
- `JsonUtil.ts` - Replaced old `fixJson` package with newer `jsonrepair`
package
- `HashUtil.ts` - Replaced old `buffer-crc32` package with built-in
`node:zlib` package
- `DatabaseImporter.ts` - Updates database validation object to be flat,
where the keys are the relative path to the file
- `BunTimer.ts` - Adds an easy to use timer class that's compatible with
nanoseconds.

**TODO:**
- Look into mod loading. I think we use a TS transpiler for mods and I
believe that can be removed now.
- Bun includes a number of APIs that can be used in place of Node's
packages (built-in or otherwise); HTTP server, WebSocket server, File
IO, Hashing, File Globing, Testing... Each of these should be utilized
where ever possible.
- Update in-repo documentation to reference BunJS instead of NodeJS.
2024-12-21 22:46:39 +00:00
ef14ad27e1
Profile Backups (#983)
Here's a jumping off point for the profile backup feature. Included some
basic configuration options. Currently backup runs on server start-up
(before the profiles are loaded into memory) and on a configurable
interval.

I think it still needs work.
- [x] The folder name dates should be used to detect which old backups
should be removed
- [x] Not sure about the interval implementation...
- [x] Could make the clean method thinner
- [x] Remove VFS; I don't believe it's needed for copy operations
- [x] Save a list of active mods used by the backed up profiles

---------

Co-authored-by: Chomp <27521899+chompDev@users.noreply.github.com>
Co-authored-by: Chomp <dev@dev.sp-tarkov.com>
2024-12-14 10:20:45 +00:00
Chomp
85cdcd16c5 Removed unnecessary call inside deleteFriend() 2024-12-14 09:47:32 +00:00
DrakiaXYZ
4614c890a6 Implement basic friends list functionality
This commit implements basic friends list functionality including adding, auto accepting, and removing friends. As well as storing the list in the profile and providing the friends list back to the client on login.
This is a one-way implementation, the target profile will not have the source account added to its friends list.

This is primarily useful in combination with the recent favorites fixes, to allow users to inspect favorited weapons on other profiles to "copy" weapon builds between their profiles
2024-12-13 21:25:32 -08:00
Chomp
45d55ff307 Renamed function to match endpoint 2024-11-25 13:49:35 +00:00
Dev
0c5ecefc41 Refactored scavcase reward code to use correct data and interfaces 2024-11-20 09:48:42 +00:00
Dev
eafa390c72 Fixed survey not implemented errors 2024-11-18 10:13:47 +00:00
aed26ffcd3 Fix JSON parsing exception caused by double-encoding metrics data (!422)
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/Server#422
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
2024-11-03 23:14:47 +00:00
Dev
640460dad4 Fixed scav exfiltration from location failing due to client profile data being in different format 2024-11-03 19:55:37 +00:00
Dev
922adcfb5c Implemented pin/lock/free on inventory items 2024-11-01 10:01:26 +00:00
Dev
17215ba9d8 Stubbed out item pinning 2024-10-31 21:38:56 +00:00
Dev
3fa4c2f4c5 Expanded offraid healing to remove effects based on healing item used
Made it also heal damage taken
2024-10-24 12:27:06 +01:00
Dev
776f925d91 Updated interfaces to follow correct naming scheme 2024-10-19 12:43:38 +01:00
Dev
7330f6fb82 First pass at improving weather simulation logic 2024-10-17 00:57:33 +01:00
Dev
66c49dc9d8 Fixed getTraderSuits() not returning ragman clothing 2024-09-27 20:41:36 +01:00
Dev
80762d6a00 Handle changes to airdrop endpoint
Reworked airdrop loot generation to incorporate 'radar' drops

Added `forced loot` system to LootGenerator service, can now explicitly define what items it contains

Fixed airdrop system sending incorrect icon to client
2024-09-27 14:30:35 +01:00
Dev
454a71213f Updated JSONs and interfaces to match new patch 2024-09-26 17:28:23 +01:00
Dev
ab1422bc40 Updated interfaces to follow correct naming convention
Removed some interface duplication
2024-09-24 12:47:29 +01:00
Dev
bf39ed957e Cleaned up duplication in bot generation system
Added optional parameter to `cacheHasBotWithKey`

Removed params needed for calling `rollToBePmc`

Created `getMostRecentRaidSettings`
2024-09-23 23:01:47 +01:00
Dev
f52283f3b3 Removed server handling of PMC difficulty modification, is not handled natively
Inverted a few dependences
2024-09-18 10:41:03 +01:00
Cj
4139e85f1f Clothing service fix (!407)
Server implementation of my `TraderServiceFix` mod.

Since 3.9 trader services were refactored by BSG. Resulting in them hard coding service ID's. This PR allows modders to push their trader ID to the `TraderConfig.moddedTraders.clothingService` array. It is then sent to the client where it adds it to the dictionary. I made this modular with its own interface in-case it needs expanded on in the future. So the this acts as both a fix and a groundwork for similar future fixes if need be as well.

Needs merged with SPT/Modules#165

Co-authored-by: Cj <161484149+CJ-SPT@users.noreply.github.com>
Reviewed-on: SPT/Server#407
Co-authored-by: Cj <cj@noreply.dev.sp-tarkov.com>
Co-committed-by: Cj <cj@noreply.dev.sp-tarkov.com>
2024-09-04 08:31:15 +00:00
Dev
3a3a7b1026 Fixed item sell prices not varying per trader - client/items/prices/TRADERID endpoint requires prices to be altered by the traders sell coef (which is based on player loyalty level with said trader) 2024-09-01 15:04:59 +01:00
Dev
3d1aa5e4fc Removed unused singleplayer/settings/raid/endstate endpoint 2024-08-23 10:19:23 +01:00
Dev
6d7c4d95b6 Added further progress on cultist circle - now rewards items upon completion
Now handles `HideoutDeleteProductionCommand` event, Deletes sacrificed items on craft start
Set craft time to 30 secs for debugging
2024-08-22 17:48:39 +01:00
Dev
471c606e12 Updated production recipe interface to match live 2024-08-21 14:43:19 +01:00
Dev
726e4f4b2c Stubbed out HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START event 2024-08-21 13:36:51 +01:00
Dev
7be6b47e23 Fixed various Biome issues 2024-07-23 17:30:20 +01:00
5740774a46
Apply Biome Formatting
This is the result of running `npm run format` which applies the Biome formatting rules. Rejoice!
2024-07-23 11:12:53 -04:00
ed8dbbd195 Adds Biome - Removes ESLint & Prettier (!383)
Boogidy, boogidy, boogidy. Let's go racing! 🏎️

Removes the over-complicated and super-slow setup we had with ESLint & Prettier in favour of Biome. The largest change with the formatting is moving from Allman braces to 1TBS braces. Other than that, it's *pretty much* the same. Ah, and that Biome runs formatting and linting on the entire project about x10 faster than the old system ran formatting on one file. Seriously, the guy who came up with that last solution should be fired. :runs:

I've kept all of the formatting and linting commands the same as before, with the main mamma-jamma being: `npm run format`, which applies formatting and linting changes to the entire project.

Formatting-on-save works (quickly!) by (1) ensuring that you're working within the VSC workspace (as you should be), and (2) have the recommended Biome VSC extension installed. The link to the Biome extension is in the README.

This limits our options on code formatting going forward; Biome, like prettier, is very opinionated with very few formatting options available. But I see this as a good thing. I'd rather spend my time arguing about which gun in Tarkov is the best, rather than coding brace styles...

...It's the TOZ, and it always will be. Don't DM me.

Co-authored-by: chomp <chomp@noreply.dev.sp-tarkov.com>
Reviewed-on: SPT/Server#383
Co-authored-by: Refringe <me@refringe.com>
Co-committed-by: Refringe <me@refringe.com>
2024-07-22 21:15:57 +00:00
CWX
4eeedc4257 Removed unused code and repurposed save endpoint for scav profile saving 2024-07-12 16:29:21 +01:00
Dev
121387aa69 Deleted unused endpoints + code 2024-07-09 14:51:57 +01:00
Dev
1c601cc33e Removed unused endpoint + related service 2024-07-09 14:22:01 +01:00
18af98e86d Remove trailing spaces and fix isPlayerScav check to generate correct health pool 2024-07-09 10:25:24 +01:00
Dev
872212f651 Removed unused endpoint + config 2024-07-08 15:15:48 +01:00
Dev
57100544c9 Merge branch 'master' of https://dev.sp-tarkov.com/SPT/Server into 310-dev
# Conflicts:
#	project/assets/database/globals.json
2024-07-07 14:13:35 +01:00
fba0f4703a Setup route to allow switching of profile icon. (!369)
Reviewed-on: SPT/Server#369
2024-07-07 13:07:36 +00:00
Dev
ca52f6d549 Created new LocationLifecycleServiceservice. Moved raid start/end code into it.
Created temp `LegacyLocationLifecycleService` class to hold old raid start/end code until we can safely delete it
2024-07-06 14:36:48 +01:00
Dev
d71bf2c2c0 Removed dead endpoints 2024-07-06 13:47:56 +01:00
Dev
4cf1c10c51 Added IGetAirdropLootResponse 2024-07-06 12:59:47 +01:00
CWX
7d6721d47b update comment for airdrop enum, allow airdrop loot to work 2024-07-06 09:17:32 +01:00
CWX
264a8a06bd Merge branch '310-dev' of https://dev.sp-tarkov.com/SPT/Server into 310-dev 2024-07-05 19:21:25 +01:00
CWX
f7dce85e0b update endpoint for airdrop loot 2024-07-05 19:21:21 +01:00
Dev
31ba17a327 Added handling of BTR item delivery 2024-07-05 19:02:02 +01:00