ATDT CALLER IDENTITY FIX - v0.3.3
--------------------------------
This build corrects the shared-character bug with ATDT BBS 1.7.6. ATDT writes
1 as the user record number on DOOR.SYS line 26 for every caller; the actual
caller handle is on line 10. Line 36 is blank. The previous Matrix reader
used record number 1 as the player-file key for everyone.

The updated door uses the line-10 name as the identity to verify. For callers
with record number 1, new player filenames are derived from the handle.
An existing DATA\P0000001.DAT is kept in place and selected only when its
stored handle matches the caller (case-insensitive). Every loaded character
is checked against the caller's full handle before play or recovery writes.
A filename hash collision with a different handle refuses access without
changing that character. Missing, incomplete, or invalid DOOR.SYS files stop
both MATRIX.EXE and COMMONS.EXE; they never silently select the local test user.
Explicit /LOCAL remains available for deliberate SysOp testing only.

UPGRADE THIS BUILD
1. Close ALL Matrix/Commons/editor sessions and prevent new launches.
2. Back up the live DATA directory and configuration.
3. Replace MATRIX.EXE, COMMONS.EXE and EDITOR.EXE together from this package.
   MATRIX.MAP may also be replaced. The editor was rebuilt; its binary is
   unchanged from the preceding gambling-limit build because its linked code
   does not use the caller-launch path.
4. Keep MATRIX.CFG, DATA and ENEMIES.DAT/BAK. Do not reset the game or rename
   P0000001.DAT. No configuration setting is needed for this fix.
5. Re-enable access and test your login plus a second, different ATDT handle.
   Your matching existing character should retain its progress; the other
   caller should create/load their own character.

Do not rename a character's handle in the editor independently of its BBS
identity. BBS handle changes require SysOp data review. Caller names longer
than 35 characters or containing non-ASCII/control bytes are rejected instead
of silently truncating identities. A hash collision or damaged legacy record
requires SysOp review; do not delete files merely to bypass that warning.

This fix cannot undo purchases/combat or other progress already performed by
the wrong caller before the fix. Restore from your own backup if needed.
Version is now v0.3.3; the centered splash version is preserved. Seven guesses,
three daily gambling games by default, and disconnect wager accounting remain.

