UE MMO 콘텐츠 구현은 언제쯤 출시 예정이실까요?
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
C# 서버 듣고 돈이 안아까워서 C++서버랑 게임도 붙여보고 싶습니다. UE MMO 콘텐츠 구현은 언제쯤 출시 예정이실까요? 올해 말까진 출시됐으면 좋겠는뎅
- 네트워크
- MMORPG
- windows-server
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
C# 서버 듣고 돈이 안아까워서 C++서버랑 게임도 붙여보고 싶습니다. UE MMO 콘텐츠 구현은 언제쯤 출시 예정이실까요? 올해 말까진 출시됐으면 좋겠는뎅
미해결
이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
현재는 리슨 서버로 개발하고 있어서 서버 클라 코드가 동시에 들어가지만 데디케이티드 서버 개발은 서버 코드만 있으면 되기 때문에 더 편리하다 라고 하셨는데 이게 머릿속에 잘 그려 지지가 않습니다 ㅠ 데디케이티드 서버 개발 방식이라는게 아예 프로젝트를 분리해서 서버와 클라를 구분해서 개발 하는 것으로 생각 해야 할까요? (예를 들어 캐릭터 액터의 경우를 보면 같은 이름의 ABCharacter.h & cpp 파일이 있지만 안의 내용은 다르게 (어떤건 같은 내용) 되어 있다고 생각해야 할까요?) 아니면 프로퍼티 리플리케이션의 경우는 콜백으로 OnRep_ 함수가 클라이언트 측에서만 실행 할 수 있는 걸로 나오는데, 이렇게 되면 애초에 서버 클라가 분리된 형태로 볼 수 있고, 이를 기반으로 프로퍼티를 바꾸는건 서버 코드, OnRep_ 콜백 함수는 클라이언트 코드 로 해서 각 파트가 개발 하는 방식이 데디케이티드 서버 개발 방식일까요?
미해결
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
글로 질문은 처음이라 두서 없을 수 있다는 부분 양해 부탁 드립니다. char* StrCpy(char dest, char src) 함수에서 char * ret = dest; 선언을 통해 기존 원본 위치값을 저장해 주는것은 알겠는데, while문이 다 돌고 나서 'dest'의 값을 확인해 보면 문자열이 없는 것을 데이터를 확인 하여 알았습니다. 그 이유가 'dest++'을 통해 포인터의 시작 위치 값을 변경해 주어서 값이 없는 주소 부분을 가르키기 때문에 'dest'의 데이터가 아무것도 없는 것이 맞을까요? 그렇기 때문에 원본 데이터에는 정상적으로 들어있고, 함수내에서 'dest'의 주소 시작점이 뒤로 밀려나 데이터가 없다고 판단해도 되는지 궁금합니다.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
shared_ptr<T> TryPop() { // [data][data][ ] // [head][tail] CountedNodePtr oldHead = _head.load(); while (true) { // 참조권 획득 (externalCount를 현시점 기준 +1 한 애가 이김) IncreaseExternalCount(_head, oldHead); Node* ptr = oldHead.ptr; if (ptr == _tail.load().ptr) { ptr->ReleaseRef(); return shared_ptr<T>(); } // 소유권 획득 (head = ptr->next) if (_head.compare_exchange_strong(oldHead, ptr->next)) { T* res = ptr->data.load(); // exchange(nullptr); 로 하면 버그 있음! FreeExternalCount(oldHead); return shared_ptr<T>(res); } ptr->ReleaseRef(); } } static void IncreaseExternalCount(atomic<CountedNodePtr>& counter, CountedNodePtr& oldCounter) { while (true) { CountedNodePtr newCounter = oldCounter; newCounter.externalCount++; if (counter.compare_exchange_strong(oldCounter, newCounter)) { oldCounter.externalCount = newCounter.externalCount; break; } } } void ReleaseRef() { NodeCounter oldCounter = count.load(); while (true) { NodeCounter newCounter = oldCounter; newCounter.internalCount--; // 끼어들 수 있음 if (count.compare_exchange_strong(oldCounter, newCounter)) { if (newCounter.internalCount == 0 && newCounter.externalCountRemaining == 0) delete this; break; } } } TryPop을 할 때는 ExternalCount를 증가시키는데 head와 tail이 같을 경우에는 internal 카운트를 감소시키고 return 합니다. 만약 push가 없고 pop만 반복된다면, ExternalCount는 계속 증가하고 internalCount는 계속 감소하는것같은데 맞나요? externalCount 와 internalCount가 일정해야하는게 옳은 결과값 같아서 질문합니다.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
stomp allocator를 적용한 vector를 생성시에 내부에서 아래와 같이 1바이트를 할당하는데 그이후에 쓰기 액세스 오류가 발생합니다. memory, allocator파일 그대로 받아서 넣어도 동일합니다 ㅠ
해결됨
외워서 끝내는 네트워크 핵심이론 - 기초
안녕하세요. 널널한 개발자님 만약 서브넷 마스크를 0.0.0.0으로 설정하면 network ID가 모두 동일한 것으로 취급될 텐데 이 경우 네트워크 통신 효율이 나빠지는 건가요? 추가로 서브넷 마스크를 0.0.0.0으로 설정하면 PC로 들어오는 모든 패킷을 수신 받을 수 있게 되나요? 감사합니다.
미해결
이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
안녕하세요, 그러면 Listen Server로 저희 예제를 작동시킬 때 CharacterMovementComponent에서 자동으로 캐릭터 네트워크 움직임들을 앞서 살펴본 소스코드의 과정을 통해 보완 및 이동 시켜주고 있다고 보면 되는거겠죠? 그런 것 같지만 확인차 질문드려봅니다.
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
void IncreaseHeadCount(CountedNodePtr& oldCounter) { while (true) { CountedNodePtr newCounter = oldCounter; ++newCounter.externalCount; // 카운터가 정상적으로 1 증가할때까지 실행 if (_head.compare_exchange_strong(oldCounter,newCounter)) { oldCounter.externalCount = newCounter.externalCount; break; } } } while의 조건문에는 언제나 compare_exchange_weak를 사용했는데 while문 내부의 if에는 compare_exchange_strong을 사용한 이유가 궁금합니다.
미해결
AWS Certified Solutions Architect - Associate 자격증 준비하기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. https://docs.aws.amazon.com/ko_kr/general/latest/gr/rande.html#view-service-endpoints 이 엔드포인트는 VPC 엔드포인트와 같은건가요? 다른건가요?다르다면 이렇게 이해해도 될까요? 서비스엔드포인트-Custom vpc가 없는 서비스를 생성할때 디폴트로 생성되는 인터넷 기반의 서비스 진입지점 vpc엔드포인트-서비스 엔드포인트를 인터넷 통신없이 접속하기 위해 추가로 생성하는 서비스 진입지점. private ip를 갖는 eni와 연결.한 vpc 안에 여러 개의 엔드포인트(ex s3 sts kms sagemaker lambda apig/w등)를 생성하는 경우 여러개의 eni 필요함 만약에 vpc endpoint를 공통계정에 통합하면 어떻게 되는건가요? 공통계정의 vpc endpoint는 dns역할을 하고 세부 서비스는 각각의 상세 서비스로 가나요??ex endpoint *. vpce.kms.aws.amazon.com common account
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
a스레드에서 ReadLock 사용하고 b스레드에서 WriteLock을 사용하면 대기가 되는데(Empty_Flag가 아니니깐) ReadLock은 Write_Mask만 없으면 계속 들어올 수 있으니 끝임없이 ReadLock이 발생된다면 대기 중인 b스레드는 언제 WriteLock이 진행되나요?
해결됨
외워서 끝내는 네트워크 핵심이론 - 기초
안녕하세요 강사님,항상 유익한 강의들 감사합니다.강사님 강의들로 인해 많은 걸 배우고 있어요.수업을 듣던 중 한가지 궁금한 점이 있어 글을 남깁니다.RESTful API 는 강사님의 설명 덕분에 너무 잘 알겠는데.. REST API 는 무엇인가요? 그리고 RESTful API 와 REST API 의 차이점이 무엇인가요? 항상 감사합니다. Best regards,Minji Kim
미해결
AWS Certified Solutions Architect - Associate 자격증 준비하기
안녕하세요 강사님 우선 좋은 강의 감사드립니다 수업 진도를 많이 못나간 상황이여서요 혹시 강의 연장 가능할까요? 감사합니다.
해결됨
모든 개발자를 위한 HTTP 웹 기본 지식
컨트롤 URI라는 것 자체가 하나의 "uri 작명 방법론"(?) 인 거죠?? 가독성을 위해 최대한 명사 중심으로 하되, 정 안된다면 동사를 넣어도 된다는 것이 컨트롤 uri 설계라고 이해했는데 맞는걸까요 ???
해결됨
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
JobQueue에 쌓인 일감이 만약 극단적으로 많거나 작업 하나하나의 비용이 크다면 병목현상이 일어나지 않을까하는 의문이 생겼습니다. JobQueue 내에서도 겹치지 않는 작업은 멀티스레딩으로 처리하여 최적화하는게 과연 효율이 나올지, 또 실제 현업에서 이렇게 적용하여 사용하는지 궁금합니다!
해결됨
인프라공방 - 그럴듯한 서비스 만들기
서버 구성하기 미션을 진행중입니다. 서버 실행을 하고 curl http://localhost:8080 명령어에 의해서 응답까지는 옵니다. 외부망 보안그룹에서 다음과 같이 설정했습니다. 브라우저에서 요청이 가는지 확인하고 https의 443 포트는 tls 설정을 하지 않으면 접속이 안되는걸로 알고 있어서 브라우저에서 요청하기 위해서 80포트를 전체대역대에 대해서 열어줬습니다. 인터넷 게이트웨이도 생성이 되어있고, 외부망의 라우팅 테이블에서 인터넷게이트에 대해서 전체대역대로 설정이 되어있습니다. curl명령어를 통해서 요청을 보내봤는데 connection refuesed 가 뜹니다. 브라우저에서 http://3.36.115.136:80 으로 보내봤는데도 사이트에 연결할 수 없음 3.36.115.136 에서 연결을 거부했습니다. 와 같은 오류가 뜹니다. ping 체크 잘 되고 port 체크에서도 telnet: Unable to connect to remote host: Connection refused 와 같은 오류가 발생합니다. 어떤점을 더 체크해봐야할까요? 3tier 구성하기 강의를 들으면서 진행하다가 미션을 하지 않을것을 확인하고 중간에 미션을 진행하고 있는데 혹시 이점에서 문제가 있었을까요?
미해결
모든 개발자를 위한 HTTP 웹 기본 지식
stateful의 경우엔 고객 입장에서 점원이 이전 거래내용을 기억할거라고 판단하는게 맞나요? stateless의 경우 고객 입장에서 점원이 거래내용을 기억 못할테니 매번 대화마다 이전 데이터를 자세하게 전부 설명하는거죠? 제가 이해한게 맞을까요?
미해결
이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
characternonplayer의 공격 애니메이션 rpc를 어떻게 해야할지 모르겠습니다 h: UFUNCTION(Server, Reliable) void ServerAttack(); UFUNCTION(Client, Unreliable) void ClientRPCAttack(); cpp: void ServerAttack_Implementation() { ProcessComboCommand(); ClientRPCAttack(); } void ClientRPCAttack_Implementation() { UAnimInstance* AnimInstance = GetMesh()->GetAnimInstance(); AnimInstance->StopAllMontages(0.0f); AnimInstance->Montage_Play(ComboActionMontage); } 플레이어가 아닌 액터들의 rpc는 어떤식으로 진행해야하나요?
해결됨
이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
안녕하세요, 교수님. 교수님 강의를 듣고 포트폴리오를 한번 만들어보려고 하고 있습니다. 구현 중 애니메이션 관련 문제에 도달했는데요, Listen Server 실행 시, Server 측에서 'Client가 조종하는 Character의 애니메이션'을 관찰하면 해당 캐릭터 애니메이션이 미약한 떨림? 렉? 프레임저하? 가 발생하는 문제였습니다. 제 프로젝트의 문제인 줄 알았으나, 교수님의 part3 프로젝트에서도, Unreal 기본 템플릿(3인칭) 에서도 같은 문제가 발생하였고, 구글링을 해보았더니 엔진 상으로 알려진 문제인 것 같습니다. https://forums.unrealengine.com/t/clients-jitter-on-listen-server/343826?page=2 https://forums.unrealengine.com/t/listen-server-clients-animations-are-jittery-laggy/689493/15 구글링을 하여 찾아본 해결 방법으로는 애니메이션이 2배로 빨라지는 문제가 새로 발생하는 등, 확실하고 깔끔한 해결 방법이 없는 것 같습니다. 직접 해결해보려 엔진 코드를 열어보고 있지만 역시 너무나 어렵습니다.. 이런 경우에는 어떻게 해결해야 하나요 ... ?
미해결
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 OnRecvPacket 함수 내부에서 HandlePacket 함수의 파라미터로 PacketSessionRef 타입 파라미터를 넘겨줄 때 왜 PacketSessionRef의 생성자를 호출해서 추가로 만든 객체 를 넘겨주는지 궁금합니다. 이 부분이 혹시 shared_from_this를 활용해서 PacketSession으로 캐스팅해서 객체 본인을 넘겨줘야 하는게 아닌지 궁금합니다.
미해결
BHPT - 호스트 기반 모의해킹 기초
학습 관련 질문, 문의, 트러블슈팅 등은 모두 레드라쿤 BHPT 디스코드 채널들을 통해 이뤄지고 있습니다. 강의를 구입하신 분들은 그쪽으로 와주세요!