simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

AWS

AWS:LambdaにAuthorizerを設置してからAPIGatewayを公開する

前書き インスタンスを start するだけで docker コンテナが起動して、機能し始めるというのは用意できてます。 あとはこれを PlayFab から HTTP リクエストで呼び出すだけ、なのですが、ここで公開 API でありつつも 認可の仕組みありきという API Gateway …

課金するとデータサーバーが起動して、お金が尽きたら勝手にデータサーバーを止める仕組みづくり

前書き 長いことはじまりの世界のデータサーバーは一つ AWS Elastic Beanstalk で環境を用意して運用して半年~1年が過ぎようとしてますここでモチベーションがあがる機能追加案がありまして、世界を広げるという操作をプレイヤーが行えるようにする 具体的…

React x Typescript で index.html を独自ドメインで世界公開

まえがき Unity Asset Store に例の例のアセットを提出したんだけど、リジェクトされてしまった。どうも初回投稿なら、技術力を見せるサイトを持ってないとダメな様子 仕方なく、作ることにします。 とりあえず index.html にアセットの画像がごろごろあれば…

CubeWalk: go言語cacheサーバーのリージョン選定

前書き 先月、こちらに登壇して PlayFab の CloudScript で同時実行を回避しつつ、不正させないゲームのためのアイディアを語ってみたのですが jpfug.connpass.com 質問者から CloudScript が実行されている場所って US West オレゴンだから、日本にキャッシ…

CubeWalk:水平な世界データから始める

はじめに PlayFab ログイン成功後、CDNから世界圧縮データを取得し Unity で展開してから、それぞれのチャンク配列を確保し、データを詰めていく 詰め終わったら、ゲームシーンを開始する世界圧縮データを最初は作らなければならない 世界データは16,777,216…

AWS:golangバイナリキャッシュサーバーがS3にバックアップを保存&復帰

前提 http リクエストで int データを受け渡すバイナリキャッシュサーバーが完成しています。前回の作業記録をなぞるだけ simplestar-tech.hatenablog.com 大きな目的 PlayFab の CloudScripts から int or byte x 4 データを受け渡すバイナリキャッシュサー…

AWS:WebサーバーをGoLangで

前書き ゲームはローカルでブロックを破壊・配置できる基本の枠組みが整いつつあります。 ここで破壊したときに世界からブロックの情報を破棄してプレイヤーのインベントリに追加しなければならず 配置したときにインベントリから消して、世界に配置しなけれ…

AWS:お金のかからないElastiCache活用術3

simplestar-tech.hatenablog.com の続きローカル環境で Cube データを仮で Redis Mass Insertion するための plotocol を生成する C# コードがこちら using System.IO; using System.Text; namespace CubeWalkDataMaker { class Program { static void Main(…

AWS:お金のかからないElastiCache活用術2

simplestar-tech.hatenablog.com のつづき 適当な値を redis に詰める ローカルに立てた Redis 5.0.5 サーバー、適当な値を詰めてみます。 たとえばkey : value 9999 : 100 ffff : 100 abcd : efghこれを前回導入した rdb-tools で json に出力してみましょ…

AWS:お金のかからないElastiCache活用術1

まえがき CubeWalk ゲームは…キューブを置く処理に不正がないようサーバーで実行されます。 世界の情報はたった一つのサーバーであるため、負荷分散を考えて DB は同時アクセスに耐えられる DynamoDB などを考えてみましたが 世界データを格納するだけで 600…

AWS:はじめてのAPI Gateway⇄Lambda

概要 前回の Lambda と ElastiCache は VPC 内に引きこもるため(そういうセキュリティグループに配置したので)、インターネットからアクセスすることはできません。 simplestar-tech.hatenablog.com API Gateway からトークン認証付きで Lambda を呼べるよ…

AWS:はじめてのLambda⇄ElastiCache

概要 PlayFab のバックエンド処理が AWS と連携できます。 具体的には同期 http 通信が行えるので、そこを AWS の API Gateway → Lambda → ElastiCache とつなぎます。 前回の記事 simplestar-tech.hatenablog.com で確認できた ElastiCache と Lambda の接…

AWS:はじめてのElastiCache

まずはチュートリアルに従って動かしてみましょう。 docs.aws.amazon.com ステップ 1: クラスターを起動する 気にするべきは、新しいセキュリティグループを作成しておくことです。 インバウンドポートは 6379 でソースIPは別途用意した EC2 インスタンスの…

AWS DynamoDB を Unity で操作する

AWS DynamoDB を Unity で操作できました。 詳細な手順をなんもわからん状態から出来るようになるまでを記録しました。記事概要として、AWS Cognito の機能として1.ユーザープールを作成(サインアップ、認証コードをメールアドレスへ送信、サインインでき…