25%
66,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
JsonUtility.FromJson 관해서 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다름이 아니라 Json-> Object로 변환할 때 JsonUtility.FromJson 해당 함수 이용하는데 딕셔너리 형태로 된 경우는 파싱이 잘 안되는데, 파싱하는 방법을 알려 주실 수 있을까요??ex) { "Result": { "CreateOk": true } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
DB 쓰레드 질문입니다
존 별로 병렬처리를 한다고 했을 때도 DB쓰레드를 만들어야 할까요? 병렬처리를 위함이라면 각 존 쓰레드에서 db까지 처리해도 될거 같아서 질문드립니다.
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
AccountServer를 클라우드서버 인스턴스에서 돌려보고 싶습니다 ㅠ
루키스님이 바쁘신 것 같아 어떻게든 제 스스로 해결 방법을 찾아보고자 했지만 더이상 어떤식으로 접근을 해야할지 몰라 실마리라도 얻고자 이렇게 질문글을 쓰게 됬습니다. 현 상황은 이렇습니다. 오라클 클라우드 서버에서 인스턴스를 임대받아 우분투 os에서 포트를 열고 AccountServer를 돌려보았습니다. 이후 유니티 로그인창에서 계정생성을 시도했더니 유니티 콘솔창에 에러로그가 나왔습니다.(Cannot conncet to destination host) ------------------------------------------- => 제 프로젝트 쪽에 문제인가 싶어서 제 컴퓨터 내에서 AccountServer를 돌리고 계정생성을 시도하니 콘솔창에 true가 정상적으로 찍힙니다. => 혹시 포트가 제대로 개방이 안됬나 싶어 클라우드 서버에서 돌리는 AccountServer에 ping을 쏘아 주었는데 포트는 열려있다고 나왔습니다.(인터넷에 tcping이란 프로그램으로 핑을 쏘았습니다) => 제가 클라우드 인스턴스에서 사용하는 OS입니다. => 포트 개방을 위해 오라클 클라우드 네트워크 보안 수신 규칙설정에서 아래와 같이 했습니다 7777번포트 열었습니당 => 우분투에서도 아래와 같이 포트 개방하였습니당 => 우분투에서 방화벽은 꺼두었습니다 => 그런데 AccountServer프로젝트 내의 AccountContoller내에 Test함수를 만들어서 실행해보니 이건 잘 작동하는 것 같습니다 ㅠ => 그러나 계정생성 시도는 계속해서 cannot connect to destination host라는 에러로그가 뜨고 있습니다. ㅠㅠ => 제 컴퓨터에서 AccountServer돌리고 GameServer는 오라클 클라우드 인스턴스에 돌린 후, 제 컴퓨터에서 클라이언트를 실행해 접속해보면 잘 되는거보니 역시 포트 개방 문제일가요?ㅠㅠ => 어느 부분을 더 살펴보면 좋을까요?ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
ShareDB를 웹DB와 합칠경우
먼저 좋은강의 너무 감사드립니다. 현재 AWS에 WEB서버에 AccountDB 설정해서 로그인과 회원가입은 JSON으로 처리했습니다. 강의 내용중 ShareDB를 ServerDB와 같은 로컬에 있을경우에 대해서 설명 주셨는데, 혹시 ServerDB를 AccountDB와 같이 사용할경우 Server측에서 해당 서버정보를 JSON으로 처리 할려고 하는데 괜찬을지 문의 드립니다. 편한시간에 회신 부탁드립니다. 참고로 저는 웹개발쪽만 30년정도 하다가 만들고 싶은 겜이 있어서 더 늦기 전에 만들어 볼려고 한땀한땀 걸어가고 있습니다. 다소 생뚱맞는 질문이더래도 양해 부탁드립니다^^
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
WebServer에 대한 여러 질문
안녕하세요! 모든 강의를 듣은 후 웹서버에 대하여 흥미가 생겨서 여러 자료를 찾아보니 여러 궁금한 점이 생겨 질문드립니다! 웹서버를 알아보니 크게 보통 정적데이터를 처리하는 WebServer와 동적데이터를 처리하는 WAS로 구분 되어있었습니다. ASP.NET API는 tomcat과 같은 WAS와 같은 것 인가요? 요즘 모바일 게임에서 사용하는 웹서버(구글, 페이스북 연동, 게임종료 후 게임저장, 랭킹시스템, 구글 결제확인 등등..)의 경우에는 저희가 만든 로그인 기능의 API처럼 여러 API를 만들고 뭉쳐서 운영하면 그것이 시중에 나온 게임 웹서버라고 생각하면 되나요? 보통 웹서버를 이용하는 모바일게임의 경우 이용자가 늘어날경우 짧은 공부 종합했을때 L4s/w를 경유하여 서버를 분산시키고 서버를 하나 더 만들것 같은데 실무에서는 어떻게 대응하나요? 또 서버가 늘어난다 한들 DB는 한개로 유지해야 할 것 같은데 DB의 부하에 대해서는 만들때 "잘" 만드는 방법 외에는 없나요? 강의 정말 감사합니다. 앞으로 남은 번외강의 2편 또한 잘 듣겠습니다. 2022 승승장구 하세요~
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
Server 토큰검증 적용 질문
영상에서 해커가 악의적으로 AccountServer를 통하여 게임서버에 들어오지 않고 곧 바로 게임서버로 붙을 수 있는 있어서 AccountServer에서 발급 받은 토큰을 게임서버에서 SharedDB를 통하여 토큰을 발급유무를 검증한다고 이해했습니다. 영상에서는 게임서버에 로그인시 토큰 검증하는 코드가 없는데, 만약 해당 기능을 넣는 다면, 그냥 게임서버에 로그인 패킷이 들어오면 SharedDB를 통하여 토큰유효 유무를 확인 후 이상있으면 Disconnected해버버리면 문제가 해결 되는 것인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
SharedDB 질문 드립니다.
안녕하세요. 클라이언트와 AccountServer 사이에 https통신이 이루어 진다고 한다면 MITM공격이 이루어 질 수 없는 이유가 인증된 발급기관에서 발급한 공개키가 담긴 인증서를 클라이언트에게 보내기 때문인가요? 올바른 발급기관에서 보낸 공개키 인증서인지 클라이언트에서 알 수 없다면 MITM공격으로 중간에서 가로채서 서버에서 발급한 공개키로 중간에 값을 열어 보고, 또한 클라이언트에게 자신이 마치 진짜 서버인 것 마냥 행동할 수 있을 것 같습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
게임 해킹 개론 질문드립니다.
안녕하세요. 혹시 이후에 게임 해킹 (예: 모의 자작 클라이언트 해킹을 통한 서버 해킹) 같은 게임 해킹이나 좀 더 나아가 해킹과 관련하여 공부하신 내용들도 공유하실 계획이 있으실지 궁금합니다. 고급 프로그래머로 가는 길에는 시중의 도서들에서 다루지 않는 상위 단계의 해킹 지식들을 배우면 도움이 될 것 같습니다. 클라이언트와 패킷 스누핑을 통해 기존의 서버들을 흉내낸 서버들이 어떻게 만들어지는지 궁금하기도 합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
서버 구조 개론 질문있습니다.
안녕하세요. 강의에서 대기열 기능에 대해 언급해 주셨는데 대기열 기능의 경우 최근에 생긴 개념으로 보이고 저마다 구현 방법도 공통점도 있지만 조금씩 다를 것이라 생각합니다. 혹시 대기열이 발생하는 조건과 빠져나가는 조건등은 일반적으로 AccountServer <-> GameServer 간에 어떻게 판단되고 통신되는지 궁금합니다. 이후 AccountServer 강의에서 다루어 주실 지 모르지만 일단 질문을 남겨봅니다. 그리고 이전에 경험해 보셨던 실 서비스에서 AccountServer와 DB의 경우 1대였고 1:N으로 GameServer들과 통신했었는지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
DummyClient 질문 드립니다.
안녕하세요. 강의에서 실제 서버 부하 테스트에서는 클라이언트들이 똑똑한 AI를 갖는게 아니라 서버에 부하만 줄 수 있을 정도의 AI를 갖는 것이 대부분이라고 말씀해 주셨는데요. 요즘 나오는 게임들을 보면 Auto기능이 있어서 클라이언트가 알아서 성장하고 퀘스트를 깨고 그럽니다. 그렇다면 자동 성장 MMO 에서는 부하 테스트의 방식이 조금 달라졌다고 볼 수도 있을까요? 그리고 다른 분이 질문해주신 Q/A를 읽다보니 테라나 WOW같은 게임에서는 간헐적으로 발생하는 미해결의 버그들이 많다고 말씀하셨는데 몇 년 정도 오래 서비스 한 게임들은 대부분의 버그들은 다 잡히는 것이 아닌지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
유익한 강의 잘 들었습니다.
유익한 강의 잘 들었습니다. 테라 아키텍처를 이전에 소개한 글을 보았을 때 말씀하신대로 대륙단위로 프로세스를 가지고 있었습니다. 그리고 대륙안의 모든 Object가 JobSerialize를 가졌고 쓰레드 별로 복사되어 동기화 되는 World를 가졌던 것으로 기억합니다. C++강의에서 Object별로 JobSerialize를 가지는 Actor모델 구조로 가게될 시, JobSerialize 안전장치 기법과 쓰레드 각각이 World를 가지고 있고 서로 동기화 되는 구조도 같이 소개해 주시면 도움이 많이 될 것 같습니다. 하루 잘 마무리 하세요! (여담으로 아이온은 JobSerialize방식이 아니라고 들었는데 쓰레드들이나 프로세스들로 구분된 지역을 가지고 있는게 아닌가 생각이 드네요.)
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
HP 연동 질문있습니다
유익한 강의 감사드립니다. 플레이어가 게임을 나갈 때 DB에 저장하는 Job이 불리어지고 이 Job이 처리되기 전에 플레이어가 재 로그인에 성공한다면 이전에 DB에 저장된 HP로 로그인이 가능할 수 있지않은가요.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
질문 있습니다
서버 실행 시키고 유니티 실행 시키면 아래 사진과 같이 로그인 했다는 로그는 뜨는데 플레이어와 몬스터가 안나옵니다. 이런 경우에는 어떻게 해야하나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
DbContext 연동 질문
영상 3분 20초쯤에 sqlserver와 loggingconsole 다운 받고나서 Alt+Enter로 using entityframeworkcore를 추가 하셨는데요 sqlserver를 다운 받으면 entityframeworkcore가 기본으로 딸려와서 entityframeworkcore가 적용이 되는건지 아니면 다른이유가 있는건지 궁금합니다
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
화살이 안사라지는 증상과 관련하여 하나 여쭙고 싶습니다.ㅜㅜ
영상을 찍고 많은 정보를 알려주신 루키스님 너무나 감사합니다. 루키스님의 영상을 열심히 보며 MMORPG에 대해서 하나씩 하나씩 배워나가고 있습니다. 그런데 아직 버그를 잡는 능력이 미숙하여 도무지 해결방법을 못찾기에 도움을 요청드리고자 합니다. 우선 루키스님의 강좌를 보시면 똑같이 따라서 프로젝트를 만들면서 진행 중 화살이 사라지지 않는 버그가 나타났습니다. ㅠㅠ 제가 분명 뭔가 잘 못따라 했겠거니 생각해서 루키스님이 올려주신 프로젝트를 다운받아서 다시 시도해 보았습니다. 다행이 화살이 잘 사라지는 것 같아서 제가 따라한 코드를 비교해보았는데요. VisionCube.cs파일의 제일 하단에 Owner.Room.PushAfter(100, Update); 이 코드줄이 제가 작성한 값과 다른 것을 발견했습니다. 저는 Owner.Room.PushAfter(500, Update); 이렇게 작성을 하였는데요. 500이라는 수치를 100으로 낮춰보니 제가 강좌를 따라 작성한 프로젝트에서도 화살이 사라짐을 발견하였습니다. 그런데 가만히 생각해보니, 단순히 시간을 0.1초에서 0.5초로 VisionCube의 Update함수 주기를 약간 늘렸다고해서 화살이 사라지지 않는다는게 뭔가 이상하다고 생각됬습니다. 이번엔 루키스님이 올려주신 예제프로젝트에서 시간값을 0.5초로 늘려보았습니다. 그랬더니 화살이 사라지지 않는 현상이 동일하게 나타났습니다. 그 때부터 하나씩 살펴보면서 어디에서 문제가 있는지 열심히 로그를 남겨보았습니다. 처음에는 클라에서 디스폰패킷을 제대로 받는지부터 확인작업에 들어갔습니다. 아니나 다를까 화살의 디스폰 패킷이 날라왔다가 안날라왔다가 이러는 현상을 발견하게 되어 서버 쪽이 원인으로 생각되었습니다. 서버의 어느 부분에서부터 이런 현상이 일어나는지 찾아보려고 일주일 넘게 머리를 싸맸지만 제 능력으로는 도무지 원인을 알길이 없어서 바쁘신 걸 알지만 어렵게 질문을 드리게 되었습니다. 이것때문에 일주일 내내 가슴에 고구마100개가 박혀있는 느낌을 받다보니 너무나 힘들어 질문을 드립니다. ㅜㅜ 도와주십시요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
GenProto 실행 에러가 생겼습니다.
안녕하십니까. DB연동 실습 - 접속 강의중 패킷을 추가는 부분이 있습니다. 5:30 추가하고 난뒤 GenProto.bat을 실행하니까 다음과 같은 에러가 출력되면서 진행이 되지 않아서 질문드립니다. 이전부터 이어온 강좌 파일에서 작성하는 중이었습니다. 현재 어떤식으로 해야할지 모르겠습니다. 부족한 정보가 필요하시다면, 더 드리도록 하겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
아이템 슬롯 중복문제 질문드립니다.
몬스터를 한 번에 여러마리를 잡을 경우 이런 식으로 슬롯이 중복되는 문제가 자주 발생해서 아래 사진처럼 PushAfter로 타이밍을 조절해서 해결은했는데.. 맞는 방법인지 궁금합니다. 아니면 다른 해결 방법도 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
호출스택
14:07에서 호출스택을 보고 step1 을 호출한 부분을 gameroom update라는것을 바로 아시던데 어떻게 아는거죠?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
UI가 아닌 캐릭터를 클릭하고 싶은 경우
안녕하세요 ~! (예를들어 디아블로의 포탈 같은걸 만들기 위해) 맵에 있는 지형지물을 UI_Base를 상속하게 만들었는데 서버 선택창과 유사하게 클릭이벤트까지 BInd를 다 했는데도 불구하고 마우스 클릭을 인식하지 못합니다. ㅜㅜ 해당 지형지물에 Collider를 추가해야하는지, 혹은 다른 방법이 있는지 궁금합니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
Curl error 51 에러, SSL 인증서
안녕하세요. 테스트 과정에서 클라에 다음과 같이 에러가 납니다. Unknown Error가 뜹니다. 또 AccountServer를 실행하면 SSL 인증서를 신뢰하겠냐고 뜹니다. 아니요를 누르면 평소대로 실행이 되구요. 예를 누르면 인증서를 설치 한다고 하는데, 인증서 설치가 필요 한가요?