# BNO Legacy Archive

Consolidated source, binaries, server state, and assets for **Brand New Online** (BNO) — Game Maker 5.3a–era multiplayer game (2008–2014), plus its abandoned Unity port (2014–2017) and Maya asset pipeline.

Pulled from two machines (local + `enlyzeam`) over the voidtools Everything HTTP/ETP servers on 2026-05-01. Total: **778 MB / 7958 files**, 0 fetch failures.

## Layout

```
legacy/
├── open-source-release/         22 MB — canonical 2014 public drop (Master 5-4a + Client 5-8)
├── open-source-release-extras/  9 MB  — sibling files: Client 5-8 dup, Game Maker 5.3a IDE installer
├── source-archive/              269 MB — full GM source/binary version history (Client v1→5-7, Master v1→5-3) + sprites/PSDs
├── servers/                     115 MB
│   ├── enlyzeam-current/        E:\GM Games\BNO_Server (2021 refresh; most-recent user data + msg-board logs)
│   ├── enlyzeam-archive/        D:\BNO_Server (older snapshot, ~2013–2017)
│   └── local-current/           E:\BNO Official Server (FRAGZON; run more recently, but missing logs)
├── unity-project/               324 MB — Unity port (Assets, csproj, APKs, full Library cache). Abandoned 2017-05.
├── maya-project/                39 MB — megaman rig + anim, tile library, env renders. 2014–2016.
├── audio/
│   ├── quotes/                  Brandon Smith — "Zig Zag or Joog Jaug.mp3"
│   └── bno-songs/               10 MIDI files (MMBN3/4/5 themes, exe themes, cyberworld)
├── .mirror.js                   provenance: original mirror script
├── .mirror-fix.js               provenance: source-archive refetch (initial query missed name-less files)
└── .mirror-report.json          per-bucket fetch results
```

## Provenance — what came from where

| Bucket | Source machine | Source path |
|---|---|---|
| `open-source-release/` | enlyzeam | `D:\Dropbox\Original BNO Files\BNO (Open-Source Release)\` |
| `open-source-release-extras/` | enlyzeam | `D:\Dropbox\Original BNO Files\` (sibling files) |
| `source-archive/` | enlyzeam | `E:\GM Games\Old GM Games\` (BNO + BNO_Server + loose `BN Online *` files) |
| `servers/enlyzeam-current/` | enlyzeam | `E:\GM Games\BNO_Server\` |
| `servers/enlyzeam-archive/` | enlyzeam | `D:\BNO_Server\` |
| `servers/local-current/` | local | `E:\BNO Official Server\` |
| `unity-project/` | enlyzeam | `D:\Dropbox\Brand New Onlinegame\BNO Unity Project\` |
| `maya-project/` | enlyzeam | `D:\Dropbox\Brand New Onlinegame\BNO Maya Project\` |
| `audio/quotes/` | enlyzeam | `E:\lib-o-tunes\Music\Brandon Smith\BNO Quotes\` |
| `audio/bno-songs/` | local | `E:\zAnime\Documents\Google Talk Received Files\BNO songs\` |

Dedup decisions:
- enlyzeam `D:` and `E:` mirror each other for `Old GM Games\BNO` (2021 refresh). Only the `E:` copy was pulled.
- Local `BACKUP - Decicomp Q2-10/Q3-12/Q4-09/H&M 2008` snapshots were skipped — fully subsumed by enlyzeam OSR + `Old GM Games`.
- Local `iTunes` BNO Quotes copies (×3) skipped — same single mp3 as `audio/quotes/`.
- Local `Songs Backup\BNO Vid 1 - Getting Started.mp3_data` (211 MB ACID Pro scratch temp) skipped per scope.

## Version history at a glance

All sources/binaries live under `source-archive/` (early history) and `open-source-release/` (final builds). Versions in chronological order:

| Date | Track | File | Where |
|---|---|---|---|
| 2008-02-07 | Client v1 | `BN Online Client.gmd` | `source-archive/` |
| 2008-02-10 | Master v1 | `BN Online Master.gb1` | `source-archive/` |
| 2008-02-17 | Master v2 | `BN Online Master 2.exe` | `source-archive/` |
| 2008-02-21 | Master v2 | `.gmd/.gb1` | `source-archive/BNO_Server/` |
| 2008-02-26 | Master v3 | `.gmd/.gb1` | `source-archive/BNO_Server/` |
| 2008-02-28 | Client v3, v4 | `.gmd/.gb1`, v4 `.exe` | `source-archive/` |
| 2008-05-01 | Master v4-5 | interim `.gmd` | `source-archive/BNO_Server/` |
| 2008-05-15 → 31 | Master v4 | rebuilt as BNO_Server | `source-archive/BNO/BNO_Server/` |
| 2009-04 → 09 | Client v5 → v5-5, Master v5 → v5-3 | many builds + sources | `source-archive/BNO/` |
| 2009-09-04 | Master 5-2 DEBUG | last debug build | `source-archive/BNO/BNO_Server/` |
| 2009-10-06 | Master v5-3 | last 2009 release | `source-archive/BNO/BNO_Server/` |
| 2010-03-27 | Client v5-6 / 5-6 TSide Revamp / 5-7 | trio | `source-archive/BNO/` |
| 2014-12-14 | **Master 5-4a + Client 5-8** | **final canonical builds** | `open-source-release/` |

Master `5-4` source (`.gmd`) only exists in `open-source-release/` (paired with the `5-4a` binary). Client `5-8` source only exists there too.

## Networking

`39dll.dll` — Game Maker TCP/IP DLL ([39dll](https://www.gmlscripts.com/forums/) / 39ster). The transport layer for all client↔server traffic. Present in `open-source-release/`, `servers/*/`, and `source-archive/`.

Wire protocol opcodes documented in `open-source-release/BN Online Message ID's Table.xls`.

## Server admin

- `,ServerCommands.txt` (in `open-source-release/`) — keybind reference: Ctrl+E to exec clipboard code, Ctrl+Q to inspect chat-bar var, Ctrl+9 player context menu, Ctrl+M view message boards, etc.
- `Ctrl+O Codes.txt` — additional operator codes
- `Server Saver.exe` + `Crasher (Test With Server Saver).exe` — server watchdog + accompanying test crasher

## Key creator note (verbatim)

`servers/enlyzeam-current/,2021_Note_About_Sources.txt`:

> This directory was duplicated in 2021, sourced from `UHREMUARRE/BNO_Server/`. UHREMUARRE is a 2TB drive that contains the merged contents of both UHREMPLISE and CRODUARRE. The latest server and client versions here were sourced from the late-2014 "BNO Open Source Project".
>
> - `UHREMUARRE/BNO_Server/` seems to have the most up-to-date user data and message board logs (from when BNO was still maintained)
> - `FRAGZON/BNO Official Server/` has been run more recently, but is missing some message board logs (and maybe some user data)
> - The open source project wiped all historical message board logs and only has a couple notes from me (creator)

In this archive: UHREMUARRE = enlyzeam D:/E: → `servers/enlyzeam-archive/` + `servers/enlyzeam-current/`. FRAGZON = local E: → `servers/local-current/`.

## Unity port

`unity-project/` — Unity 5.x project (2014-12 → 2017-05, abandoned).
- 11 `.cs` scripts in `Assets/_Scripts/`
- 3 `.unity` scenes in `Assets/_Scenes/`
- 1 `.fbx` (megaman model from Maya pipeline)
- 2 prebuilt APKs (Android, ~22 MB each), 1 standalone `.exe` (16 MB), 138 MB of `.pdb` debug
- Tons of `*conflicted copy*` files from Dropbox sync wars
- Working title in csproj names: **"BNO Successor"**

The Maya assets in `maya-project/scenes/export_to_unity/` are the pipeline that fed this port.

## What's missing

- No git/SVN history. Versioning was filename-based (e.g. `5-2 DEBUG`, `5-6 TSide Revamp`).
- Open-Source Release wiped historical message board logs — `servers/enlyzeam-current/` retains the richest `MB_News` / `UserData` content if you need real-world examples.
- No formal protocol spec beyond the opcode `.xls` and `.gml` script comments.
- 5-4 client (`Client 5-4.gmd`) is 17.9 MB (asset bloat era, never compiled to `.exe` in any snapshot).

## Reproducing the pull

`.mirror.js` and `.mirror-fix.js` are the original Node scripts. They query Everything HTTP (port 80) on each host and fetch via `fs.copyFile` (local) or curl over Everything ETP (port 29) (remote). Both hosts must have Everything 1.5a running with HTTP + ETP servers enabled.
