SAITOUの書きなぐりメモ

さいとーの趣味と生活を垂れ流しています。

例のお金で月1万のサーバーを借りて10カ月ゲームサーバー立てる 1日目

会社から帰ってくる途中で思いついたネタです。

 

どうも、さいとーです。

 

久々にブログ書くのと、初めてこういう企画(?)をやるので

ちょっと自己紹介します。

 

プログラマーとして10年ほどおまんま食べてます。

一番長かった経歴はwebの自社サービスを7年くらいやってました。

出身はゲームの専門学校だったのですが、いろいろあって

今に至ります。

個人としては、、、ろくに活動できてませんでした。

 

雑ですがこんな感じで~

 

で、今回の企画は、例のアレでなんかやるか。と、

そういうところから始まっています。

 

0日目

このネタを思いついて酒を片手にどこの鯖が安いか調査。

速攻で、NTTのVPSサービス「Indigo」を発見

f:id:SAITOU:20200429215635p:plain

で、価格がこんな感じです。

何度見ても安く見える。お手頃ってか安い。

しかも今回のネタに必要なスペックと値段が近い。

まぁ、でもおそらくメモリ32GBまではいらないと思う、、、

あ、想定しているゲームはARKです。

f:id:SAITOU:20200429220106j:plain

 

恐竜サバイバル!

このゲームめっちゃサーバー側もメモリ食うので今使ってるさくらのVPS 2Gでは

まともなゲームになっていませんでした。

(遊んでくれた皆さん本当にありがとう、そして、ごめん!)

そんなわけで、すでにサーバーは止めてしまいました。

 

でも、やっぱりできないってなったらやれる方法考えますよね?

それで、今回はゲーム専用サーバーを借りて

そこで運営してやろうと、そういわけです。

 

可能であればどうにかサーバー代を何かで稼ぎたい。

そこで、思いついたのが広告を見てもらった人のIPを許可して

サーバーにつなげられるようにする仕組み。

 

ゲームやりたいときにサイトの広告を見てもらって

それをもとに鯖を動かす。

運営費が少し入るかもしれない仕組みです。

(開発費、要するに僕の人件費はこれだけで稼げないと思う)

もろもろ説明の図は今後書きます。

今はないです。ごめんなさい!

 

こんな感じで0日目を終えました。

 

 

1日目(タイトルなのにこんなにしたなんかい)

 

早速「Indigo」に登録。

Google アカウントが使えましたが、

電話番号とかカードの情報とかは入力せないけませんでした。

(当然か、、、)

 

ぽちぽちしたら、管理画面までは入れました。

インスタンスをぱっとみで建てれずどうしたらいいんだ、、、

と、なっていたらどうやら管理画面が2段階あるみたいで、

まずは「webARENA」というページで

サービスの中の「Indigo」を選択する。

こんな感じで進めば、なんとなく見たことのあるインターフェースがお目見え。

おー、シンプル。

VPSサービスであるようなロードバランサーとか

いろいろ取っ払った感じです。

僕はサーバー構築をメインの仕事でやったことがないので

インフラ周りは自宅サーバーとかちょっとAWS触ったとか程度。

なので詳しくはわからないですが、他と価格を抑えるために

何か削ってる感じです。

たしか、さくらは無料で5世代くらいスナップショット取れた気がしますが

Indigoでは有料です。

だいたい立ててるサーバーの3分の1くらいの料金がかかります。

(ストレージ容量によって時間当たりの課金)

 

それはさておき、気になったのは一番下の「API鍵の管理」

これは何ができるんだ?と調べてみたら、

どうやら公開されてるAPIを使ってインスタンスや、ファイアーウォールの

設定を変更できる便利機能。

これはまさに今回やろうとしていることにピッタリなものでした。

管理画面に入るまでこんなものがあるなんて思ってませんでした。

(今日の朝、とりあえずアカウントだけ作ればいいやってなってました)

ちなみに、このページからAPIの仕様に関するページへのリンクはない。

ので、ググり倒して見つけました。

https://indigo.arena.ne.jp/userapi/

 

なぜか、ドメイン見ても日本っぽいのに

全部英語で書かれてる素敵仕様です。

Google翻訳とにらめっこしながら

culrをたたいてAPIの仕組みを理解しようとしてました。

で、最終的にどうなったかっていうと

PHPでコードを書き始めました。

githubにもとりあえず上げました。

https://github.com/saitou310/indigo

 

うん、もう少し名前考えた方がよかったよね。

まだ、公開できるレベルの物ではないですが

とりあえずソースの保管のために作りました。

 

なんかもっと技術的な面(?)の話を書こうと思ってたのですが

それはそれで書いた方がググってここに来た方は読みやすい気がしたので

今後はそうする予定です。

この、タイトルのシリーズは日記みたいな話を書いて

その日記内でどういう問題があったか?みたいなのの詳細は

別の記事ってスタイルで行こうかな、、、

書きながら考えてるのでめっちゃめちゃですが、

とりあえず、続けていくことを目標にやっていきます。