일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- lightsail
- nodejs
- streaming
- 좌표
- 아날로그영상
- Sharp
- 데이터
- resize
- AWS
- 튜토리얼
- 버킷
- Bucket
- 프라우드넷
- 이미지서버
- 화소
- 리사이즈
- 샘플링
- Thumbnail
- 이미지
- 스트리밍서버
- 노선
- 지하철역
- 디지털영상
- ProudNet
- 이미지프로세싱
- Node
- 시작하기
- multiparty
- S3
- 게임서버
- Today
- Total
Deep Studying
[프라우드넷] 게임 서버 엔진 프라우드넷 시작하기 본문
필자가 게임 서버에 대해 잘 알고있어 공유하기 위한 포스트는 아닙니다.
게임 서버에 대해 처음 배우기 시작했으며, 몇 번의 시행착오만 거쳐보고 바로 올리는 글이기 때문에, 멀리 보면 틀린 내용도 있을 수 있습니다. 하지만 완벽히 초심자의 입장에서 서비스를 바라본다는 것은 가치있는 일이라 생각하여 차근차근 포스트를 올려보려고 합니다. 잘못된 내용이나 부족해보이는 내용이 있다면 메일로 알려주시면 감사드리겠습니다. 경험자 분들의 조언도 환영합니다.
E-mail: rltjqdl1138@naver.com
목차
1. RPC 통신 이해하기
1-1. RPC통신 이해하기(1) - 용어 및 개념 정의
1-2. RPC통신 이해하기(2) - PIDL파일에 대해
2. 채팅 서버 만들기
2-1. 채팅 서버 만들기(1) - 프로젝트 초기 설정하기
2-3. 채팅 서버 만들기(3) - Marshaler 이용하기
2-4. 채팅 서버 만들기(4) Dictionary 사용해보기 / Room으로 관리하기
3. 원카드 게임 서버 만들기
3-1. 원카드 서버 만들기(1) - 프로젝트 시작하기
3-2. 원카드 서버 만들기(2) - GameRoom 클래스 구성하기
3-3. 원카드 서버 만들기(3) -
3-4. 원카드 서버 만들기(4) -
프라우드넷 시작하기
1. AMI 생성
프라우드넷은 2021년 중순 라이센스가 업데이트된 이후 AWS 마켓플레이스에서만 이용가능해졌습니다.
위 페이지의 가이드 영상을 따라한다면 손쉽게 설치할 수 있습니다.
프라우드넷의 이용 금액은 ( 라이센스 비용 시간당 1달러 + aws 서버비용 ) 으로 산정됩니다.
처음 프라우드넷을 구독한 사용자는 1달간 라이센스 비용을 무료로 이용할 수 있습니다.
2. 로컬 환경에에 설치
공부를 하거나 간단하게 로컬에서 먼저 개발해보려는 사람에게 라이센스 비용이 부담될 수 있습니다.
아래 방법으로 install 파일을 가져와 로컬에서 사용하면 동시 접속에 제한이 생기고 무료로 사용할 수 있습니다.
무료로 사용하시면 클라이언트 동시 접속에 20명 제한이 걸리는 것으로 알고있습니다.
다운로드: https://bucket-4nplwd.s3.ap-northeast-2.amazonaws.com/ProudNetSetup.exe
해당 링크는 개인적으로 사용하는 스토리지라 언제든 내려갈 수 있습니다.
링크가 내려갔다면 아래 방법을 사용하여 직접 Install 파일을 가져오실 수 있습니다.
위 가이드를 따라 원격 접속에 성공했다면 C드라이브에 들어갑니다.
ProudNetSetup.exe를 복사한 뒤 로컬 디렉터리에 붙여넣기를 합니다.
창 한 개는 원격 데스크톱, 나머지 한 개는 로컬 디렉터리 입니다.
기본적으로 클립보드를 공유하도록 설정되어있어 원격에서도 복사가 가능한 것 같습니다.
설치가 끝나면 다음과 같은 추가 설치창이 나옵니다. 꼭 설치하라고 하니 둘 다 설치해줍시다.
3. 예제 프로그램 실행해보기
저는 Visual studio 2022 community를 사용하며 해당 버전을 기준으로 설명하겠습니다.
C:\Program Files (x86)\Nettention\ProudNet\Sample 에 들어가시면 몇 가지 샘플이 있습니다.
앞으로 C#을 사용하여 개발할 생각이므로 SimpleCSharp 프로젝트를 실행해봅니다.
Common, Client, Server 이렇게 세 개의 프로젝트가 포함되어있습니다.
- Common: 서버와 클라이언트 모두 사용할 공통 모듈.
- Client: 클라이언트 코드
- Server: 서버 코드
Common 프로젝트 -> 빌드(B)
SimpleCSharpServer -> 디버그(G) -> 디버깅 없이 시작(W)
SimpleCSharpClient -> 빌드 (B)
빌드한 뒤 C:\Program Files (x86)\Nettention\ProudNet\Sample\bin\netcoreapp3.1 에 들어가시면
릴리즈된 파일들이 보입니다. 방금 빌드한 SimpleCSharpClient.exe를 실행해줍시다.
클라이언트가 서버에 connect 되었기 때문에 양 쪽에 메세지가 보입니다.
SimpleCSharpClient.exe를 하나 더 실행시켜봅니다.
위와 같이 서버 콘솔에 Client connected가 둘 다 정상적으로 출력되었으면 서버 콘솔에 1을 입력해봅시다.
양쪽 클라이언트에 메세지가 출력되면서 두 클라이언트는 P2P 그룹으로 묶였습니다.
이제 한 쪽 클라이언트 콘솔에서 a를 입력하면 다른 클라이언트에서는 메세지가 출력됩니다.
4. 정리하기
우선은 코드나 게임 서버에 대한 내용보다 처음 실행이 잘 되나 확인만 해보는 과정을 거쳤습니다.
클라이언트 코드에서 서버의 주소만 적절히 변경한다면 분명 클라이언트와 서버를 같은 머신에서 실행시키지 않아도 똑같이 동작했을 것입니다.
본격적인 내용은 다음 포스트에서 작성하겠습니다.
'게임서버' 카테고리의 다른 글
[프라우드넷] 채팅 서버 만들기 (3) Marshaler 이용하기 (2) | 2022.01.12 |
---|---|
[프라우드넷] 채팅 서버 만들기(2) RMI 통신하기 (0) | 2022.01.11 |
[프라우드넷] 채팅 서버 만들기(1) 프로젝트 초기 설정하기 (0) | 2022.01.10 |
[프라우드넷] RPC 통신 이해하기(1) - 용어 및 개념 정의 (0) | 2022.01.09 |
[프라우드넷] RPC 통신 이해하기(2) - PIDL 파일에 대해 (0) | 2022.01.09 |