3 Server FFXIV Sapphire
official-markus-maurer edited this page 2026-07-16 11:57:15 +02:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FFXIV — Sapphire

Field Value
Internal ID ffxiv-sapphire
Upstream SapphireServer/Sapphire
Preserved mirror MMO-Preservation/preservation-sapphire, eac3c982930578977b745dfeba2778ffa83e3237
Manager module gsm-mod-sapphire
Support status Supported
Client requirement SqPack tree matching the servers configured data version
Manager default snapshot 2016.07.05.0000.0001 path convention; verify against the pinned server revision
Database MariaDB/MySQL-compatible
Runtime lobby, api, and server processes in tmux
Default installation /opt/gsm/servers/sapphire
Shared client assets /opt/gsm/assets/ffxiv/clients/<game-version>/game/sqpack
Preservation level P1 source captured and bundled; client mapping unverified
Owner Ryuu
Last documentation review 2026-07-16
Runtime verification Not completed — #4

Preserve together

  • Complete upstream Git mirror, submodules/LFS if present, and dated bundle.
  • Client SqPack snapshot ID, ffxivgame.ver, recursive manifest, and access classification.
  • Expected data version from the pinned server revision.
  • Build toolchain, database migration/DBM state, navigation data generation procedure, and configuration templates.
  • Launcher/client endpoint configuration and a clean user-data procedure.

Client-data contract

The server and client data version must match. The manager keeps the complete SqPack tree, including expansions, under a versioned shared asset directory and checks the adjacent ffxivgame.ver before safe start.

The shared asset tree is a derived operational copy, not necessarily the canonical preserved client. It must point back to a client artifact ID and checksum manifest.

Known constraints and risks

  • Existing retail FFXIV data in the user profile can cause client crashes. Preserve a clean, sanitized user-data recipe, not a maintainers personal profile.
  • The API historically expects a low HTTP port; granting capabilities or exposing port 80 is security-sensitive.
  • Database security is limited. Use disposable credentials and loopback-only exposure by default.
  • Database liquidation is destructive and requires a pre-action backup and explicit confirmation.
  • Modern SqPack schema compatibility changes around repository updates must remain reversible and tested.

Baseline verification

  1. Restore the pinned source and build dependencies.
  2. Restore/import a verified client-derived SqPack working tree.
  3. Confirm ffxivgame.ver and server expected data version match.
  4. Build and copy required runtime files.
  5. Initialize/migrate a fresh database and apply configuration.
  6. Start lobby, API, and server processes with safe-start checks.
  7. Use a sanitized client working copy to reach the agreed login/world milestone.
  8. Record checksums, database migration level, port exposure, logs, and result.

Open preservation work

  • Pin verified server revisions to exact client data versions.
  • Preserve the full build toolchain and navigation generation dependencies.
  • Document clean client user-data creation and endpoint configuration.
  • Validate migration and rollback across preserved revisions.
  • Complete an offline restore test.

Live tracking

  • Revision/data-version preservation gap: #4
  • Controlled compatibility experiments: #11
  • Mirror and bundle verification: #2