채팅 이상 현상

  • 뒤끝 SDK 버전 : 1.3.1
  • 프로젝트명 : 핵 앤 슬래시 키우기

혹시 금일 채팅서버에 이상있나요?

그리고 이걸 제가 확인할 방법이 없고, 정황 의심만 있긴 한데
앱 포커스 인/아웃 시에 채팅관련 Dispose() 같은게 도는게 따로 있나요?
뭔가 메모리 밀림 현상이라 해야할지… 불가능한 버그가 나와서요.

현재 제가 수정예정인 부분인데
설명에 쉽게 A 루틴이라 하겠습니다.
[OnApplicationFocus() → Save() → 실패 → Get_ServerStatus() →
실패 → 네트워크 오류 알림 → 강제종료 의 과정]

  1. 결제 후 저장 실패로 유추되는 사례
    UUID: fb7ee170-c0b7-11f0-9512-a74fe22cf4cf

VIP를 결제하고 게임을 종료하였다고 함.
(이 과정에서 A루틴을 거쳤을 가능성도 있긴함.)

해당 유저의 게임정보에서 ClearActs의 값이 0/0/0.
그러나 다른 데이터들을 보면 클리어를 안하고는 얻을수가 없는 재화 및 기록을 보유중.
유저의 말로는 다시 접속했을때 여러 재화를 잃었다고 함.
첫 메일이 온건 한국시간으로 오늘 오전 6:13분.

  1. OnApplicationFocus() 의 의심사례
    UUID: 1e817e60-bcb9-11f0-9f2d-a1b87f85938c

첫 메일이 온건 한국시간으로 2025. 11. 10 오후 11:06
게임 도중에 메세지가 와서 메세지를 보러 갔다 올때 마다 A루틴을 경험.
처음에는 A루틴이 크래쉬 였으나, 제가 몇번의 패치로 A루틴으로 변경됨.
이 문제는 현재도 진행중.

  1. 로그
    제 콘솔의 로그 - 행동 유형 "OnErrorOccured"를 확인해보시면
    “OnFailedToGetChannelInfo()” 로그가 상당수.
    ChatManager.cs 에서
private bool TryUpdateChannelInfo(string channelGroup, string channelName, ulong channelNumber)
    {
        if (ChannelList.TryGetValue(channelGroup, out var groupDict) &&
            groupDict.TryGetValue(channelName, out var nameDict) &&
            nameDict.TryGetValue(channelNumber, out var channelInfo))
        {
            LastChannelInfo = channelInfo;
            CurrentChannelGroup = channelGroup;
            CurrentChannelName = channelName;
            CurrentChannelNumber = channelNumber;
            return true;
        }

        return false;
    }

위의 함수의 리턴이 false면 로그 생성.

  1. 불가능한 상황
    image
    LDPlayer의 유저
    제 게임에서 스킬 보이시는 운석낙하 와 낙뢰 이 두가지가 스킬레벨을 찍을수가 없는 구조.
    코드를 전부 보여드릴수도 이해시켜드릴수도 없을것 같아 그냥 라이브 3개월만에 처음 보는 버그라 하겠습니다.
    LDPlayer에서의 어떤 특정한 동작으로 인한 일일수도 있긴합니다.
    제 라이브 빌드에서는 키보드 입력과 관련한건 채팅, 닉네임 뿐입니다.

  2. 채팅 1.3.1 이전 버전을 사용했을때
    이전 버전 (16kb X)을 사용했을때는 대부분이 정상이었습니다.
    Base와 채팅 SDK를 업데이트 한 이후부터 문제가 풀리지 않고 있습니다.

유료지원이 되어도 좋으니 한번 깊게 관찰 한번 부탁드립니다.
이게 만약 문제가 아니라면 제 잘못일 가능성이 높고 제가 해결할 가능성도 적습니다.
이전 버전으로 돌아가는 선택지를 최후의 보루로 생각하고 있습니다.

최신 버전의 .cs 두개를 동봉합니다.
BackendManager.cs (25.3 KB)
ChatManager.cs (15.4 KB)

추가)

  1. 크래시리틱스


어떤 유저가 방금 전달한 내용인데요.
보스몹이 죽은거 같긴한데 OnDeath 애니가 안나오고 저상황에 멈춰서
3시간 동안 대기하고 있었다고 합니다.
원래라면 포탈타고 은신처로 복귀했어야 합니다.
보스몹이 저상태로 대기하는 경우도 이번에 처음 경험하는 버그입니다.

3번에 로그 부분에서
channelGroup, channelName, channelNumber 은 잘 넘어옵니다.
로그 기록상 잘못된 정보가 넘어온적은 없는거 같습니다만,
저 TryGetValue에서 false가 나올 경우가 어떤건지 알려주시면 감사하겠습니다.