Final Fantasy XI
TecnologíaPort Nativo C/C++ (Reimplementación de Motor)
Disponible paraWindows, macOS
Ver proyecto oficialSobre el proyecto
Final Fantasy XI , inicialmente conocido como Final Fantasy XI Online, es un videojuego de rol multijugador masivo en línea desarrollado y publicado por Square como parte de la saga Final Fantasy. Fue lanzado en Japón para Sony PlayStation 2 el 16 de mayo de 2002, y para los computadores basados en tecnología de Microsoft Windows en noviembre de 2002. La versión PC fue lanzada en Estados Unidos en 28 de octubre de 2003 y la de PlayStation 2 en marzo de 23 de 2004. En Europa la versión Windows fue lanzada el 17 de septiembre de 2004.
Información oficial del proyecto
<a href="https://discord.gg/4vUKPgyvEp"><img src="screenshots/discord_banner.webp" alt="XI on Anything: join the community on Discord"></a>
[!IMPORTANT]
▶ To play, get the XI on Anything launcher
The launcher installs and updates everything for you. You don't need to build this repo to play. Paste into Terminal:
curl -fsSL https://raw.githubusercontent.com/rubymatrix/xi-on-anything/main/install.sh | bashNeeds an Apple silicon Mac (M1 or later), a Steam Deck or an x86_64 Linux PC, and your own copy of FINAL FANTASY XI. Other platforms: see Platforms. This repo is the source of the recompiler and game host, for anyone who wants to build it.
FINAL FANTASY XI running natively, with no Wine, Rosetta or Proton. The game's FFXiMain.dll
(and FFXi.dll) are statically recompiled from 32-bit x86 to C on your own machine, from your own
install, and run on a platform layer of our own: Win32, Direct3D 8 on Metal, Vulkan, Direct3D 12 or WebGPU, audio, input
and sockets. This repo holds the recompiler, its runtime, that platform layer, and host64, the
game host, with its own sign-in screen drawn in the game's UI art.
Works with LandSandBoat servers. Sign in with a username, password and one-time code, or a server launcher's token; pick the server in the sign-in screen's Settings.
Platforms
[!TIP] Find your platform, then follow its guide. Each one goes from nothing to the title screen.
| platform | status | how you get it | guide |
|---|---|---|---|
| macOS, Apple silicon | ✅ Supported | Launcher (the line above), or build from source | macOS |
| Steam Deck | ✅ Supported | Launcher (the line above, in Desktop Mode), played from Game Mode | Steam Deck |
| Linux, x86_64 | ✅ Supported | Launcher (the line above), or build from source | Linux |
| iPhone / iPad | ✅ Supported | Build on a Mac, install with a free Apple account | iPhone and iPad |
| Windows, x64 | ✅ Supported | Build from source (Visual Studio or llvm-mingw) | Windows |
| Web browser | 🧪 Experimental, self-hosted only | Build and host it yourself | Web browser |
| Xbox One / Series | 🧪 Experimental | Developer Mode, sideloaded | Xbox |
| Android, ARM64 | 🧪 Experimental (tested on a Pixel Fold) | Debug APK | Android |
| PS4 | 🧪 Experimental | Jailbroken console, fake PKG (branch port/ps4) | PS4 |
Every platform needs your own copy of the game (a FINAL FANTASY XI folder of a
supported build, with FFXiMain.dll and ROM in it)
and a LandSandBoat server to sign in to. What every platform has in common is in
docs/platforms.
What's better than the original
- A Modern page in the game's own Config menu, next to Gameplay, Windows and the rest:
- ambient occlusion, fog, god rays, bloom, color grading and sun shadows, each with a slider
- per-pixel lighting (off, sun only, all lights), sharpening and anti-shimmer
- texture filtering up to 16x, and longer draw and character distances
- 30 or 60 fps
- interface shape: full width, 16:9 or 4:3
- the occlusion check: off (everything counts as seen, the fastest) or exact
- Widescreen and ultrawide: the 3D view widens with the window instead of stretching a 4:3 view, the interface can stay 16:9 in the middle of an ultrawide, and nameplates keep their shape.
- A native sign-in screen in the game's own window themes and font, with the password kept in the system's password store (macOS Keychain, Windows Credential Manager, Linux Secret Service).
- DAT overlays for a server's own DATs, without touching the install.
- Ashita v4 and Windower 4 Lua addons, unmodified, without DLL injection (in progress).
- Discord Rich Presence: your character, jobs and zone on your Discord profile while you play, straight to the Discord app's local socket (no SDK, nothing to install).
Screenshots
<table> <tr> <td colspan="2"><img src="screenshots/titlescreen_uw.jpg" alt="Title screen at 3440x1440"></td> </tr> <tr> <td width="50%"><img src="screenshots/login.jpg" alt="Sign-in screen"></td> <td width="50%"><img src="screenshots/login_config.jpg" alt="Sign-in settings"></td> </tr> <tr> <td colspan="2"><img src="screenshots/graphics_options.jpg" alt="Config > Modern graphics options"></td> </tr> <tr> <td width="50%"><img src="screenshots/godrays.jpg" alt="God rays in Bastok Mines"></td> <td width="50%"><img src="screenshots/shadows_ao.jpg" alt="Sun shadows and ambient occlusion"></td> </tr> <tr> <td width="50%"><img src="screenshots/lighting.jpg" alt="Per-pixel lighting"></td> <td width="50%"><img src="screenshots/lighting2.jpg" alt="Per-pixel lighting and shadows"></td> </tr> </table>Documentation
| Platform guides | Step by step, for every platform |
| Installing | The launcher (macOS, Steam Deck, Linux) and the one-line source install |
| Building | Building by hand on macOS, Linux and Windows; Final Fantasy XI.app and its signing |
Running host64 | The sign-in screen, command-line options, DAT overlays, environment variables |
| Options catalog | Every setting, in game and out |
| Addons | Ashita and Windower Lua addons |
| Client versions | The supported builds, and adding a new one |
| iPhone and iPad notes, Web, Xbox, Android | Each port's developer notes |
| Replay scenes | Recorded scenes for performance tests |
| Repository layout | What lives where |
Rules
- No Square Enix bytes in this repo, ever. No retail DLLs, no unpacked images, no DAT files, and
no generated C. Generated code is derived from the game, so it is produced on the player's
own machine from their own install.
.gitignoreenforces the obvious paths; the rule applies everywhere. - What is committed: the recompiler, the runtime, the platform layer, tests, and per-build metadata: addresses and shapes only (function ranges, switch tables, tail jumps), keyed by the SHA-256 of the retail DLL. The supported builds are listed in Client versions.
- LandSandBoat packet captures are committed too, as the maintainers agreed: the replay suite's
recordings in
tools/replay/scenes/, so every machine and CI plays the same scenes. They are what a server sent, not game files.
License
MIT (LICENSE), for this repo's own code. third_party/ keeps its own licenses (stb: MIT or
public domain; SDL3: zlib; Mbed TLS: Apache-2.0). The license does not cover FINAL FANTASY XI:
no game files or code derived from them are in this repo, and what the tools produce from your
install (generated/, build/) is derived from Square Enix's work, for your own use only.