![]() * Reimplement !unlockaction in Lua Rebased on upstream master * Unlockaction: display the action id that was unlocked * Reimplement GM speed in Lua * Fix warnings and errors * Run cargo fmt * Reimplement GM wireframe in Lua * Reimplement GM invis command, with a caveat It can't toggle the invis state yet, and I'm not sure where to update it. * Lua invis: add the gm_invisible toggle, but it still doesn't revert back to false... * Reimplement GM aetheryte in Lua, with a caveat It's seemingly not working right now though: it doesn't add any new aetherytes to the teleport menu. But I can't get the command `//gm aetheryte on X` to do it either, so it's possible Kawari isn't responding correctly? Either way this needs further testing. * Lua invis: add the forgotten Lua file * Reimplement GM teri in Lua Also add a TODO for UnlockAetheryte * Make comment in lua.rs more useful * Run cargo fmt again * Teri: range check the territory ID * Update USAGE.md to reflect the new commands Rebased on upstream master * Clarify unlockaetheryte USAGE and in-script usage * Refactor UnlockAetheryte.lua, and make ToggleInvisibility actually work properly. I opted to create a Task for this, because sticking it in kawari-world.rs felt like a hack to me. * Run cargo fmt for hopefully the last time today * Move lua.ra:toggle_invisibility down with the other queued tasks * Fix spaces in USAGE.md, remove stray rebase message |
||
---|---|---|
.github/workflows | ||
resources | ||
scripts | ||
src | ||
.gitignore | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
USAGE.md |
Kawari
Server emulator for a certain MMO. Updates on the project can be found on my blog.
Features
We have a working implementation for most of FFXIV's servers:
- Frontier
- Used for news, gate status and more.
- Launcher
- Used to serve the launcher web page.
- Lobby
- Create a new character and login to a World server.
- Login
- Logging in and creating new accounts.
- Patch
- Verifies the game client version. Can't serve patch files yet.
- World
- Still limited, but supports basic multiplayer and can explore zones.
Goals
Kawari is primarily a research project, but also a way to preserve the modern client. Kawari is...
- FOR preservation of the game, in the event that the servers are permanently unavailable.
- FOR exploring the packet structure for legitimate purposes (e.g. archival and preservation.)
- NOT a way to play the game without a valid subscription.
- NOT for creating bots, packet modifications or doing anything on the retail servers.
Supported Game Version
Kawari currently supports patch 7.25h (2025.06.10.0000.0000.) Kawari will never "roll back" to a previous patch. There are other servers (e.g. Sapphire) that support older versions of the game. As Kawari moves to a new major patch, the previous patch is moved to a branch (e.g. 7.1) These branches are for archival: effectively unsupported, but still useful.
Only the Global region is supported. Only the Windows client is supported. Supporting other regions or clients are currently out of scope of this project, but might work anyway.
Running
Kawari is designed to be easy to run. A guide to running Kawari can be followed here.
Contributing
Pull requests for new features, patch updates, and documentation are welcome. A guide for contributing and updating Kawari can be found here.
Credits & Thank You
- Sapphire for reference.
- iolite for inspiration & reference.
- TemporalStasis for tooling and reference.
- Project Chronofoil for easy packet capture.
- FFXIVClientStructs for being an invaluable resource for the client's internals.
License
This project is licensed under the GNU Affero General Public License 3. Some code or assets may be licensed differently.