mirror of
https://github.com/bdnugget/rs-sdk.git
synced 2026-11-07 09:07:30 +00:00
Rebases the vendored engine, content and webclient onto upstream's 289 branches (34 engine, 165 content, 9 webclient commits past our 274 base). Each vendor-289 branch in ../repos is upstream 289 plus one squashed "rs-sdk local mods" commit, refreshed from this tree first. 289 adaptations: - Protocol: 289 reshuffles every opcode. Custom MESSAGE_PUBLIC (server 255) and MARKET_SEARCH (client 243) are still free and kept. - Lite client: CLIENT_VERSION 289, UPDATE_INV_FULL size g1->g2 and UPDATE_INV_PARTIAL slot g1->gsmart, mirroring Client.ts. - Content ids: upstream appended configs where ours lived. GE interface moves 10984->11942 (through 12437), grand_exchange_booth 4671->5116, grand_exchange_teller 1359->1596 (m49_53.jm2 updated), pvp_death_mark varp 358->394. PlayerLoading moves a saved varp 358 value to pvp_death_mark (289's varp 358 is temp-scoped, so only pre-289 saves carry it). - GE loc/npc configs use 289's renamed model debugnames. - Engine: keep our Bun web split over upstream's new Fastify web.ts (no fastify/tsx deps), add OnDemand.onClientClosed to our WS close handler, keep our WSClientSocket API/batching and the 1s delayed close (TCP too). Adopt upstream's HashTable iterator fix, IPv6 player-loop key (with our NaN guard), chat effects 0-5, pointer-check removal. - Razmire building store keeps our 650 sell price with upstream's 4% haggle. - Tests: opcode assertions use ClientProt enums; hand-built inv packets use the 289 layout. PATCHES.md documents the new per-upgrade steps (custom id renumbering, lite decoder parity, opcode collision check). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
75 lines
2.1 KiB
JSON
75 lines
2.1 KiB
JSON
{
|
|
"name": "engine-ts",
|
|
"version": "1.0.0",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=24"
|
|
},
|
|
"imports": {
|
|
"#3rdparty/*": "./src/3rdparty/*",
|
|
"#/*": "./src/*",
|
|
"#tools/*": "./tools/*"
|
|
},
|
|
"scripts": {
|
|
"build": "bun run tools/pack/Build.ts",
|
|
"clean": "bun run tools/pack/Clean.ts",
|
|
"db:migrate": "bun run tools/server/prisma-multi.ts migrate deploy",
|
|
"db:reset": "bun run tools/server/prisma-multi.ts migrate reset --force",
|
|
"db:schema": "bun run tools/server/prisma-multi.ts migrate dev",
|
|
"dev": "bun run --watch src/app.ts",
|
|
"friend": "bun run src/friend.ts",
|
|
"hiscores": "bun run src/hiscores.ts",
|
|
"lint": "eslint --no-warn-ignored src tools",
|
|
"logger": "bun run src/logger.ts",
|
|
"login": "bun run src/login.ts",
|
|
"prepare": "husky",
|
|
"quickstart": "bun run src/app.ts",
|
|
"setup": "bun i && bun run src/setup.ts",
|
|
"sqlite:migrate": "prisma migrate deploy --schema prisma/singleworld/schema.prisma",
|
|
"sqlite:reset": "prisma migrate reset --force --schema prisma/singleworld/schema.prisma",
|
|
"sqlite:schema": "prisma migrate dev --schema prisma/singleworld/schema.prisma",
|
|
"start": "bun install && bun run src/app.ts"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,ts}": [
|
|
"prettier --write",
|
|
"eslint --no-warn-ignored"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@isaacs/ttlcache": "2.1.5",
|
|
"@jimp/js-png": "1.6.1",
|
|
"@jimp/plugin-quantize": "1.6.1",
|
|
"@lostcityrs/runescript": "0.9.7",
|
|
"bcrypt-ts": "9.0.2",
|
|
"ejs": "6.0.1",
|
|
"fflate": "0.8.3",
|
|
"jimp": "1.6.1",
|
|
"kleur": "4.1.5",
|
|
"kysely": "0.29.5",
|
|
"mysql2": "3.23.3",
|
|
"node-forge": "1.4.0",
|
|
"prom-client": "15.1.3",
|
|
"ws": "8.21.3"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "10.0.1",
|
|
"@types/bun": "latest",
|
|
"@types/ejs": "3.1.5",
|
|
"@types/node": "^24",
|
|
"@types/node-forge": "1.3.14",
|
|
"@types/ws": "8.18.1",
|
|
"eslint": "10.8.1",
|
|
"globals": "17.10.0",
|
|
"husky": "9.1.7",
|
|
"lint-staged": "17.3.0",
|
|
"prettier": "3.9.6",
|
|
"prisma": "6.19.3",
|
|
"prisma-kysely": "2.3.0",
|
|
"typescript-eslint": "8.67.0"
|
|
},
|
|
"peerDependencies": {
|
|
"typescript": "^5"
|
|
}
|
|
}
|