Networking/Insert Game Data

Game Data DB Input

cwisky 2018. 12. 26. 22:21

VaRest 플러그인을 이용하여 게임 데이터를 웹서버로 전달하고 MySQL 에 저장하는 예


무료 PHP 웹호스팅 준비

awardspace.com 사이트에 회원가입하고 무로 PHP 계정을 얻는다

awardspace.com 사이트의 Hosting Tools > Database Manager / MySQL Database를 클릭하여 데이터베이스를 생성한다

Hosting Tools > Database Manager / phpMyAdmin4를 선택하여 테이블(game_history)을 생성한다

game_history 테이블에 컬럼 5개를 생성하고 아래처럼 각 컬럼의 자료형을 지정한다



위에서 생성한 game_history 테이블의 game_start_date, game_end_date 컬럼의 자료형인 datetime은 날짜와 시간을 동시에 저장할 수 있으며 그 데이터 포맷은 '2018-12-03 12:31:45' 와 같이 년-월-일 시:분:초 를 표현한다


위에서 생성한 game_history 테이블에 게임 데이터를 저장하는 기능을 할 PHP를 작성한다


insert_game_data.php

<?php

  $game_title = $_REQUEST['game_title'];

  $player_id =  $_REQUEST['player_id'];

  $score =       $_REQUEST['score'];

  $start_time = $_REQUEST['game_start_date'];

  $end_time =  $_REQUEST['game_end_date'];

  

  $host='fdb24.awardspace.net';

  $user='2915954_user';

  $pass='2915954Database';

  $db='2915954_user';


  $arr = array();

  

  $conn = mysqli_connect($host,$user,$pass,$db);

  if ($conn->connect_error) {

    $arr["connection"] = false;

    return;

  }

  if($conn) {

    $arr["connection"] = true;

  }

 

  $sql = "INSERT INTO game_history (game_title, player_id, score, game_start_date, game_end_date) ".

          "VALUES ('$game_title', '$player_id', $score, '$start_time','$end_time')";


  $inserted = mysqli_query($conn, $sql);


  if ($inserted) {

    $arr['inserted'] = true;

  } else {

    $arr['inserted'] = false;

  }

  mysqli_close($conn);

  $json = json_encode($arr);

  echo $json;

?>


언리얼 런처를 실행하여 마켓플레이스를 클릭하고 VaRest 플러그인을 찾아 언리얼 엔진에 설치한다

언리얼 엔진의 기본 프로젝트 템플릿을 이용하여 프로젝트를 생성한다


언리얼 에디터의 블루프린트 버튼을 누르고 레벨블루프린트를 열고 다음과 같이 시간 문자열을 생성하여 리턴하는 함수를 생성한다


GetDateTime함수(MySQL의 datetime 형 데이터를 생성하는 기능)



레벨블루프린트에 다음과 같이 VaRest 플러그인을 이용하여 서버측 스크립트(insert_game_data.php)에 데이터를 전달하는 기능을 작성한다(웹서버에 요청을 전달하는 기능)