Table of contents
Twin Saga / Astral Realm / Astral Tale — TW 012.1.01.49_8
| Field | Value |
|---|---|
| Internal ID | xlegend-astral-realm-tw-012-1-01-49-8 |
| Manager module | gsm-mod-xlegend |
| Profile | astral-realm-tw-012-1-01-49-8 |
| Regional titles | Twin Saga, Astral Realm, Astral Tale |
| Support status | Experimental |
| Preserved mirror | Exact supplied archives plus four hash-pinned compatibility sources under /opt/gsm/assets/xlegend |
| Preservation level | P1 server/database/configuration evidence and prepared schema; official client media recovered and extracted; matched-client P3 pending |
| Runtime verification | Preparation, database import, data assembly, and address-patch verification completed on Raspberry Pi 5 on 2026-07-16; game processes intentionally not started |
| Database | PostgreSQL; isolated xl_artw1249_* databases |
| Prepared release | /opt/gsm/servers/xlegend/releases/astral-realm-tw-012-1-01-49-8/server |
| Last documentation review | 2026-07-17 |
| Owner | Ryuu |
Profile identity and isolation
This profile preserves the exact older TW 012.1.01.49_8 Astral Realm/Astral Tale release. It is intentionally separate from the newer assembled astral-realm-v1249 profile and never substitutes binaries from that profile. Only verified non-binary configuration, service support files, NodeMap/scene data, and the missing member schema are added from pinned compatibility sources.
Select astral-realm-tw-012-1-01-49-8 in the manager. Preparing it creates or refreshes only its versioned release path and updates the mutable /opt/gsm/servers/xlegend/current link; immutable sources are never edited.
Supplied archive inventory
| Purpose | Archive | Size | SHA-256 | Preservation location |
|---|---|---|---|---|
| Exact server | AR-server_tw_012.1.01.49_8.tar.gz |
150,069,885 bytes | 45d150b07ad1de69910f57a51c935f410124c210c2346c1b528222b196119fb4 |
/opt/gsm/assets/xlegend/original/AR-server_tw_012.1.01.49_8.tar.gz |
| Account/game snapshots | Astral Realm-[RaGEZONE].rar |
215,587 bytes | 73c8d62898ad458d8c20bee4dade06bb81526be6c6fedb5768f8ae1bc2e7a28b |
/opt/gsm/assets/xlegend/original/Astral Realm-[RaGEZONE].rar |
| 20180525 InstallShield control media | drive-download-20260716T081404Z-1-003.zip |
4,346,337 bytes | 8db5ba565fb8f1e9ea6eb996be739d8a168070aed7a6ea3213cdf352c80c8e47 |
/opt/gsm/assets/xlegend/original/drive-download-20260716T081404Z-1-003.zip |
InstallShield data2.cab payload |
Preserved as data2-002.cab |
4,698,134,528 bytes | dd2510660ed94ee8dae6924aef6cd8687b46b407037d3228d188b30b0194443e |
client-twin-saga release branch |
InstallShield data3.cab payload |
Preserved as data3-001.cab |
4,442,307,923 bytes | 60a5408c15b372cb52ec5319aa1bb4760b8d87fcbcab7dd2897c23bb51ee3ad5 |
client-twin-saga release branch |
The server, database, and control archives are recorded in the X-Legend archive manifests and preserved read-only. The two large client volumes are split into SHA-256-verified Git LFS chunks on the client release branch; the manager also recognizes their original download names for verified transfer into the preservation store.
Four required compatibility sources
The manager refuses preparation if any of these sources is missing, corrupt, or has an unexpected hash.
| Role | Preserved file | SHA-256 | Original source |
|---|---|---|---|
| Top-level setup/configuration files | astral-config.zip |
b2971c9e8b1732d4915fe1071e90f002d990c90b1605650da55b74483c18e781 |
MEGA |
| Non-binary service support files | astral-subservers.zip |
906292ec0e24b8d17e1ebd5c544fcbf5409c11b1c04eb954148b82a1f264541a |
MEGA |
| NodeMap and scene compatibility data | astral-data.zip |
5492b3baea341678f73de55c267a7e8cce25bc4faa5569410cf1afbb53853d12 |
MEGA |
Missing FFMember snapshot |
astral-sql.zip |
0ae82edaf7636b155ada91b4e6f02db6bb44c794344e5dd7205f334126b639f0 |
MEGA |
Service executables from supplemental sources are not copied. The exact release keeps its own six Ticket, Gateway, Login, Mission, World, and Zone binaries. The prepared .gsm-astral-provenance file records every contributing archive and checksum.
Prepared data and database evidence
The assembled release contains:
- 748 files under
Data/NodeMap. - 1,178 files under
Data/scene. - Exact account/game snapshots from the supplied RAR plus the pinned member snapshot.
The isolated databases are:
| Role | Database | Verified public-table count |
|---|---|---|
| Game/world | xl_artw1249_world |
239 |
| Account | xl_artw1249_account |
25 |
| Member | xl_artw1249_member |
15 |
| Reserved profile databases | xl_artw1249_global, xl_artw1249_society |
Provisioned separately for compatibility; no table-count claim |
Imports are transactional and marked so rerunning the action is idempotent. PostgreSQL compatibility remains restricted to the selected role, the profile databases, and loopback.
Guarded embedded-address patch
The exact binaries contained seven occurrences of the original address 192.168.1.55. Configuration for the Pi changed only these verified four-byte fields to 192.168.1.69:
| Service | Offset |
|---|---|
| GatewayServer | 0x50243 |
| LoginServer | 0x49527 |
| MissionServer | 0x438b84 |
| TicketServer | 0xefbf |
| TicketServer | 0xf14f |
| WorldServer | 0x2dba28 |
| ZoneServer | 0x80e5e8 |
Each patch accepts only the known original bytes or the exact configured target and refuses any unknown binary layout. .gsm-patched-address prevents silently repatching a prepared release for a different address; reprepare the release before changing hosts or subnets.
Official client media recovery
The canonical official-tw-2018-05-25 branch records the media's verified identity.
The former installer-fragments-2018 name remains only as a stable legacy intake alias.
The control archive's list.txt identifies media 20180525 and requires:
| Required name | Required bytes | Preserved download name | Match |
|---|---|---|---|
data2.cab |
4,698,134,528 | data2-002.cab |
Exact byte count |
data3.cab |
4,442,307,923 | data3-001.cab |
Exact byte count |
Restoring those two verified artifacts under the required media names produces a
readable InstallShield set. It was extracted with Unshield 1.6.2 from upstream commit
cbed3d19ef9cdf4e5fb86b9d65e48f1bf8d539db plus the preservation project's
large-cabinet offset patch.
The patched extractor processed all 12,698 entries without an extraction error. Neither
setup.exe, Install.exe, nor any game executable was run. The extracted primary
targets retain valid X-Legend Authenticode signatures:
game.bin— native x86, version7.0.1.11, SHA-25604716bc45c8eed719556c9c3163899452904da2a0497406d47c25fe24abef562Launcher.exe— native x86, version1.1.1.4, SHA-2565bd0dbf535339727307320444ba6f200e3a57dd75ae243ca7546be479a88fae4
This proves that the preserved official client media is recoverable; it does not prove
protocol compatibility with the TW 012.1.01.49_8 server. Keep the profile Experimental
until login, character selection, and world entry are reproduced and logged.
Operational state and safety
- No X-Legend process or tmux session was started during this preparation/database verification milestone.
- No game boot unit exists; PostgreSQL remains disabled/manual at boot.
- The existing Sapphire tmux session and processes were not modified.
- The profile currently has a complete prepared server, imported isolated databases, and a recoverable official client, but no claim of client login, character selection, or world entry.
- The manager exposes the selected release's live
ZoneServer/GMCmd.inithrough Open - Astral Realm GM commands.
Implementation and validation
- Preservation, assembly, database import, guarded addressing, and service definitions:
gui/crates/gsm-mod-xlegend/src/scripts.rs. - Profile selection, warnings, and manager actions:
gui/crates/gsm-mod-xlegend/src/manifest.rs. - Windows controller upload with local/remote size and SHA-256 validation:
gui/tauri/src-tauri/src/commands/client_assets.rs.
Validation completed at this milestone:
- 12 ARM X-Legend module tests passed.
- 41 frontend unit tests and the production frontend build passed.
- ARM compilation completed successfully.
- Eight generated shell scripts passed Bash syntax validation.
- The Windows PowerShell uploader parsed successfully, including filenames with spaces and brackets.
- Final archive hashes, prepared marker, source provenance, database counts, and NodeMap/scene counts were rechecked on the Pi.
- The client media manifest, restored CAB names and sizes, patched Unshield extraction of all 12,698 entries, primary executable hashes, versions, and Authenticode signers were verified on the Windows preservation workstation on 2026-07-17.
References
Private Server Preservation
- Home
- Preservation Status
- Compatibility Matrix
- Ecosystem Map
- Vision and Scope
- Server Catalog
- Client Preservation
- Archive Layout
- Repository Mirroring
- Mirror Inventory
- Preservation Metadata
- Reverse Engineering
- Findings Log
- Bug Tracker
- Toolbox
- Reproducible Baselines
- Operational Runbooks
- Backup and Recovery
- Governance and Safety
- Contributing
- Templates
PrivateServer-RS preservation wiki · Originals remain immutable · Every artifact must be attributable and verifiable