planetarium / NineChronicles

Unity client application for Nine Chronicles, a fully decentralized idle RPG powered by the community.
https://nine-chronicles.com/
GNU Affero General Public License v3.0
370 stars 156 forks source link

[접속] 2개의 기기에서 동일 계정 - 체인으로 접속 시 두 기기 모두 블록이 정지하는 현상 #5239

Closed QgamesGeonPyoNoh closed 3 weeks ago

QgamesGeonPyoNoh commented 4 months ago

APV version info

v200200

Client version info

v200.0.1

Device

Windows, Android, iOS

detailed device info

Windows 10, Android 12, iOS 17

account address info

0x3146FE0E47A1998e14cd8a33640e3648A5A90276

avatar address info

No response

purchase receipt info

No response

What happened?

[내용] 2개의 기기에서 동일 계정 - 체인으로 접속 시 두 기기 모두 블록이 정지하는 현상 -Windows, Android, iOS 기기에서 확인했습니다.

Image

How to reproduce the issue

[재현 스텝]

  1. A 기기에서 a 계정 - 헤임달 체인 접속
  2. B 기기에서 a 계정 - 헤임달 체인 접속
  3. 두 기기 모두 블록이 정지하는 현상 확인

[Should be] 2개의 기기에서 동일 계정 - 체인으로 접속 시 블록이 정지하지 않아야 합니다.

Relevant log output

No response

ipdae commented 4 months ago

@QgamesGeonPyoNoh 혹시 로그 올려주실수있나요?

QgamesGeonPyoNoh commented 4 months ago

모바일 에러 콘솔 상으로 확인되는 항목이 없어 PC 런쳐 에러 로그 첨부 드립니다.

[재현 스텝]

  1. PC 클라이언트 실행 - 블록 정상 진행 확인
  2. 동일 계정 - 체인으로 모바일 기기에서 접속 - 블록 정지 확인
  3. 런쳐 재 실행 - 로그 종료 v200.0.1.zip
tyrosine1153 commented 4 months ago

관련 스레드 https://planetariumhq.slack.com/archives/CC7BWJYTZ/p1719905453339229?thread_ts=1719905409.795879&cid=CC7BWJYTZ

이번 버전에서 플레이어의 rpc retry 기능을 수정해 retry 시도 시, planet registry에 있는 노드 목록을 참조하도록 수정을 했습니다. 그런데 수정사항 대로 동작하려면 PC의 경우 런처에서 clo를 전달할 때 planet registry url을 전달해야 하는데, 기존의 런처는 이를 전달해주지 않아 발생한 문제입니다.

현재 런처 수정해서 재배포된 상태입니다. PC에서도 planet registry url를 전달 받아 노드 목록을 받는지 확인이 필요합니다.

QgamesGeonPyoNoh commented 4 months ago

모바일 클라이언트를 실행한 블록(2512337)에서 PC 클라이언트 블록 정지 확인되었습니다. 확인 부탁드립니다.

[테스트 환경] Windows.v200200-200.0.1 Android.v200200-200.0.1 iOS.v200.0.1(82)

LAUNCHER_VERSION: 2.7.1719911108 Account: 0x3146FE0E47A1998e14cd8a33640e3648A5A90276 Commit: 899f28c9d213f33f6b68b6d2193cdf7a58bf0882

https://github.com/planetarium/NineChronicles/assets/150774808/8c6ad997-b0ae-4b47-ad92-4d8a54d015fe

ipdae commented 4 months ago

현재 인터널이 아닌 메인넷에서도 같은 노드를 대상으로 동일 계정으로 여러 클라이언트가 접속할 경우 문제가 발생하고 있는것으로 확인됐습니다.

ipdae commented 4 months ago

과거 릴리즈까지 코드 diff를 비교해봤는데, 별다른 변경이 없던걸 봐선 원래 있던 문제인것으로 판단됩니다. 일반적인 경우 다중 클라이언트가 접속하는 케이스가 흔한 케이스는 아니라 노운 이슈로 남겨두고 새로 접속하는 클라이언트쪽 연결이 끊어지는 부분만 나중에 고치도록 기록남겨둡니다.