1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-23 21:17:45 +00:00
Server emulator for a certain MMO
Find a file
The Dax 5d2ba057d7 Implement selling to NPC shops, and its sibling feature, buybacks.
-These had to be co-developed simultaneously. You can't have one without the other, they're that intertwined.

-The Lua API was extended extensively to allow for us to pull this off.
Some changes include support omitting sending forced client updates for gil and items, and
allowing access to the buyback list and queueing updates for it.

-Added various enums to reduce the amount of magic numbers everywhere.
-The buyback list API is put into its own new file: buyback.rs.
-Refactored more portions of the buy and sell code into connection.rs to reduce ipc boilerplate everywhere.
-More will be refactored in the future.
-The generic shopkeeper has changed so much that it is now its own dedicated script, GilshopKeeper.lua.
2025-07-16 21:58:50 -04:00
.github/workflows Don't enable oodle feature while running tests on the CI 2025-07-12 08:02:02 -04:00
resources Implement selling to NPC shops, and its sibling feature, buybacks. 2025-07-16 21:58:50 -04:00
scripts Add run script to the artifact 2025-05-03 19:30:09 -04:00
src Implement selling to NPC shops, and its sibling feature, buybacks. 2025-07-16 21:58:50 -04:00
.gitignore Add patch-dl.ffxiv.localhost to the default Caddy config 2025-06-08 15:44:22 -04:00
build.rs Make link search path added in build script more explicit 2025-07-11 22:33:55 -04:00
Cargo.lock Fix Recast build 2025-07-14 20:47:46 -04:00
Cargo.toml Fix Recast build 2025-07-14 20:47:46 -04:00
CONTRIBUTING.md Add a note in CONTRIBUTING on how to substitute with a local Physis 2025-07-08 22:38:41 -04:00
LICENSE Relicense to AGPL, remove .build.yml 2024-04-28 08:32:31 -04:00
README.md Update all but one opcode for 7.25h3 (#99) 2025-07-03 12:57:51 -04:00
USAGE.md Document !replay debug command 2025-07-13 20:11:05 -04:00

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.

Kawari is extendable, and content can be easily scripted using our Lua API. See the resources/scripts folder for examples.

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. The server can't, nor ever will be a suitable replacement for the real game.
  • NOT for creating bots, packet modifications or doing anything on the retail servers.

Also please don't use Kawari to spoil new or unreleased content, thanks.

Supported Game Version

Kawari currently supports patch 7.25h3 (2025.06.28.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 scripts, features, patch updates, and documentation are welcome. A guide for contributing and updating Kawari can be found here.

For informal development discussion outside of GitHub, join the Kawari Dev Chat.

Credits & Thank You

License

This project is licensed under the GNU Affero General Public License 3. Some code or assets may be licensed differently.