Files
Sun1602/Tools/SunUpdateManager/UpdateCommon/BugReport.txt
T
2022-10-26 12:25:11 +08:00

144 lines
6.1 KiB
Plaintext

************************************************************
* *
* SunUpdate Bugs 및 수정해야 할 사항 *
* *
************************************************************
* 20070227(화) - 조재식
1. 현재 다른 사람이 패치 상태인데, 내가 들어가면 이미지가 다른 이미지로 보인다.
2. 현재 패치중인데, 관리자는 이 상태에 대해서 강제 수정할 수 있는 기능이 있어야 할까?
3. 일반인도 편집 할 수 있는 기능 풀기?
4. xml를 사람이 볼 수 있도록 변경 하는 기능
* 20070202(금) - 조재식
1. 백업, 복원의 상태를 서버상태로 두어서, 패치할 때와 같이 처리하면 어떨까?
* 20070201(목) - 조재식
1. 차라리.. 서버에서는 SunServer가 패치중이면, 월드의 모든 서버의 상태를 패치중으로 변환시켜 버릴까?
훨씬 개념적으로도 맞는거 같다.
2. 아직도 자동업데이트툴에서 읽기 속성 문제가 해결 안되는거 같다. 이거 빨리 해결하자. 중요하다.
==> 그리고 읽기 속성일때는, 메세지를 Manager로 보내도록 하자.
* 20070131(수) - 조재식
1. 메니저에서 시작을 하여도, 서버에서 현재 패치 상황을 체크 하여 현재 패치중이면, 모두 패치 할 수 없도록 한다.
* 20070129(월) - 조재식
1. 패치시 연관되어야 하는 기능..
1) 서버는 모두 OFFLINE 상태이어야 한다. ONLINE상태가 하나라도 있으면, 패치가 되서는 안된다.
2) 서버 패치시(SunServer)에는 서버와 관련된 어떤 행동도 할 수 없다. 해당 서버의 모든 기능을 사용할 수 없다.
* 20070118(목) - 조재식
1. 월드단위에서만 있는 기능( S_Drive적용시 )
1) 패치실행
2) 데이버백업, 복원
2. 채널단위에서 있는 기능( S_Drive적용시 )
1) 서버실행
2) 서버종료
3) 서버강제종료
4) 서버삭제 ==> 관리자 기능
2. 서버단위에서만 있는 기능( S_Drive적용시 )
1) 로그확인
2) 패치버전확인
3. 모든 단위체서 공통적으로 있는 기능( S_Drive적용시) == 채널단위가 같음.
1) 서버실행
2) 서버종료
3) 서버강제종료
4) 서버삭제 ==> 관리자 기능
* 20070109(화) - 조재식
1. 현재 로컬의 패치 버전을 알 수 있는 기능 추가.
2. 패치 성공시 무슨 타입의 서버가 성공하는지 보여주기 바람
3. 해당 서버의 INI파일의 로그 옵션을 수정할 수 있는 기능 추가.
4. 해당 서버의 디렉토리 구조(날짜..시간..등)를 볼수 있는 기능 추가.
5. 서버키를 각각의 월드값들의 조합으로 변경.
6. ServerInfo.xml 과 AccessInfo.xml은 서로 동기화 되어야 한다.
=> 서버를 하나 등록시키거나, 삭제하면 AccessInfo와 ServerInfo에 둘다 업데이트 되어야 한다.
* 20070108(월) - 조재식
1. S_Drive 적용시키기 위한 사전규범.
1) 각 서버의 상태는 기존처럼 보여줘야 한다.
2) 서버의 실행단위(패치단위)는 1개의 월드가 된다.
ex) 만일 미션서버가 2개라면.. 미션1월드, 미션2월드 이런식으로 구분된다.
3) 기존의 UI는 유지한다.
4) 패치기능은 월드라고 표시된 곳에서만 가능하다.
5) 해당서버의 시작, 종료, 강제종료등 패치를 제외한 기능은 기존대로 유지한다.
6) 패치서버로 업로드시 SunServer한곳만 업로드 된다.
7) 실제로는 존재하지 않지만, S_Drive패치를 위해 SunServer라면 서버가 존재하는 것으로 한다.
해당 서버타입은 16으로 가정한다.
* 20061108(조재식)
1. SunUpdateManager
1) 마지막 디렉토리 얻는 함수에서, 지금은 구분을 "." 이 있으면 파일, 없으면 폴더로 인식하는데..
이거 버그다. 바로 전 디렉토리가 .이 있으면.. 이 이후부터 파일로 인식해버려서, 정상적인 업로드가
되지 않는다.
* 20061107(조재식)
1. SunUpdateManager
1) Agent가 종료된 상황에서는 Live Process가 의미가 없다. Agent가 끊어져 있는데, 살아 있는지 죽어 있는지는
오로지 마스터를 통해서만 알수 있다. 따라서, Agent가 연결이 안된 상태에서는 Online과 Offline 2가지 상태만
가지는게 옳을 것이다.
* 20061106(조재식)
1. SunUpdateManager
1) 마스터와 연결된 상태는 현재 표시되지만, 서버가 마스터와 연결되기전 프로세서가 살아 있는 상태는
현재 체크가 되지 않는다. 실제로 프로세서가 살아 있는지 체크가 필요하다.
이유는 현재 프로세서가 마스터와 연결되기전에 죽을 수 있기 때문이다.
10초에 한번씩 프로세서를 Agent가 체크하여, Manager에게 쏘는 기능이 필요하다.
* 20061102(조재식)
1. SunUpdateManager
1) 서버에 있는 현재 data를 백업하고, 원할시 다시 그 데이터로 복원할 수 있는 기능이 필요하다.
2) 서버의 DB를 관리할 수 있는 툴이 필요하다. Manager 관리 모드로 접속시 수정 할 수 있도록 만들자.
3) 패치를 한 물리적 서버에 여러개의 서버가 있는 경우, 채널단위 이상의 패치는 위험할 수 있다. 수정하자.
4) Ftp Upload를 쓰레드를 써서 하자. 업로드 상황을 Manager에서 알수 있게 하자.
* 20061031(조재식)
1. SunUpdateManager
1) 패스워드 수정기능 ==> XML 수정기능 추가해야 한다.
2) Agent, Manager, Server 타이틀에 버전을 추가하자.(프로토콜 버전, 빌드버전)
3) Manager, Agent가 서버로 접속할때 버전 체크 하자.
4) Master와의 연결상태를 보여주자.
5) 일반유저일 경우, 롤백기능이 있어야 한다.
6) FTP 디렉토리 삭제 기능이 있어야 한다.
7) 사용자의 입장에서 이해할만한 메세지가 나와야 한다.
8) UpdateTool과의 연동에서 문제가 있다. 업데이트툴의 종료가 너무 빨라, 서버로 메세지를 보내지 않는다. 체크하자.
9) 서버시작과 서버가 on되는 시간사이에 패치를 할 경우, 문제가 생긴다. 서버시작상태와 On상태를 구분할 수 있는
방법이 필요하다.
10) Agent와 Manager가 자동으로 업데이트 되었으면 좋겠다...
* 20061030(조재식)
1. SunUpdateManager
1). Manager에서 PacketSize이상의 패킷을 받게 되면, 서버와의 연결이 종료된다.
==> 수정하지 못하고, 패킷자체의 크기를 4096이하로 줄였다...
==> 네트워크 엔진부분에서 수정되어야 할 버그같다..
2) 서버타입이 숫자로 나온다. 서버타입을 문자로 바꿔서 출력하게 하자.
3) 서버를 패치하거나, 실행, 종료 시킬때, 트리내용이 순간적으로 바뀐다. 이때, 팝업창을 통해서
명령을 내리면, 원하지 않는 서버로의 명령이 실행될 수 있다.
- 수정방법 1 : 트리 내용이 바뀌는 동안에는 팝업명령을 실행 할 수 없게 한다.
- 수정방법 2 : 트리의 내용이 바뀔때(on, off상태) 그림만 바뀌게 수정한다.
4) 기획팀에서 스크립트나, 맵을 패치할 경우 Assert나 기타 다른 에러메세지가 뜨면서, 서버가 죽는 경우가 있다.
이때, 서버는 실행된 상태이면, 마스터에서는 서버가 실제적으로 중단되어 있기 때문에 서버의 상태는
죽은상태( 또는 살아 있는 상태로 알게된다. 서버가 죽으면서 중단되는 경우도 있다. )로 인식하게 된다.
이를 다른 팀에서 원격에서 알 수 있도록, GameLog에서 맵과 스크립트 파싱에 대한 파일을 남겨서,
그 로그를 UpdateManager에서 알 수 있도록 하는 방법으로 수정하자.
5) 패치버전 정보 보여주자.
6) 서비스 모드 만들자.(UpdateServer, UpdateAgent )
- 게임서버들과 해깔린다.
7) UpdateAgent, UpdateManager 자동 업데이트 되도록 만들자.
8) 사내서버에 설치된 UpdateManager 경우는 "삐" 소리가 나면서, 터미널이 먹통이 된다.
원인 알아보자( alarm 과 관계있나? )