1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-06-21 07:27:45 +00:00
Commit graph

489 commits

Author SHA1 Message Date
OTCompa
086cd24b09 Connect to server name instead of listening address 2025-06-19 15:54:42 -04:00
The Dax
ae96de1ee6 Stop the world server from becoming upset when a Lua command is invoked with no arguments.
Allows commands that have a default set of arg(s) to use those when none are specified, as well as
allowing commands to act as toggles (such as a wireframe toggle, or disabling any set festivals).
2025-06-19 15:27:01 -04:00
thedax
961cb92ab1
New Lua command proposal: !festival (#26)
This command enables the user to set the current zone's festival.
For example, you can toggle the Starlight festival in any of the starting cities.

Thanks, OTCompa!
2025-06-19 12:29:10 -04:00
The Dax
792316dce5 USAGE.md: add description of new GM speed command.
Sorry, I keep forgetting to do this!
2025-06-19 10:09:07 -04:00
The Dax
1edcdf3de6 Implement GM speed command, and make GM invis command actually toggle invis status 2025-06-19 10:09:07 -04:00
The Dax
749b499db6 Refactor portions of lua.rs to reduce boilerplate
-Create common methods create_segment_self and create_segment_target.
These reduce the amount of copy-paste boilerplate code since the IPC queueing stuff basically never changes
as far as I can tell. Now we simply specify the opcode and the data that goes with it, and off we go.
Create_segment_self retains the current behaviour of using the player's actor id as both the source and target,
and create_segment_target allows us to change the source and target in case commands are written that require
one or the other to be different (Sending targeted players to other coords/zones? Bringing a player to the GM/source user? Several possibilities.).
2025-06-19 08:32:06 -04:00
9567c8f38e Change default GM rank back to 90
I originally did this thinking I would engineer a user management
interface afterwards, but this hasn't materialized yet and just makes
testing Kawari harder.

This should stop having to manually edit your Kawari World database to
gain access to GM and debug commands.
2025-06-18 21:00:20 -04:00
ed08fc2fdc Reject certain debug commands based on GM rank
This only affects the commands implemented in Rust for now.
2025-06-18 20:58:32 -04:00
9770497fe5 Remove spammy log message from chat handler 2025-06-18 20:57:51 -04:00
c1dc138e3c Make !spawnclone debug command networked 2025-06-18 20:57:20 -04:00
d216bebce9 Remove !playscene debug command
This doesn't really scale right now with the new events system, and I
don't use it anymore so let's remove it for now.
2025-06-18 20:53:07 -04:00
eb6b6409da Generate new actor IDs for debug NPCs, unify actor network paths
I don't know why I created a new message kind just for spawning NPCs
when ActorSpawn does this just fine. But what this actually means is
that the debug NPCs can now be spawned more than once.
2025-06-18 20:49:05 -04:00
97cdc66ec7 Make !spawnnpc debug command networked
Next step is allocating actor IDs properly, instead of using a fixed
value.
2025-06-18 20:38:55 -04:00
3757f4e0db Make !spawnmonster put the NPC at your location again
Also included some refactoring that will help networking these better.
2025-06-18 20:28:03 -04:00
1b6fdab000 Add warnings in more lobby fail cases
For example, if your World server is down and no service accounts were
returned.
2025-06-18 20:08:35 -04:00
7d6c8a8c14 Advertise in all retail lobbies instead of just Aether in LauncherTweaks
This should make it somewhat nicer for non-American users.
2025-06-18 20:03:41 -04:00
e175bd072e Fix Unk2 and Disconnected opcodes for 7.25h
Fixes #23
2025-06-18 19:48:22 -04:00
cbde0f74b3 Clarify in USAGE that the server is setup for Aether/Gilgamesh
I thought this was documented, but I guess not. Saves users a bit of
troubleshooting, especially if they don't play on American data centers.
2025-06-18 19:42:29 -04:00
97a1836e77 Don't panic in the Lobby server if the Login server is unavailable
See #21
2025-06-18 19:38:00 -04:00
The Dax
3118ef2a5a Write description of !nudge in USAGE.md 2025-06-18 12:55:18 -04:00
The Dax
74479198e8 Nudge.lua: clarify usage 2025-06-18 12:55:18 -04:00
The Dax
0b6d8d3f8c Refactor Nudge.lua
-Added the comments back from the original
-Make actual use of the new_position table, may as well since it's there.
2025-06-18 12:55:18 -04:00
The Dax
8cc59f4793 Fix clippy warning 2025-06-18 12:55:18 -04:00
The Dax
80885f0eeb Port the nudge gm/debug command from Project Meteor Server.
It's a command that moves the user forward, backward, up, or down a specified amount of yalms.
It's quite helpful for exploration convenience, and doesn't replace setpos, rather, it's meant to complement it.
The set_position function was also extended to allow for lua code to specify the rotation/direction facing.
2025-06-18 12:55:18 -04:00
acd11b9122 Call requestResumeInfo when fromAppWaitPlay is called
This fixes the last retail launcher issue I hit when testing locally.

Fixes #19
2025-06-17 17:21:01 -04:00
88e73a1633 Add console.debug logging for the various launcher callback functions
I'm currently working through why it's not working in the retail
launcher anymore, and keeping track of which callbacks are called with
their parameters is super useful.
2025-06-17 17:14:28 -04:00
9135d1e179 Add back hosts editing information to the USAGE guide
This was initially removed because the localhost TLD Caddy magic, but I
just discovered that this isn't honored by WinHTTP which breaks the
retail patcher. So users will still - unfortunately - have to do this.
2025-06-17 17:08:56 -04:00
94e005d4f5 Initial update for 7.25h
Some of the opcodes didn't update properly as per usual with the new
process, but you can log back into the World server.
2025-06-17 16:24:19 -04:00
b84d5daafe Add CORS headers to the login API
A retail launcher update broke this (probably just the WebView2 upgrade)
and it requires us to declare Access-Control-Allow-Origin. This makes
the retail launcher functional again.

See #19
2025-06-17 16:16:28 -04:00
2576c49246 Change the default listen address to all addresses
This makes it slightly easier to share the server between machines, or
in my case - virtual machines.
2025-06-17 16:05:36 -04:00
37a9702a29 Send a better patchlist
This isn't correct yet, but closer to being usable.
2025-06-08 16:00:14 -04:00
46dec1b0f0 Add patch-dl.ffxiv.localhost to the default Caddy config
You have to place the patch files under the patches/ directory.
2025-06-08 15:44:22 -04:00
9e1bfe8625 Fix Unk2 and Disconnected opcodes for 7.25 2025-06-07 11:29:21 -04:00
5825de8460 Update dependencies 2025-06-07 11:01:33 -04:00
35dbf7a355 Initial opcode update for 7.25
This doesn't cover everything, but allows you to login to the World
server again.
2025-06-07 10:57:13 -04:00
2dc01be9c1 Skip generating empty opcode enums 2025-06-07 10:57:13 -04:00
ac595fcf6f Initial version bump for 7.25
Nothing packet-wise has been updated yet, but this will at least allow
the launcher and client to login.
2025-06-07 10:57:13 -04:00
5accb992a9 Add !equip command to quickly change your equipped item
See USAGE, this is actually extremely useful! No more hunting for item
IDs!
2025-05-12 22:32:03 -04:00
d1bbfdfbfd Send voice id when spawning player
Forgot to do this, so everyone sounded like a man - oops?
2025-05-12 22:00:23 -04:00
7fd9c8e681 Add temp.zip to gitignore 2025-05-12 22:00:17 -04:00
59815df5c1 Add warning message when failing to find poprange 2025-05-12 16:32:55 -04:00
1cdd2d4bff Fix the character currently equipped items not showing in the lobby
We were missing two additional integers in the ClientSelectData work
definition. Once we added those, the equipment now shows up!
2025-05-12 16:11:17 -04:00
6930c18d2a Prevent the chat connection from always forcing a log out
This is just a band-aid fix, we really need to the separate the chat
connection from the rest of the zone connection logic. But this will at
least stop some annoyances when logging out.
2025-05-12 16:00:23 -04:00
b21d9933b3 Add GM rank to database, default to normal user and set online status
Instead of everyone starting out as a GM, they are a normal user by
default. Right now the only way to set GM rank is through editing the
database. The online status is set accordingly.
2025-05-12 15:44: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
f37aa53011 Don't panic if LGBs failed to load 2025-05-11 12:39:35 -04:00
d7499e6015 Fallback to 0,0,0 if we fail to find aetheryte destination 2025-05-11 12:39:13 -04:00
d82cb2d048 Add support for unlocking all aetherytes 2025-05-11 12:38:55 -04:00
94ed036431 Add script for the Teleport action
This makes the Teleport action functional now, although it looks pretty
rough as it warps you instantly instead of waiting for the action to
actually finish.
2025-05-11 10:12:02 -04:00
1914531d89 Add commands to unlock actions, and aetherytes
This doesn't mean teleporting works *yet*, as it needs to be scripted.
The unlocked action/aetheryte is also not persisted yet.
2025-05-11 09:27:29 -04:00