mirror of
https://github.com/bdnugget/rs-sdk.git
synced 2026-11-07 17:17:29 +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>