No description
  • JavaScript 66.3%
  • C++ 29.2%
  • CSS 2%
  • HTML 1.8%
  • GLSL 0.2%
  • Other 0.2%
Find a file
aria a4f2183d2c
Some checks are pending
acceptance / server-fast (push) Waiting to run
acceptance / acceptance-browser (push) Blocked by required conditions
Switch Berryworld to the UI entry and align tooling
This lands the current UI migration so the browser runtime and support flows all target the same app surface.
2026-04-13 19:02:32 -04:00
.github/workflows Harden reload commit semantics and document script runtime 2026-03-26 11:52:16 -04:00
client Switch Berryworld to the UI entry and align tooling 2026-04-13 19:02:32 -04:00
content-src Modernize client foundation and restore browser gate 2026-03-29 11:05:13 -04:00
docs Switch Berryworld to the UI entry and align tooling 2026-04-13 19:02:32 -04:00
legacy Initial Berryworld donor-port baseline 2026-03-25 19:29:16 -04:00
server Switch Berryworld to the UI entry and align tooling 2026-04-13 19:02:32 -04:00
tools Switch Berryworld to the UI entry and align tooling 2026-04-13 19:02:32 -04:00
.gitignore Add local dev helpers and untrack asset manifest 2026-03-25 23:27:34 -04:00
package-lock.json Modernize client foundation and restore browser gate 2026-03-29 11:05:13 -04:00
package.json Switch Berryworld to the UI entry and align tooling 2026-04-13 19:02:32 -04:00
README.md Add script-driven status runtime foundation 2026-03-26 03:05:43 -04:00

Berryworld

Berryworld is a rebooted attempt at combining rAthena and roBrowser into a mod-friendly MMORPG workspace with a web client and a reloadable server.

This repo starts from three hard constraints:

  • copy and trim the legacy JS client instead of redesigning it
  • do not build a thin compatibility shim around rAthena
  • design the new server around live reload and in-session iteration

Current Status

The repo is past pure planning/bootstrap.

Current implemented baseline:

  • copied donor web client boots locally
  • PostgreSQL-backed login, character select/create, and map entry
  • prt_monk home-base slice with one donor-grounded Kafra NPC
  • walk, public chat, storage deposit/withdraw with reconnect persistence
  • authored content compile/publish pipeline plus live content reload
  • authored berry item effects with live post-reload behavior
  • second-client verification for same-map peer appearance updates

The old failed attempt lives at ../berryworld-wreckage.

Initial Layout

  • docs/: architecture decisions and phased execution plan
  • docs/: canonical task list, architecture notes, and project rules learned the hard way
  • legacy/: frozen donor code will be placed here
  • runtime-assets/grf/: local GRF archives kept out of git

First Documents

  • docs/non_negotiables.md
  • docs/architecture.md
  • docs/reboot_plan.md
  • docs/todo.md
  • docs/current_gaps.md

Donor Sources

Planned donor imports:

  • legacy/rathena
  • legacy/roBrowserLegacy

These should stay frozen as reference/oracle material. New work belongs outside donor trees.