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
de2dd65167
Randomly generate the SID
2024-05-11 12:31:55 -04:00
c6df4aff86
Fix the wrong server message being printed for login/patch
2024-05-11 12:21:35 -04:00
86c9ff4c94
patch: Fix Path needing to be a tuple
2023-10-06 17:57:22 -04:00
db4ec4c57e
Oops, fix stupid build error
2023-10-06 17:50:49 -04:00
1178ecdd61
Add basic patch server implementation
2023-10-06 17:46:58 -04:00
e3ac03ffc4
Send HTML for /login/top again
2023-10-06 17:41:38 -04:00
1676846870
Attempt to fix garbage data problem
2023-10-05 13:58:26 -04:00
56418b98e2
Attempt to fix HTML response for /login/top
2023-10-05 13:44:49 -04:00
1e3ff59442
Accept the url query for /login/top
2023-10-05 13:32:08 -04:00
a78f13c289
/login/top is GET, not POST
2023-10-05 13:24:00 -04:00