SERVER_PROCESS_CRASHED
Server Process exited without calling process ending with exit code -532462766. (C:\game\Sample.exe a)






게임리프트 콘솔에 빌드를 업로드하고 플릿을 만들었는데 Activating 상태에서 넘어가질 않는다.

조금 더 기다리면 위와 같은 에러 이벤트를 볼 수 있다.


ProcessReady 함수만 제대로 호출되도 Active 상태로 전환될텐데, 아무래도 해당 함수가 호출이 안되서 계속 Activating 상태로 남아있는듯 보인다.



* ProcessReady 호출 이전에 프로그램이 죽는 포인트가 없는지 검사한다.

* 빠진 DLL이 없는지 검사한다. (DLL에서 사용하는 또다른 DLL도 있을 수 있으니 ilspy / dependency walker 등을 사용하자)

* VS 재배포 가능 패키지가 미리 설치된 이미지를 기반으로 할 수는 없는 것 같으니, 서버 빌드에 설치파일 포함시켜서 스크립트를 짜자

* vs2015의 경우 msvcXXX 말고도 concrt140, vcruntime140, ucrtbase 파일도 필요하다.

* 지원하는 OS가 Windows Server 2012 이기 때문에 닷넷은 4.5.x 까지 기본으로 돌아간다.



[가장 쉬운 방법은 ec2 인스턴스를 새로 만들고, 완전 클린상태에서 게임 빌드를 복붙해놓고 돌아가는지 안돌아가는지 체크한다. 그러면 왜 안돌아가는지까지도 볼 수 있다.]


* exit code : -1073741819 AccessViolation

                      -532462766 디펜던시 에러

Posted by pjc0247
TAG AWS

What is Cloud Canvas?

Cloud Canvas 기능은 엔지니어 혹은 테크니컬 디자이너들이 커뮤니티 뉴스피드, 일일접속 보상, 서버 사이드 전투 계산 등의 작업을 만들고자 할 때, 서버측의 백엔드 지식 없이도 비쥬얼 스크립팅을 통해서 이를 가능할 수 있도록 도와줍니다.
Cloud Canvas와 Lumberyard Flow Graph를 이용하면 게임에서 바로 AWS 서비스(DynamoDB, Lambda, S3, Cognito, SNS, SQS)에 접근하는것이 가능합니다.
이 기능에 대한 데모는 Lumberyard 기본 샘플 중 하나인 "Don't Die" 게임에 포함되어있으며, 이 샘플 게임에서는 일반적인 온라인 기능들(선물, 리더보드, 인게임 메세지 등등)을 어떻게 만들어야 하는지에 대한 방법을 보여줍니다.


클라우드 캔버스를 사용하면 아래와 같은 장점이 있습니다.

 직접 서버를 호스팅하고, 운영하고, 셋업하는 수고를 없에줍니다.

 Flow Graph 비쥬얼 스크립팅 도구를 이용하면, 클라우드 기능들을 디자이너들과 게임플레이 엔지니어들이 직접 다룰 수 있게 되면서 게임 제작에 소모되는 버틀넥을 줄여줍니다.

 Lumberyard 에디터 안에서 클라우드 리소스를 업데이트 할 수 있게 되어서 개발 주기가 단축됩니다.

 

클라우드 캔버스는 아래의 기능들을 제공합니다.

 게임에 클라우드 기능을 추가할 수 있는 도구들을 제공합니다.

 플로우그래프의 노드가 아마존 서비스들에 직접적으로 통신할 수 있는 기능이 제공됩니다. (DynamoDB, S3, Cognito, Lambda, SQS, SNS)

 AWS 리소스들을 개발자들과 플레이어들이 각각 어디까지 접근 가능한지에 대한 퍼미션 제어 도구가 제공됩니다.

 AWS 디플로이를 관리할 수 있습니다.

 플레이어 로그인 기능을 제공합니다. (익명 로그인, 혹은 아마존, 페이스북, 구글, 등등) 유저들은 다양한 기기에서 하나의 데이터에 접근할 수 있게 됩니다.


* 이 글은 아래 문서의 일부에 대한 번역입니다.

https://s3.amazonaws.com/gamedev-tutorials/Tutorials/Cloud_Canvas-Overview_of_Cloud_Canvas-(01)_What_is_Cloud_Canvas_v1.pdf


* 아래부터는 직접 작성한 내용입니다.


위에서 언급된 바와 같이 Cloud Canvas는 Lumberyard 엔진에 AWS 기능들을 사용할 수 있도록 도와줍니다.
이는 Flow Graph 스크립트에서 작동하며, 만약 Flow Graph 스크립트가 아닌 C++ 환경에서 AWS 를 사용하고자 한다면 그냥 C++ 용 AWS SDK를 바로 사용하시면 됩니다.


Lumberyard의 기본 샘플 중 Don't Die 예제에는 AWS Lambda를 이용하여 리더보드/최고점수 저장 기능을 구현하는 예제를 보여줍니다.


게임 코드 중 Flow Graph 노드로 AWS Lambda 함수 실행을 수행하는 모습


클라우드 서비스 이용에 있어 필수적이라고 할 수 있는 JSON,
JSON 기능 또한 노드 형태로 제공됩니다. (파싱, 덤프, 이터레이트)


Flow Graph 에디터에서 AWS 노드를 추가하는 화면,
코드 없이 DynamoDB에 바로 접근하여 데이터를 조작할 수 있습니다. 이러한 기능들은 프로그래머 뿐만 아니라 레벨 디자이너들도 클라우드 기능을 다룰 수 있도록 해줍니다.



'기타' 카테고리의 다른 글

[VSCode] 확장 프로그램 작성하기  (0) 2016.07.11
웹소켓 프레임 구조  (0) 2016.06.30
C++의 Nested Namespace  (0) 2016.04.08
[cocos2d-x] Vibration(진동) 기능 사용하기  (0) 2016.02.22
[Lumberyard] What is Cloud Canvas?  (0) 2016.02.11
test  (0) 2016.01.26
Posted by pjc0247


/Library/Ruby/Gems/2.0.0/gems/aws-sdk-core-2.2.11/lib/seahorse/client/plugins/raise_response_errors.rb:15:in `call': The request signature we calculated does not match the signature you provided. Check your key and signing method. (Aws::S3::Errors::SignatureDoesNotMatch) from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-core-2.2.11/lib/aws-sdk-core/plugins/s3_sse_cpk.rb:18:in `call' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-core-2.2.11/lib/aws-sdk-core/plugins/param_converter.rb:20:in `call' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-core-2.2.11/lib/seahorse/client/plugins/response_target.rb:21:in `call' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-core-2.2.11/lib/seahorse/client/request.rb:70:in `send_request' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-core-2.2.11/lib/seahorse/client/base.rb:207:in `block (2 levels) in define_operation_methods' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-resources-2.2.11/lib/aws-sdk-resources/services/s3/file_uploader.rb:42:in `block in put_object' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-resources-2.2.11/lib/aws-sdk-resources/services/s3/file_uploader.rb:49:in `open_file' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-resources-2.2.11/lib/aws-sdk-resources/services/s3/file_uploader.rb:41:in `put_object' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-resources-2.2.11/lib/aws-sdk-resources/services/s3/file_uploader.rb:34:in `upload' from /Library/Ruby/Gems/2.0.0/gems/aws-sdk-resources-2.2.11/lib/aws-sdk-resources/services/s3/object.rb:231:in `upload_file' from build.rb:240:in `<main>'



위와 같은 에러가 발생하여 확인해보니



aws crediential을 설정하는 부분에 띄어쓰기 문자가 들어있었다. 띄어쓰기나 다른 들어가면 안되는 문자가 있는지 확인해보자

Posted by pjc0247
TAG AWS