1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-04-25 16:27:46 +00:00
Commit graph

231 commits

Author SHA1 Message Date
1cd68ee1a3 Store session id, handle world join requests
We have yet to implement the world server, so the client gets kicked back to the
main menu immediately right now.
2025-03-09 11:01:06 -04:00
a7f60fab4d Don't add empty service accounts 2025-03-09 10:43:34 -04:00
26e22843c5 Add better names for origin/destination world fields 2025-03-09 10:39:46 -04:00
2649985b32 Fill out more fields of ClientSelectData
Thanks to FFXIVClientStructs, which already has much of this documented.
2025-03-09 10:13:47 -04:00
1013556eba Send ClientSelectData JSON, show character in lobby screen 2025-03-09 09:40:11 -04:00
7613723151 Roll delete into a more general lobby action 2025-03-09 00:20:41 -05:00
c35a5448d1 Add support for character delete packets 2025-03-09 00:06:54 -05:00
3e34020282 Fix various problems with the lobby 2025-03-08 23:49:53 -05:00
b127d44ddf Move world id into a constant value 2025-03-08 23:40:58 -05:00
0c5c784d0f Split up and move lobby packet handling 2025-03-08 23:24:09 -05:00
ca5fa8e8b9 Fix various Clippy warnings 2025-03-08 23:07:55 -05:00
9ca46c53cd Mention the lobby server in the README 2025-03-08 22:58:45 -05:00
1f43318add Begin sending lobby information
This now puts the client onto the real lobby screen, not sure how much actually
works yet.
2025-03-08 22:55:47 -05:00
00c5f4a10e Fix various issues with sending service account data
I did a bunch of things wrong, oops. The client somehow error corrected itself
into never requesting the character list, lol
2025-03-08 22:17:26 -05:00
da5f5f1276 Move more IPC-related stuff out of packet module 2025-03-08 22:05:20 -05:00
970d756809 Move IPC opcodes to their own enum & module 2025-03-08 22:03:28 -05:00
6aed610276 Move more code out of packet module 2025-03-08 21:56:44 -05:00
dd83b335dd Re-run format, re-organize some code and run Clippy auto-fix 2025-03-08 21:54:03 -05:00
aacd128a9e Add support for encrypting outgoing packets, send service account list
This gets us to the lobby screen, albiet it's currently empty.
2025-03-08 21:53:10 -05:00
f81f5ce09d Fill out ClientVersionInfo IPC, add KeepAlive packet response
Now the server is somewhat functional, we don't get to the lobby screen yet but
at least get a loading indicator in the client.
2025-03-08 21:23:33 -05:00
942a64cd7b Fix encrypting/decrypting packets, vendor Sapphire Blowfish implementation
I ended up just stealing this from iolite, which in turn took it from Sapphire.
I tried for a few hours to get a Rust Blowfish implementation going, but the one
from Physis didn't work. I'll try again later.
2025-03-08 21:13:00 -05:00
64b1ea9280 More attempts at packet decryption 2025-03-08 16:39:13 -05:00
51e0f0680e Move encryption stuffs into their own module 2025-03-08 16:10:00 -05:00
cdc250fca1 Begin decrypting packets, add IPC segment type 2025-03-08 16:08:25 -05:00
21419aa09c Add missing connection types 2025-03-08 15:33:58 -05:00
2f996f0012 Emit a better error message on packet parsing failure 2025-03-08 15:29:38 -05:00
3caf9d38c1 Try sending a initialize encryption response packet 2025-03-08 15:27:28 -05:00
0ec0ed34ec Parse the encryption initialization packet 2025-03-08 14:38:31 -05:00
1ef412b420 Add credits to README 2025-03-08 14:10:52 -05:00
66ef395afc Begin parsing the packet header 2025-03-08 14:09:57 -05:00
5f0d6cc425 Dump unknown packets when encountered 2025-03-08 13:58:24 -05:00
b5afff068a Add dummy lobby server
This doesn't respond or read anything yet, it's just for testing.
2025-03-08 13:51:50 -05:00
40ef6b8193 Run cargo fmt 2025-03-08 13:27:41 -05:00
f7a5940f20 Don't crash if no patch files are provided 2025-03-08 13:24:14 -05:00
5dc1178cd3 Update to Rust edition 2024 2025-03-08 13:20:22 -05:00
da6a5424d1 Begin sending patch lists when verifying boot files
It's completely unusable right now, but this is just to showcase some
progress.
2024-06-29 15:06:48 -04:00
e1bfe4ee25 Run tests on the CI 2024-06-29 15:02:21 -04:00
bacd83477c Add support for writing boot patch lists, fill out more data 2024-06-29 15:02:15 -04:00
c1ad0c023c Add configurable boot patch location, fix verifying boot components
And more, this is mostly laying the groundwork for serving patch files.
2024-06-29 14:44:40 -04:00
91e80a36f8 Fix typos in README 2024-06-29 14:16:27 -04:00
3e3e36a05e Rename webpage titles and only mention "Kawari"
Obviously this shouldn't advertise itself as the real game.
2024-06-29 14:14:51 -04:00
5f2617ef71 Add world status webpage 2024-06-29 14:14:07 -04:00
dbf4a5e642 Add kawari-web to run.sh 2024-06-29 14:13:53 -04:00
891e871b47 Simplify get_login_status and get_world_status 2024-06-29 14:07:44 -04:00
a063de2eb5 Separate the login and world gates 2024-06-29 14:06:44 -04:00
ee6b4f2f7f Add PatchList type, for future usage
Also adds a test!
2024-06-29 13:56:54 -04:00
7c6004e34a Fix branch name in workflow 2024-05-18 13:39:43 -04:00
7b5f2ac07f Add CI 2024-05-18 13:38:13 -04:00
e529188d91 Add non-functional login/register pages 2024-05-11 14:10:49 -04:00
f37840d44f Begin adding a user accessible web server 2024-05-11 14:03:18 -04:00