144 lines
6.1 KiB
Plaintext
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 과 관계있나? )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|