mirror of
https://github.com/redstrate/Kawari.git
synced 2025-04-25 00:17:45 +00:00
Server emulator for a certain MMO
My old setup of throwing *all* of the IPC types and opcodes into *one* enum was becoming unbearable. Now that we have multiple things using the same opcodes (because they can overlap) I think it's time to repay this technical debt. This overhauls the structure of the project to move IPC structs into their own modules, and separate the opcode data/lists into separate ones depending on if it's clientbound and serverbound. Nothing has changed functionall, but this is going to make it way easier to add more IPC in the future. |
||
---|---|---|
.github/workflows | ||
resources/tests | ||
src | ||
templates | ||
.gitignore | ||
Caddyfile | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
run.sh | ||
USAGE.md |
Kawari
A replacement server for a certain MMO. Updates on the project can be found on my blog.
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.18h. Kawari will never "roll back" to a previous patch. There are other servers (e.g. Sapphire) that support older versions of the game.
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.
Running
A guide to running Kawari can be followed here.
Credits & Thank You
- Sapphire for reference.
- iolite for inspiration & reference.
- TemporalStasis for tooling and reference.
- Project Chronofoil for easy packet capture.
License
This project is licensed under the GNU Affero General Public License 3. Some code or assets may be licensed differently.