devunt / DFAssist

FFXIV Duty Finder & F.A.T.E. Assist
https://devunt.github.io/DFAssist
The Unlicense
65 stars 120 forks source link

글로벌 서버 몇몇 문제 해결 / 코드 최적화 #46

Closed Jaehyuk-Lee closed 7 years ago

Jaehyuk-Lee commented 7 years ago

예상치 못한 곳에서 문제가 생겨서 이제서야 고쳤습니다. 글로벌 서버 특정 임무 신청시에도 충돌이 발생하네요. 특정 임무 신청시에는 data[4] (무작위 임무 id가 보내지는 부분)에 0이 나온다는 점을 이용해서 특정 임무 신청임을 구분하였습니다.

Jaehyuk-Lee commented 7 years ago

글로벌 서버에서 임무 매칭시, 매칭 완료 알림이 오지 않는 문제를 발견하였습니다. (매칭 신청 후 대기 중 - 정상 / 매칭 완료 - 알림이 오지 않음 / 매칭 완료 후 확인한 인원 수 표기 - 정상)

무작위 임무 지원하면서 문제가 많이 생긴건지... 만질게 많네요.

아 issues에 올라온 문제가 이 문제인가 보군요..

Jaehyuk-Lee commented 7 years ago

코드를 이쁘게 짜지는 못했으나 문제 해결은 하였습니다.

Jaehyuk-Lee commented 7 years ago

매칭 확인을 하고도 깜빡깜빡(챠킹하면 빨간색 회색으로 깜빡깜빡 거리는 것) 거리는 문제가 있습니다..(글로벌 서버 한정)

Jaehyuk-Lee commented 7 years ago

한국 서버에 문제가 전혀 없는지부터 확인하고 다시 pull request 올리겠습니다.

devunt commented 7 years ago

패킷만으로 구분하는게 힘들다면 실행파일 인자, 서버 주소, 혹은 정 방법이 없다면 그냥 UI에서 한국 서버/글로벌 서버 선택 박스를 만들어놓는 것도 방법이긴 합니다만 될 수 있으면 최대한 자동으로 감지해낼 수 있는 방향이면 좋겠습니다. 지금은 제가 글로벌 서버를 안 해서 직접적인 도움은 못 드리나 저도 여유가 나면 조만간 글로벌 서버를 플레이해보겠습니다.

Jaehyuk-Lee commented 7 years ago

글로벌 서버랑 한국 서버를 동시에 하는 입장에서 저도 자동 감지하는게 편하긴 해서 자동 감지로 개발하고 있습니다. (두 서버를 동시에 켜놓고 쓰기 때문에 프로세스 설정 바꿀 때마다 서버 선택도 바꾸는건 조금 더 귀찮으니까요) 시간만 들이면 자동 감지하는 쪽으로 개발하는게 불가능하진 않습니다. 글로벌 서버에서 임무 찾기 관련으로 쓰인 opcode가 한국 서버에서 뭘로 쓰이고 있을지 전혀 모르기 때문에 문제가 없는걸 판단하려면 좀 오래걸려서 이번주 안으로 확인이 가능할지도 확신이 안드네요. 아직 해결하지 못한 사소한 문제들도 남아 있습니다. 그래서 혼자서는 적당히 테스트하고 정식으로 프로그램 적용한 뒤에 이용자들이 문제를 발견하면 충돌나는 부분을 확인해서 고치는 쪽으로 가는 것도 괜찮을 것 같긴 합니다.. 제가 기본적인 부분은 체크하기 때문에 프로그램 이용하는데 심각한 문제는 없을 것으로 예상합니다.

Jaehyuk-Lee commented 7 years ago

임무 신청 판별법을 개선하였습니다. (코드 최적화) 동시에 글로벌 서버에서 특정 임무 신청과 무작위 임무 신청을 구분하지 못하던 문제가 해결되었습니다.

글로벌 서버 입장 확인 버튼을 누르면, 오버레이가 깜빡깜빡 거리던 것을 멈추게 하였습니다. 타인이 취소를 누르는 경우에, 오버레이가 깜빡이는 것을 멈추도록 하는 부분은 확인하지 못했습니다. (테스트가 필요한데 타인이 취소를 누르는 경우가 너무 적어서 제대로 테스트하지 못함)

Jaehyuk-Lee commented 7 years ago

수정했던 내용이 반영이 안되는군요 새로 열어야겠습니다.