はじめに
GameLiftとは
Amazon GameLift は、クラウド内でセッションベースのマルチプレイヤーゲームサーバーをデプロイ、操作、スケーリングする完全マネージド型サービスです。
とのこと。ここでは説明を割愛するので詳しくはこちらを参照してください。
イメージは掴んでおいてください。
簡単にオンラインマルチプレイが実装できるのなら嬉しい。
対象者
- AWSのアカウントを持っている方
- GameLiftでとりあえず遊んでみたいと考えているUnityエンジニアの方
- AWSの無料利用枠がまだある方、もしくは使用金額を払ってでもやりたい方(この辺りは自己責任で)
- 今回作成するものをきちんとクリーンアップできる方
###このページで行うこと
主にAWSの設定周りになります。
GameLiftでの設定
- スクリプトの作成
- フリートの作成
- エイリアスの作成
IAMでの設定
- アクセスするユーザーの作成
##スクリプトの作成
- こちらのドキュメントを参考にしコードを作成。
'use strict';
var session;
var logger;
function init(rtSession) {
}
function onProcessStarted(args) {
return true;
}
function onStartGameSession(gameSession) {
}
function onProcessTerminate() {
}
function onPlayerConnect(connectMsg) {
return true;
}
function onPlayerAccepted(player) {
}
function onPlayerDisconnect(peerId) {
}
function onPlayerJoinGroup(groupId, peerId) {
return true;
}
function onPlayerLeaveGroup(groupId, peerId) {
return true;
}
function onSendToPlayer(gameMessage) {
return true;
}
function onSendToGroup(gameMessage) {
return true;
}
function onMessage(gameMessage) {
}
function onHealthCheck() {
return true;
}
exports.ssExports = {
init: init,
onProcessStarted: onProcessStarted,
onStartGameSession: onStartGameSession,
onProcessTerminate: onProcessTerminate,
onPlayerConnect: onPlayerConnect,
onPlayerAccepted: onPlayerAccepted,
onPlayerDisconnect: onPlayerDisconnect,
onPlayerJoinGroup: onPlayerJoinGroup,
onPlayerLeaveGroup: onPlayerLeaveGroup,
onSendToPlayer: onSendToPlayer,
onSendToGroup: onSendToGroup,
onMessage: onMessage,
onHealthCheck: onHealthCheck
};
-
作成したスクリプトをGameLiftにアップロードしていきます
-
メニューから「スクリプトを作成」を選択
-
スクリプト設定
名前 : 任意で
バージョン : 0.1.0とか -
スクリプトコード
スクリプトタイプ : Zipファイル
Zipファイル : 作成したファイルを設定(zipに圧縮して) -
上記を設定し「送信」を押下、アップロードしていく
##フリートの作成
-
フリートの詳細に設定する
-
名前 : 任意の名前
-
インスタンスタイプはデフォルトのc5.large(その時の安いやつ選んでね)
-
起動パス : 今回作成したスクリプトのパス
-
「フリートの初期化」を押下し、作成する
※少し時間がかかる。
##エイリアスの作成
##アクセスするユーザーを作成
-
サービスからIAMを選択
-
まずはポリシーを作成する
-
ポリシーを選択し、「ポリシーの作成」を押下
- JSONを選択、下記の内容をポリシーに追加し「ポリシーの確認」を押下
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"gamelift:CreateGameSession",
"gamelift:DescribeGameSessionDetails",
"gamelift:CreatePlayerSession",
"gamelift:SearchGameSessions"
],
"Resource": "*"
}
]
}
- 名前 : 任意で
- 「ポリシーを作成」を押下
- GameLiftにアクセスするユーザーを作成していく
本日はここまで。次回につづく。
##注意点
作成した
- スクリプト
- フリート
- エイリアス
に関して使わないときは削除するようにしてください。
でないとお金がかかっちゃうので。
##おわりに
明日は @e73ryo さんの
「MonKey - Productivity Commands」のカスタムコマンドでさらにUnity上の作業を効率化する」です!