1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-05-04 20:07:44 +00:00
Commit graph

64 commits

Author SHA1 Message Date
1141f6fb35 Add !setpos debug command to forcefully move the player
This is useful in some territories where you might not spawn in the correct
position. It currently locks up movement afterwards, but it's still useful.
2025-03-13 19:52:01 -04:00
74f7554aa8 Support the GM command for changing territories 2025-03-13 00:41:16 -04:00
34aa046b21 Fix padding in Player Spawn IPC data
I spent HOURS fixing this, only to realize that it was all offset by 16 bytes. I
hate myself.
2025-03-13 00:02:37 -04:00
7c1a3944e9 Add more fields to ChatMessage IPC 2025-03-12 19:45:15 -04:00
a448df65b4 Handle chat messages
This makes the server not panic and exit when recieving chat messages from the
client, but we only extract the message for now.
2025-03-12 19:34:15 -04:00
b52ff724ab Allow logging out of the client without destroying the world server
This adds support for the IPC packets sent between the client & server when
using the log out feature.
2025-03-12 18:44:05 -04:00
181d127fb5 Spawn the player with at least SOME health 2025-03-12 18:22:25 -04:00
29954be1a6 Move out most of the large IPC structures 2025-03-12 18:05:41 -04:00
aa6e818bfb Begin moving IPC structures to their own files 2025-03-12 17:47:58 -04:00
68d87c3a42 Add the remaining IPC opcodes to allow you to join a world 2025-03-12 00:32:37 -04:00
7b0c41a478 Fix numerous issues with the client<->zone communication and Oodle
Yet again TemporalStasis is awesome, and it shows that we need two separate
compressors (one for clientbound packets, one for serverbound ones.) I also
updated some opcodes for the latest patch, and support for compressing with
Oodle when sending packets.
2025-03-11 23:52:55 -04:00
7116389afe Fix size of initalization encryption packet, start testing for that 2025-03-11 21:52:46 -04:00
2b5e0a7a48 Add more fields & actions for LobbyCharacterAction
Thanks to TemporalStasis, again.
2025-03-11 21:31:52 -04:00
5bcdadf058 Replace Blowfish implementation with a Rust one
This is a slightly modified version of the one in Physis, with the required
modifications inspired from WorkingRobot's TemporalStatis fork. Thanks so much!
2025-03-11 21:20:47 -04:00
660e12c597 Start implementing some world IPC
This doesn't work yet, but whatever it's a start.
2025-03-10 21:31:21 -04:00
e5d143d2c6 Add world server, fix reading compression type
This doesn't work yet as we don't implement Oodle decompression, but we at least
start recieving the packets.
2025-03-09 11:07:01 -04:00
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
dd83b335dd Re-run format, re-organize some code and run Clippy auto-fix 2025-03-08 21:54:03 -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
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
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
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
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
5f2617ef71 Add world status webpage 2024-06-29 14:14:07 -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
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
3278452ac3 Begin work on HTML templates for future web panel functionality 2024-05-11 13:59:36 -04:00
bd9782a868 Move generate SID to its own dedicated function 2024-05-11 13:50:05 -04:00
7d2765a2b6 Add supported platforms config option 2024-05-11 13:41:00 -04:00
7899f39907 Add login status gate 2024-05-11 13:24:45 -04:00
0918700a85 Fix the admin server not creating config.json if not found 2024-05-11 13:13:03 -04:00
fa6c2ddf7f Begin implementation of news headline 2024-05-11 13:07:00 -04:00
7c30132e70 Fix more warnings on login 2024-05-11 12:32:46 -04:00