DOTNET 4

유저 재화 - 게임 웹서버 만들기 12

전체 프로젝트에서 공통으로 사용되는 유저의 게임내 재화(Resource) 관리 서비스를 만들겠습니다. Table UserResource { uId bigint [pk] resource_id int [pk] amount int created_time datetime update_time datetime Indexes { (resource_id) }}Table UserResourceHistory { history_id bigint [PK, increment] uId bigint resource_id int [ref:> UserResource.resource_id] change_amount int before_amount int after_amount int reason_code..

패킷 암호화 / 복호화 - 게임 웹서버 만들기 7

이번 글에서는 서버 측에서 요청과 응답 데이터를 안전하게 처리하기 위한 패킷 암호화/복호화 기능을 구현해보겠습니다.테스트를 위해 Unity 기반의 간단한 클라이언트를 함께 제작하였으며,암호화된 데이터 송수신이 정상적으로 이루어지는지를 검증합니다.이 클라이언트는 추후 구글 로그인에서도 사용될 예정입니다. [패킷 암호화/복호화가 필요한 이유]- 평문 데이터는 노출 위험이 높음- 프록시 툴을 활요한 트래픽 가로채기를 통해 위조, 변조가 발생할 수 있음- 비신뢰 클라이언트와의 통신환경에서 데이터 위조, 변조에 대한 방지가 필요함 이러한 이유로 HTTPS와 별개로 패킷 암호화를 통해 보안성을 한층 강화하는 전략이 필요합니다. [미들웨어 생성]● 암호화 / 복호화를 미들웨어로 생성하면 생기는 장점- 컨트롤러나 라우..

게스트 로그인, Dapper, IDGen, 서비스팩토리 - 게임 웹서버 만들기 6

이후 구글로그인, 애플로그인 등으로 확장을 전제로 한 게스트 로그인을 만들어보겠습니다. [ERD 작성] https://dbdiagram.io/d dbdiagram.io - Database Relationship Diagrams Design Tool dbdiagram.io로그인 구현을 위해 사용자 기본 테이블을 먼저 정의합니다.dbdiagram.io에 가시면 무료로 편리하게 작성할 수 있습니다. [Users 테이블 정의]Table users { uid bigint [primary key] platformCode int platformUserId varchar status int createdTime timestamp updateTime timestamp indexes { (platfor..

Api 응답 양식 결정 - 게임 웹서버 만들기 3

콘텐츠를 본격적으로 개발하기 전에,먼저 API 응답 형식을 결정해두면나중에 유지보수나 확장에 훨씬 유리합니다. 이번 글에서는 API 응답 양식을 정리해보겠습니다.[Api 응답 양식]Api 응답 양식을 미리 정의해두면,클라이언트측에서 데이터를 처리하거나 디버깅할 때 일관된 구조의 데이터를 다룰 수 있어 편리합니다.또한 모든 API가 같은 구조로 응답하기 때문에, 협업이나 에러 처리도 쉬워집니다. ApiResponse 클래스는 전체 프로젝트에서 공통으로 사용될 예정이므로,Common이라는 전용 폴더를 만들어 이 안에 관리하도록 하겠습니다. 추가->새 폴더로 Common 폴더를 생성해줍니다. 추가 -> 클래스로 'ApiResponse.cs'클래스를 생성해줍니다. 패킷의 기본 응답 구조는 위와 같이 정의..