5 Commits
Author SHA1 Message Date
max bittkerandClaude Opus 5.5 8601955cfb Upgrade LostCity from revision 274 to 289
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>
2026-10-09 00:53:05 -04:00
max bittkerandClaude Opus 4.8 f88ccb5e06 Update vendored content to latest upstream 274 (~60 commits)
Rebased onto LostCityRS/Content origin/274 tip 85d62c8bd. Clean rebase —
our content mods are purely additive so no conflicts. Brings quest fixes
(Eadgar's Ruse, Regicide, trolls), shop/spawn/sound corrections, Mort
Myre creepy crawlies, gamesroom challenge rooms, treasure trail fixes,
map changes, and more.

Note: map .jm2 changes may shift collision — regenerate
sdk/collision-data.json from prod after deploy if bots path oddly.
Vendor branch: ../repos/content vendor-274.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 23:18:43 -04:00
max bittkerandClaude Opus 4.7 127030dc62 Upgrade LostCity from revision 254 to 274
Updates all three vendored upstream repos (Engine-TS, Content, Client-TS) to the
274 game snapshot with all rs-sdk modifications re-applied via a 3-way merge
(254 base + local mods, replayed onto upstream 274).

## Engine
- Bump @2004scape/rsbuf 254.1.0 -> 274.1.0 (keep rsmod-pathfinder fork pin)
- Adapt to 274's nested WorldConfig: Environment.ts now exposes flat back-compat
  aliases (WEB_PORT, NODE_ID, ...) plus the rs-sdk-only keys the bot framework
  uses, and createDefaultWorldConfig carries our defaults (xpRate 25, web.port 8888)
- Collision export (web/pages/api.ts) reads 274's in-engine TS routefinder instead
  of the dropped @2004scape/rsmod-pathfinder WASM, which the engine no longer feeds
- Remove dead GameMap.findLongPath (274 routefinder has no long-path variant; the
  SDK does long-distance pathfinding client-side)
- Re-apply security/login mods (sdk_auth, IP login tracking, login-takeover, banned
  usernames, no dev staffmodlevel on non-prod) onto 274's auth refactor
- Add MESSAGE_PUBLIC server packet at the free opcode 255 (254's 81 is now OBJ_ADD)
- NODE_WS_ONDEMAND now defaults on: the 274 web client streams on-demand assets over
  the game WebSocket and otherwise stalls at ~60% on load

## Content
- Full 254->274 content update with our 4 script/config patches re-applied
- worldmap.jag regenerated for /mapview from the 274 maps (via engine build)

## Webclient
- Rebuild standard + bot + viewer bundles; CLIENT_VERSION 274
- ServerProt: keep 274 opcodes, add MESSAGE_PUBLIC=255 with -1 size table entry
- Replace removed Packet.pIsaac() calls with 274's p1Enc()
- Disable terser property mangling (274 enabled it): the bot framework accesses
  client members by name from bot.ejs / the Puppeteer harness

## SDK
- Regenerate sdk/collision-data.json from 274 maps (905k -> 958k tiles)

## start.ts
- Add 274 to the version menu

Verified end-to-end: engine boots and loads 274 maps, content packs, engine
typechecks clean, webclient builds, a headless bot logs in, sdk.getState() returns
a complete snapshot, and bot.walkTo() pathfinds/moves on the regenerated collision
data. Map and hiscores sprites serve correctly.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 02:02:38 -04:00
max bittkerandClaude Opus 4.6 392487b6e0 Upgrade LostCity from revision 245.2 to 254
Updates all three upstream repos (Engine-TS, Content, Client-TS) to the
September 7, 2004 game snapshot with all rs-sdk modifications re-applied.

## New Game Content (254)
- Duel Arena — full PvP dueling with configurable rule sets
- Death Plateau quest — find a safe route past trolls in Burthorpe
- Troll Stronghold quest — infiltrate the stronghold to rescue Godric
- Quest journals — proper progress tracking for all quests
- Mime random event — emote-copying theater event
- Maze random event — navigate a maze to the center
- Varbit support — engine-level variable bit support
- Combat formula fixes and improvements
- New map areas around Burthorpe/Trollheim

## SDK & Engine Changes
- Regenerated collision data (+51k new tiles for 254 map areas)
- Fixed playerpositions API (World.playerLoop.all() for 254 HashTable)
- Updated StateCollector for 254 field renames (scene→world, varps→var,
  skillLevel→statEffectiveLevel, etc.)
- Re-applied all bot framework, auth, session, and hiscore modifications
- MapView: restored unified underground map, player tracking, wheel/touch
  zoom, trails, and teleport markers on 254 webclient API
- MapView: tighter region packing (underground overlaps overworld edge)
- Generated worldmap.jag for mapview

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 16:08:16 -04:00
max bittker 7ea422eed9 nest server files deeper 2026-02-07 13:05:54 -05:00