윈도우 서버에 대해서/게임 서버 프로그래밍 입문

게임 서버 프로그래밍 입문 소스를 Visual Studio 2015에서 -> 2017로

중년 플머 김씨 2015. 8. 11. 00:00

제 책 소스(http://rosagigantea.tistory.com/589) 를 실습 하시려다가
에러가 난다고 하시는 분들이 많아서,

이를 좀 정리해서 해결법을 올려 드립니다.

(최근 회사일이 꽤 많이 바뻐서 시간을 못 내드리는 점 죄송합니다.)


 *이번에 github 계정을 만들어서 레파토리 생성했습니다.

https://github.com/galaxywiz/RoseServer.git 이며, 하기와 같이 다운 받을 수 있습니다.


컴파일은 Visual Studio 2017 Community 2017 로 컴파일 했습니다.

회사일 때문에 잠시 손 놓다가 최근 컴파일 해보니, C++ 이 많이 바뀌었네요 (회사에서는 Objective-C로만 작업해요 ;;;)



1. 컴파일이 안되요.

저도 최근 VS 2015가 나와서 기분좋게 깔아보고 구동하려고 하는데 소스 파일들이 에러가 나더군요...

 

이럴땐, 설정에 Platform toolset 항목에서 VS 2013으로 해주면 잘 컴파일이 됩니다.
뭔가 C언어를 또 개조할 생각을 가진건지... MS...참...

이러니 리눅스 계열 사람들이 MS를 싫어한다고 생각해요.. ㅠ.ㅠ

 

 

 

2. 서버를 실행하자마 off 되요.

제 책은 처음 부터 따라하기에는 아직 구성상 뒤죽박죽인 곳이 있습니다 ;ㅁ;..

보통 게임 서버 프로그램은 서버를 구동할때, 자신이 띄어도 되는지 확인하는 코드가 있습니다.

환경 설정 체크용이기도 하고, 사설 서버 감지용이기도 하죠.

제 소스를 보시면, 서버가 뜰때 SMTP, 즉 메일 서버 포트가 열려있는지 체크 합니다.

이 부분을 주석으로 날려주시거나, 서버 실행할때 smtp 서버를 먼저 띄우시면 해결 됩니다.

 

 

 

3. 클라이언트는 키자마자 로그인 에러가 뜹니다.

제 책에서는 서버를 위주로 설명하다 보니, 클라이언트에는 집중하지 못했습니다.

우선 서버가 먼저 떠있어야 클라이언트가 제대로 동작 할겁니다.  (그리고 이건 개별적으로 왜 그런지 찾아보는것도 좋은 공부라 생각합니다)

 

4. 데이터 베이스 설정은 어떻게 하나요?

Hyper-V의 가상 PC를 이용하셔서, MS-SQL express 설치 하시고, 압축해서 풀때 나오는 "게임 기본 쿼리.sql" 를 실행하시면 됩니다.

설정 방법은 책에 자세히 나와 있습니다.

 

* 즉 게임 서버 동작에 대해선

1. MS-SQL 설정을 먼저 합니다

2. smtp 서버 프로그램(책에 소개)를 받던지, 위의 소스를 수정합니다.

3. 서버를 구동합니다 (로그인 / DBAgent / 채팅서버)

4. 클라이언트를 구동합니다. 

   ㄴ 여기서 새 유저 등록 등은 직접 구현 해보시는편이 더 좋을 것 같습니다.