From 5d43acd9a2b27467e6323d487b09ac0eea45da7d Mon Sep 17 00:00:00 2001 From: James Osborne Date: Sun, 3 May 2026 22:21:37 -0400 Subject: [PATCH] Fix proxy savechar character backup --- src/ChatCommands.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ChatCommands.cc b/src/ChatCommands.cc index af04a53b..b07f7c11 100644 --- a/src/ChatCommands.cc +++ b/src/ChatCommands.cc @@ -483,9 +483,14 @@ static asio::awaitable server_command_bbchar_savechar(const Args& a, bool dest_account = a.c->login->account; } - // If the client isn't BB, request the player info. (If they are BB, the server already has it) + // In direct sessions, request player info from the client. + // In proxy sessions, don't use the 61/30 request path; use the server-side + // character state already tracked for the proxied client. GetPlayerInfoResult ch; - if (a.c->version() == Version::BB_V4) { + if ((a.c->version() == Version::BB_V4) || a.c->proxy_session) { + if (is_ep3(a.c->version())) { + throw precondition_failed("$C6Proxy savechar for\nEpisode 3 is not\nimplemented yet"); + } ch.character = a.c->character_file(); ch.is_full_info = true; } else {