1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-06-30 11:47:45 +00:00
Server emulator for a certain MMO
Find a file
thedax 61616df842
Reimplement several commands in Lua (#37)
* 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
2025-06-21 13:30:52 -04:00
.github/workflows Add run script to the artifact 2025-05-03 19:30:09 -04:00
resources Reimplement several commands in Lua (#37) 2025-06-21 13:30:52 -04:00
scripts Add run script to the artifact 2025-05-03 19:30:09 -04:00
src Reimplement several commands in Lua (#37) 2025-06-21 13:30:52 -04:00
.gitignore Add patch-dl.ffxiv.localhost to the default Caddy config 2025-06-08 15:44:22 -04:00
build.rs Skip generating empty opcode enums 2025-06-07 10:57:13 -04:00
Cargo.lock Update Physis to fix several issues with loading LGBs 2025-06-21 09:47:49 -04:00
Cargo.toml Add function to get an action's cast time 2025-06-21 10:36:21 -04:00
CONTRIBUTING.md Update CONTRIBUTING to remind myself to update Icarus as needed 2025-05-10 09:28:31 -04:00
LICENSE Relicense to AGPL, remove .build.yml 2024-04-28 08:32:31 -04:00
README.md Add screenshot to README 2025-06-19 20:19:53 -04:00
USAGE.md Reimplement several commands in Lua (#37) 2025-06-21 13:30:52 -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.

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

License

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