본문 바로가기
유니티5 독학 & 게임 제작

유니티5 독학하기 19번째 걸음-게임서버 작업하기 part1

by 인터넷떠돌이 2017. 6. 23.
반응형

안녕하세요?


이번 포스팅에서 [실전! 유니티5로 소셜 네트워크 게임 만들기]라는 책의 챕터8을 다 끝내고자 했는데, 하다보니 내용이 길어져서 포스팅을 2부분으로 나누어야 했습니다. 아무튼 먼저 php와 mysql을 연동하는 작업부터 들어가도록 하겠습니다.



먼저 노트패드++를 열어서 위와 같이 타이핑을 시작합니다. 



그리고 나서 노트패드++에서 작성된 파일의 이믈을 Config.ini로 지정을 하도록 합니다. 그렇다고 해서 작업이 마무리 되지 않았고, Config.ini에서는 아직 비어있는 부분이 있어서 이를 채워야 합니다.



제 계정 ID와 비밀번호는 그냥 알려줄 수 없으니, 하는 수 없이 이렇게 가리도록 하겠습니다. 일단 이렇게 계정 ID와 비밀번호를 입력하는 것으로 Config.ini를 작업하는  것은 완료가 되었으니, 이를 저장하도록 합니다.



다음은 dbtest.php라는 파일을 만드는 과정에 들어가 보도록 합니다. 작성은 역시 노트패드++로 시작을 합니다.



먼저 array()는 배열을 만들으라는 함수입니다. 그래서 $data=array();란 data라는 변수를 배열로 만들라는 의미가 됩니다. 그리고 나서 나오는 $data['error']=0이라는 것은 error라는 배열안의 키에다가 0이라는 값을 기본으로 두라는 의미가 됩니다.



위 스크린샷에 나오는 붉은색 밑줄을 친 부분은 앞서 만든 Config.ini를 불러오는 구문입니다. 



다음으로 위 스크린샷에 나오는 붉은색 박스를 친 부분에 있는 것은 데이터 베이스에 접근을 시도하는 함수입니다. 여기서 형식은 다음과 같다고 합니다.


mysqli([주소],[아이디],[비밀번호],[DB명])



다음으로는 붉은 색 밑줄을 친 부분이 있는데, 여기는 데이터베이스에 대한 접근이 실패했는지를 체크하는 부분입니다. 만약에 실패를 하였다고 하면, error라는 키의 값이 1로 나오게 됩니다.



echo는 print라는 것처럼 화면에 메세지를 표시할 때 사용하는 명령어 이고, json_encode()라는 것은 JSON포멧으로 변형시켜 주는 명령어인데, data라는 배열의 값을 여기서는 JSON으로 변형해서 보여주라는 것이 됩니다.



다음으론느 알FTP를 통해서 이를 제 계정으로 업로드 시키도록 합니다. 



그리고 나서 홈페이지에서 http://홈페이지 주소/dbtest.php를 쳤는데, 위 스크린샷과 같은 에러가 떴습니다. 아무래도 dbtest.php의 10번째 줄에 어딘가 에러가 있다는 의미가 되는데, 한번 체크해 보았습니다.



여기서 발생한 에러의 원인이 위 스크린샷에서 붉은색 동그라미를 친 부분에 있는 ; 를 빼먹어서 생긴 것이였습니다. 노트패드++에서 수정을 하고 나서, 이번에야 말로 다시금 알FTP로 업로드를 해서 다시한번 들어가도록 해 봅니다.



이번에야 말로 error값이 0으로 제대로 뜨는 것을 볼 수 있습니다. 이것으로 dbtest.php를 이제 성공했습니다. 이제 다음 작업은 게임서버에 사용자가 로그인을 하는 작업에 들어가야 합니다.



먼저 유니티5에 작업을 하였는 shooter game에 있는 titleplay.cs에 위와 같은 MyData()메서드가 제대로 있는지 확인을 하도록 합니다. 이게 없으면 앞으로의 작업에 차질이 있다고 합니다.



다음은 홈페이지 업체의 계정으로 들어가서-제 경우에는 호스팅어의 phpadmin으로 들어가서 쿼리 윈도우를 열도록 합니다. 여기다가 위 스크린샷에서 보이는 것처럼 SQL 쿼리를 입력해서 테이블을 하나 생성하도록 합니다.



다만 위에 적혀있는 SQL쿼리문을 실행시켰을 때, 에러가 발생하였습니다. 이 에러 메세지는 간단하게 쿼리문 문법에 맞지 않는  문장을 적어서 발생한 문제라고 합니다.



먼저 1차로 ' ' 로 붙었던 테이블 안의 데이터 명칭이라고 해야 할까요? 이걸 모두 제거하고 다시 작동을 시켰습니다.



이번에도 에러지만, 에러가 발생했다는 위치가 달라졌다는 내용이 나옵니다. 이번에는 11번째 줄에 있는 문장이 문제라고 하니, 수정을 하도록 합니다.



마지막으로 있던 작은 따옴표 '' 까지 제거하였습니다. 그리고 나서 실행을 시키도록 합니다.



이번에야 말로 제대로 된 userinfo라는 테이블이 생성되는 것을 확인하였습니다. 이것으로 SQL쿼리문을 이용해서 테이블을 작성하는 작업은 끝을 냈고, 이번에는 로그인 작업을 담당할 php코드를 작성하도록 합니다.



userinfo.php라는 php파일을 작성해서 노트패드++에서 작업을 하는데, 포스팅이 너무 길어졌으니 여기서 끊도록 하겠습니다. 아마 다음번 포스팅에서 책에 오타가 없거나 한다면 챕터8을 끝낼 수 있을 것으로 예상이 됩니다.

반응형