cb146f173e
Fix tests not compiling
2025-05-02 00:56:48 -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
80b06b3294
Reduce log spam from position updates
2025-05-02 00:31:47 -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
fb69689f2a
Change server_id field in IpcSegment to option
2025-05-02 00:17:15 -04:00
54fd1b90b1
Move chat connection initialization out of WorldConnection
...
I think this just causes more confusion, it's not really it's job to do
this.
2025-05-02 00:11:37 -04:00
f3f25eb219
Overhaul segment types, their names and their order
2025-05-02 00:03:36 -04:00
b426de677f
Begin separating chat IPC, fix tests
2025-05-01 23:34:06 -04:00
5420225c74
Update world IPC packets with better fitting names, fields
2025-05-01 23:20:56 -04:00
67ec72a962
Rename the remaining lobby IPC opcodes, reorder them too
2025-05-01 22:45:49 -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
9976548f04
Make the admin server start-up message fit with the others
2025-05-01 22:19:31 -04:00
afed151488
Add "character backup import" feature to the account management page
...
We have had an import feature for a while, allowing you to easily
recreate your retail character from Auracite backups. But the feature
was implemented *before* we had proper service accounts, and it always
assigned it to ID 1.
Now it's moved to the user-visible account management page.
2025-05-01 15:35:51 -04:00
ed8ccb86ee
Move model id grabbing to Inventory, fixup ClientSelectData
...
I wanted to make the lobby screen reflect your currently equipped items,
but that doesn't yet for some reason. These are still good refactorings
though!
2025-04-30 23:05:43 -04:00
614e470669
Add an option to enable packet obsfucation for the World server
...
There's no point in doing this yet:
1. This *crashes* the client, nice. Most likely because we're not
actually obsfucating anything, only tricking the client into thinking we
were. Why this can crash the client is beyond me?
2. Obsfucation is still optional.
2025-04-30 22:37:57 -04:00
c8a971a5e6
Remove that one annoying unused variable
2025-04-30 22:19:56 -04:00
15af4bc1d0
Support the latest released boot version
2025-04-30 22:19:46 -04:00
029c161e54
Add stubs for the frontier API used by the client
...
This is the support desk functions, although this doesn't work quite yet
and the game complains that it can't recieve any data.
2025-04-24 14:42:01 -04:00
cdfebce9f7
Add some helpful warnings to patch server, add FFXIV_Patch as user agent
...
This is used by sqexPatch.dll, so it should be legitimate. I also made
sure the URLs actually work again!
2025-04-22 19:27:19 -04:00
0e31cc047d
Update supported patch version to 7.21
2025-04-22 18:46:17 -04:00
d89a976c78
Begin adding save data bank
2025-04-22 18:46:04 -04:00
2a6c9ee76c
Add support for Shanda (Chinese) logins to the lobby server
...
This only means logging into the lobby server works, trying to login to
a World doesn't work as even the current version is too old. It probably
won't work without modifications anyway.
2025-04-22 18:15:13 -04:00
516a91620e
A few more fixes to get the launcher page to load
2025-04-22 16:29:21 -04:00
20030c18c8
Move work definitions to their own module
2025-04-22 16:07:39 -04:00
28b27866db
Serve a launcher page under launcher.ffxiv.localhost
...
This can eventually be put into a retail launcher, but it doesn't do
much yet.
2025-04-22 16:00:10 -04:00
ef58358756
Expose Damage kind, element and type in Lua API
2025-04-18 14:32:39 -04:00
fa2caa6647
Make EquippedContainer iteratable, simplify sending equipped item code
2025-04-18 13:52:18 -04:00
e5672e91f2
Show the currently equipped weapon on your character
...
Oops, I was turning u64 model ids into u16 and then changing it to
either a u32/u16. That's stupid, but now it's fixed and we can display
weapons!
2025-04-18 13:20:25 -04:00
510d07e3e4
Fill out more fields of damage action results
...
Now we can actually set whether the damage was physical, magical,
aspected etc. This is not yet exposed in the Lua API.
2025-04-18 13:11:29 -04:00
d507547dd3
Fix action results not working
...
The opcode wasn't updated for 7.20h, and I think was overlapping with
some status effect list one (hence the weird stuff happening in the
update showcase video.) Also updated the testdata, even though it wasn't
needed.
I also added back the actor hp/mp update, because I deleted that
thinking it would fix something but it didn't.
2025-04-18 12:38:02 -04:00
db877938ac
Attempt to remove actors when killed
...
This doesn't work on the test monster yet - I don't know why, but this
is what it's supposed to do.
2025-04-18 01:38:47 -04:00
3d9bbf8719
Fix world server with RCON disabled
2025-04-18 01:17:51 -04:00
717a2b7785
Add RCON support
...
Just for fun, but this isn't hooked up to any commands yet. I need to
make some command changes anyway, and will hook it up when I do that
refactoring.
2025-04-15 23:35:49 -04:00
16af49cea4
Allow attacking the monster spawned by !spawnmonster again
...
I broke this while refactoring other actor things.
2025-04-15 16:27:49 -04:00
01cab0f3a1
Send position and rotation on initial spawn, and keep it updated
...
Now other players won't spawn at 0,0,0 (which is wrong, almost nobody
is there) and will reflect their actual position/rotation when spawned
in. This is also updated on the server - so new clients are aware of
your last position/rotation - and can be used later for visibility
checks.
2025-04-14 16:34:30 -04:00
ba91ca4291
Fix various Clippy warnings
2025-04-14 16:24:46 -04:00
79f3ac73b6
Move player stat sending function to ZoneConnection
2025-04-14 16:18:03 -04:00
10c1369119
Add opcode for despawning actors, send that when changing zones
...
This is to workaround a bigger bug where I don't properly enclose actors
in their zone, so you can hit an assert while traveling between zones.
But this is something that has been needed anyway, and also fixes that.
2025-04-14 16:09:14 -04:00
55340f4e8c
Update to latest Physis changes
...
I changed the API for layer groups a bit, and so we need some slight
modifications.
2025-04-13 18:36:43 -04:00
ca94e26e1c
Attempt to fix other player rotations
...
This doesn't work just yet, but I guess I'm getting closer.
2025-04-11 10:32:52 -04:00
dbfd5fccc4
Use bool type in ToggleInvisible Actor Control
2025-04-11 08:46:54 -04:00
b3b816c511
Use bool in "check if name is free" IPC instead of u8
...
This doesn't change anything functionally, just works a bit nicer.
2025-04-11 08:41:50 -04:00
395aacf53e
Fix CharaMake test
2025-04-11 08:37:41 -04:00
e9ef724f05
Make get_primary_model_id return an Option
2025-04-11 08:36:17 -04:00
96bcdf1238
Fix various Clippy warnings
2025-04-11 08:32:55 -04:00
f9aefab7b7
Read voice from CharaMake, send voice id in lobby
2025-04-11 08:26:38 -04:00
a1539d1931
Add stubs for changing password and canceling account pages
2025-04-05 22:54:48 -04:00