한개 서버로 여러 서비스 폴더별로 구분하여 관리
파일 시스템 구조
- 미리보기
서비스 생성
새로운 서비스(앱, 게임 등) 생성 시, GameData
, UserData
, OtherData
폴더가 함께 생성되도록 하고, UserData
폴더에는 Info.json
파일을 생성하여 신규 유저의 UID 부여에 참고하도록 한다.
{"next_uid": "000000000"}
유저 정보 생성(회원가입)
회원가입을 위해 서비스 이름
, 입력ID
, 입력Password
와 함께 서버에 요청한다.
- 서비스가 있는지 확인, 겹치는 유저 ID가 있는지 확인
- (
입력Password
+16자리의 salt
) 를 해시 암호화 한 패스워드를 얻는다 - UID의 폴더를 생성하고,
Base.json
을 작성한다.uid
,id
,pass
,salt
를 보관한다.
데이터 백업 압축파일 다운로드
백업했던 데이터 업로드하여 복원(덮어쓰기)
게임 데이터 업로드(기존 서버의 게임 데이터를 덮기)
게임 데이터 GET
로그인 기능
- SERVICE 내 ID PASS 검증.(즉 이 세 요소를 서버에 같이 전송해야함)
- 토큰발행 후 유저에게 전송, 서버에 보관, (토큰-UID) 쌍이면 괜찮으려나
- 아까 UserData 폴더 내에 Info.json 파일로 UID 관리했듯이, Token.json 하나 미리 마련해두고 여기에서 동적으로 관리하면 될 것 같다.
로그아웃 기능
- 클라이언트 앱이 종료되거나, 로그아웃 버튼을 누르면 서버에서 로그아웃 기능 수행. Key값이 해당 계정의 토큰값인 아이템을 삭제하면 되나?
- 또는 토큰이 추가된 후 일정 시간(24시간?) 지난 게 확인되면 역시 보관된 아이템을 삭제하면 될듯. 만약 삭제된 뒤로 유저가 토큰으로 유저데이터에 접근을 시도할 경우, 클라이언트에 “님 지금 토큰이 보관되어있지 않은 것 같은데 로그인좀 다시 하셈” 이라고 메시지를 보내면 될 것 같다.
유저 데이터 통으로 업데이트
유저 특정 데이터 업데이트
유저 데이터 모두 얻기
유저 특정 데이터 얻기
랭킹 시스템(업로드)
Get 랭크보드(상위 N명)
반응형
'다이어리' 카테고리의 다른 글
유니티 Muse 실험 프로그램 참여 (0) | 2024.11.07 |
---|---|
스팀웍스 사운드트랙 배포 검토, 1차 반려 (1) | 2024.11.01 |
스타트업 인턴 2일차 진행 중 (2) | 2024.10.23 |
Day 1 (0) | 2024.10.08 |
강의에서 자주 보이는 변수 및 주석위치의 정렬을 위한 세팅 (0) | 2024.10.06 |