본문 바로가기
반응형

IT/TIL312

게임서버 개발자 도전기 TIL(2023/11/13) 오늘 한 것 팀 프로젝트 중간 발표 팀 프로젝트 관련 회의 튜터님이 주신 피드백 종합 및 개선점 찾기 배운 것 유명한 서버 강의를 듣고 코드를 가져와 만들었는데, 어떻게 차별점을 만들어서 어필할 것인지에 대해 고민했습니다. 우선 강의에 있는 코드를 가져와 구현을 하고 개선할 점이나 구조적으로 변경 할 것들을 생각하기로 했습니다. 해당 내용은 어느정도 인지를 하고 있었고, Server Core 부분의 코드를 하나씩 뜯어 고칠 예정이였습니다. Array.Copy를 사용하는 부분을 성능을 위해 Buffer.BlockCopy를 사용하는 식으로 개선하고 있습니다. 오브젝트에 대해서 동시성 이슈는 어떻게 처리할 것인지에 대한 고민 파밍 박스에 아이템을 동시에 줏을려고 했을 때 발생하는 동시성 이슈에 대해서 말씀해주.. 2023. 11. 14.
게임서버 개발자 도전기 TIL(2023/11/10) 오늘 한 것 팀 프로젝트 진행 파밍 박스 동기화 관련 기능 구현 팀 프로젝트 발표 준비 노션 페이지 작성 시연 영상 촬영 배포, 유저 테스트 일 픽스 팀 프로젝트 관련 회의 배운 것 발표를 준비하면서 다시 회고를 하는 좋은 시간이였습니다. 준비를 하면서 어떤 부분이 부족한 것인지에 대해서 알게 되었습니다. 생각했던 것보다 시간이 부족하고 해야 할 것들이 많이 남아있었습니다. 기획 단계에서 욕심이 너무 많았던 것 같습니다. 느낀 점 시간이 엄청 빠르게 가는 것 같습니다. 벌써 중간이나 와버렸습니다. 다음주 월요일이면 중간 발표입니다. 중간 발표 후 다시 마음을 잡고 구현해야 할 부분들을 하나씩 채워나갈 예정입니다. 2023. 11. 13.
게임서버 개발자 도전기 TIL(2023/11/09) 오늘 한 것 팀 프로젝트 진행 Protobuf 패킷 다시 수정 수정 후 해당 패킷에 맞게 코드 리팩터링 팀 프로젝트 관련 회의 내일 기획 멘토링 관련 준비 배운 것 패킷에 담는 데이터를 필요한 데이터만 담도록 설계하자 패킷의 용량(bytes)가 클 수록 처리해야 하는 양이 늘어나면서 패킷 처리 지연 시간이 발생 할 수 있다. 퀘이크라는 FPS 게임은 30bytes의 패킷을 초당 10 ~ 20 개를 처리한다고 한다. 패킷을 수정 시 꽤 많은 것들을 변경해야 하는 문제점이 있다. 클라이언트와 서버 둘 다 패킷을 변경 시 수정해야 할 소요가 꽤 되는 것이 문제다. 느낀 점 게임 서버의 성능을 고려하기 위해 새로운 기술을 도입하는 것도 방법이지만, 패킷 설계 단계에서부터 미리 준비를 하는 방법도 있다는 것을 알.. 2023. 11. 10.
게임서버 개발자 도전기 TIL(2023/11/08) 오늘 한 것 팀 프로젝트 진행 Protobuf 패킷 수정 수정 후 클라이언트와 서버 수정 팀 프로젝트 관련 회의 내일 기획 멘토링 관련 준비 배운 것 클라이언트와 서버가 주고 받는 패킷에 대해서 고민하고 다시 정의 수정한 패킷을 적용하면서 패킷 설계가 어떤 부분이 부족한지 고민 하나의 패킷에 너무 많은 정보를 담으면 수정할 때 소요가 많아지는 것 하나의 패킷에 담을 데이터가 많아지면 발생할 문제 만약에 많은 정보를 담을 수 있는 패킷 중에 반영할 데이터가 적다면? 결국에 사이즈가 큰 패킷 자체를 전송하게 되서 성능적으로도 문제가 있지 않을까? 느낀 점 멀티플레이 게임에서 고민해야 할 것들이 상당히 많다. 고민한 부분의 완벽한 해법을 고민하기 보다는 구현을 하면서 테스트 해보자. 머리로만 고민을 하고 직접.. 2023. 11. 9.
게임서버 개발자 도전기 TIL(2023/11/07) 오늘 한 것 팀 프로젝트 진행 Rest API 서버 Entity framework(엔티티 프레임 워크) 문제 해결 팀 프로젝트 관련 회의 내일 기획 멘토링 관련 준비 기획 진행 상황 문서화 각 팀원들이 한 일 작성 프로젝트의 컨텐츠 추가 및 방향성 재설정 마감 기한을 보고 보류 할 기능은 보류하기 배운 것 엔티티 프레임워크를 사용하면서 MySQL Nuget 패키지와 호환성 문제를 해결할려고 노력했습니다. 알고보니까 호환성 문제가 아니라 테이블의 연관관계를 잘못 설정해서 생긴 문제였습니다. 해당 기술을 사용할 때 모르는 부분은 꼭 가이드라인을 찾아보자. 해당 기술을 전부 이해해서 사용할 수는 없지만, 궁금한 부분을 꾸준히 공부해서 글로 작성해보자. 느낀 점 엔티티 프레임워크를 너무 쉽게 봤던 것 같습니다... 2023. 11. 8.
게임서버 개발자 도전기 TIL(2023/11/03) 오늘 한 것 팀 프로젝트 진행 우분투 게임 서버 해외 IP 차단 관련 자료 리서칭 팀 프로젝트 관련 회의 배운 것 게임 서버에서 런타임 에러가 발생했는데, 확인해보니까 중국 IP의 접속 시도였습니다. 배포 후 외부 IP에서 접속을 시도할 수 있게 되면 이미 보안에 취약해 진다는 것을 알게되었습니다. GeoIP Database를 사용해서 특정 나라 IP를 차단할 수 있다는 것을 알게되었습니다. GeoIP는 말그대로 location을 기반으로 저장되어 있는 IP Database 오픈 소스입니다. 느낀 점 실제로 런칭을 하고 유저를 받는다면 고려할 것이 상당히 많다는 것을 매번 느끼고 있습니다. 모든 것을 해결할 수는 없지만 차근차근 하나씩 해결해 나가야 겠다고 생각했습니다. 2023. 11. 6.