3 Commits
Author SHA1 Message Date
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