bc56106e1d
Move artifacts to the root folder
2025-05-03 11:32:37 -04:00
7e0b0d1bfc
Move global world server logic to it's own module
2025-05-02 23:51:34 -04:00
de5e6cfb94
Use Default trait in more segment construction
2025-05-02 23:38:44 -04:00
ff33bd446a
Update IPC struct names and filenames to match their opcode name
2025-05-02 23:24:31 -04:00
056ab27d39
Update rusqlite to 0.35
2025-05-02 23:10:22 -04:00
29aba2748b
Switch out rand crate with fastrand
...
It's just smaller, the less crates we compile the better.
2025-05-02 23:06:59 -04:00
1aaa78d2cc
Update usage instructions, especially around account handling
2025-05-02 22:55:13 -04:00
76583ed744
Add config flag to disable outgoing packet compression
2025-05-02 22:41:31 -04:00
11156ea43c
Fix GM commands
2025-05-02 16:17:29 -04:00
8d384c4bd0
Overhaul how we send inventory packets again
...
I wanted to add armory chest support but the current state of the
inventory was a little frustrating. Adding new containers was too
difficult, so I made the system *even more* generic and easier to use. I
have also split it up into it's own module with a nicer file layout.
Oh yeah, and armory chest works too now.
2025-05-02 16:15:54 -04:00
e7fb661244
Implement Fantasia and remaking your character
...
Everyone's favorite copying mechanism/purchasable item is now functional
in Kawari. The item doesn't disappear once you use it, because there's
no API for that yet.
2025-05-02 15:36:22 -04:00
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
d94c3a8e03
Update (almost) the rest of the opcodes for 7.21
...
The few that I haven't tested yet is event-related, but those are a low
priority anyway. PlayerSetup has changed of course, but it only affects
minor things.
2025-04-30 22:19:59 -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
9c9a1e8086
Fix more 7.21 opcodes
...
This now gets you into the World server, but your player character
doesn't spawn yet.
2025-04-23 16:30:37 -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
76ad6822c3
Add more test buttons to the launcher page
2025-04-22 17:56:54 -04:00
516a91620e
A few more fixes to get the launcher page to load
2025-04-22 16:29:21 -04:00
4d06ae2d14
Add initial set of opcodes for 7.21h
...
This is *not* complete so the client probably won't work, this is just
what FFXIVOpcodes has.
2025-04-22 16:17:40 -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