1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-10 07:57:46 +00:00
Commit graph

25 commits

Author SHA1 Message Date
thedax
2d6c740829
Fix cargo test compilation (#102) 2025-07-04 11:35:06 -04:00
2cbf70fbe5 Fix tests 2025-06-28 10:02:09 -04:00
6ecdae840c Continue parsing when encountering unknown packets
This reads the unknown packet data, just throwing it in a byte
buffer. This allows us to read the rest of the segmenets in
the packet, and fixes parsing.

Note that this still log spams with "wrong size" as we can't
determine the size of the unknown packet ahead of time. This is
easy to fix, but it's not a high priority yet.

Fixes #73
2025-06-28 08:48:59 -04:00
2075da0c5e Fix tests and Cargo warnings 2025-06-27 17:59:40 -04:00
7b8177b27b Allow building for WebAssembly
This really only allows you to access the packet parsing bits, starting
the servers isn't possible for a variety of reasons.
2025-06-27 17:58:14 -04:00
4f364ae330 Don't make packet parsing async
This doesn't need to be marked as async, the code isn't.
2025-06-26 19:09:13 -04:00
ddb67383af Fix more easy Clippy warnings 2025-06-23 21:14:38 -04:00
0d37dd7b6e Fix the size of None segments
It should be 0, not 16 bytes.

See #40
2025-06-21 13:59:58 -04:00
777cb8b2a3 When failing to parse a packet segment, print it's size
This can be helpful to determine what the heck this opcode is.
2025-06-19 16:07:39 -04:00
a88b9037d4 Begin adding disconnection handling
This doesn't work 100% reliably yet, but the world server should now try
to commit your player back to the database if it detects you disconnect.

I also fixed a mistake where the global server state never removed
clients when they errored out. There's now code to remove your actor
from the instance when disconnecting, but this doesn't work reliably yet
either.
2025-05-12 01:17:15 -04:00
23f9b5f3c1 Move oodle into the packet module
Not sure why I didn't do this before, it's not important enough to be a
top-level item.
2025-05-02 00:52:26 -04:00
5111a38424 Re-organize IPC segments into the ipc module
These were kind of scattered everywhere, instead we should move them
into their own module. Kawari's custom IPC is moved here too.
2025-05-02 00:47:11 -04:00
9eb9eca1c8 Change unk1/unk2 in PacketHeader to prefix 2025-05-02 00:31:27 -04:00
0f98bfde52 Implement Default trait for PacketSegment
This reduces a *ton* of places where I had to set
source_actor/target_actor to zero because it wasn't relevant.
2025-05-02 00:28:05 -04:00
f3f25eb219 Overhaul segment types, their names and their order 2025-05-02 00:03:36 -04:00
2ec54fa6ec Use more accurate names for some client lobby packet types 2025-05-01 22:36:30 -04:00
6971ef1fc8 Rename PacketHeader's unk3 into "version"
I know the name now, but it's still a mystery what it is?
2025-05-01 22:29:34 -04:00
fed21b3617 Make various packet dumping optional, turned off by default
This creates a lot of clutter, and only really interesting to
developers.
2025-04-01 16:58:39 -04:00
caf70ea469 Pass GameData into Zone, stop loading the same zone twice on login 2025-03-30 19:13:24 -04:00
9cb7cd9abd Add initial stuffs for actor replication 2025-03-30 18:03:42 -04:00
4d88f78184 Remove a good bit of log spam 2025-03-28 23:00:32 -04:00
d11c6ad090 Restore and add the remaining 7.2 opcodes
Now Kawari is back to it's full functionality, save for tests being
broken and out of date and PlayerSetup has the wrong padding. Success!
2025-03-26 19:23:14 -04:00
3a66e4466c More various 7.2 packet fixes, attempt to check recieved packet size 2025-03-26 19:23:14 -04:00
a217823a64 Quiet some warnings 2025-03-23 18:21:12 -04:00
c29f8ad7df Run Clippy auto-fix, disable large enum size warning 2025-03-23 18:14:14 -04:00
Renamed from src/packet/packet.rs (Browse further)