ingen084
更新日: 2021年01月14日

Peashooter FPSサーバー

現在MinecraftでFPSサーバーの運営を計画しています。
プラグインの基礎的な開発は完了したのですが、現状ではまともに動ける人が自分しかおらず、人員が足りないため開発・運営に参加できる方を探しています。

運営メンバーを募集するだけではなく、すでに存在するサーバー・ネットワークにこのプロジェクト自体が参加する形のオファーも歓迎していますのでご連絡ください!

連絡先

プレイ動画

  • 複数人のプレイ動画から特定の機能などを一部切り抜いたものです。
  • Minecraftの同期ずれをある程度考慮し偏差撃ちの必要性を減らしたりしてあったりします。

現状プラグインはここまで完成しており、ここからサービス開始までにさらなる完成度・ユーザー体験の向上、Webページなどの実装や、ゲームとして成り立たせるためのシステムの確立などを考えています。

運営体制について

開発 と 運営 の区切りをつけようと考えています。
もちろん、両方に参加していても問題ありません。

開発体制としまして、継続して開発するわけではなくたまに新しい技術の実装方法などをアドバイスしてくれる方、
不定期にテクスチャやマップ・画像などをいただける方も歓迎しております。

匿名での参加について

匿名で参加されたい方はご連絡ください。
可能な範囲で協力させていただきます。

ポシャったときは

もしもこのまま計画が立ち行かなくなってしまった場合、プラグインなどのソースコードはできるだけOSSとして公開を、
マップやテクスチャ・モデルに関してはプロジェクトとは無関係となり、公開などは製作者に委ねられる形を想定しています。

もしうまく行かなくてもプロジェクトで行ったことが参加者の将来に活かせる事ができる形になればなと考えています。

報酬について

具体的な仕様・計画はありませんが、今後EULAに抵触しない範囲で課金要素を追加する予定です。
その際に課金要素や体制に合わせて利益などを分配したいと考えています。

募集要項

現状足りていないと考える作業内容や役職の一覧です。
どれかに興味がある・関係ないけどこういった提案をしたいなどありましたらご連絡ください。

対象

  • 本計画に興味がある方
  • 日本語を使用してコミュニケーションが取れる方

ボイスチャットなどは必須ではありません。

備考

  • 作業の円滑化に必要なツールや機能・プラグインなどは要望があれば可能な範囲でこちらの方で作成させていただきます。
  • 企画や実装・作成などはスキルも考慮して一緒に要件を決めていけたらなと考えています。
  • マップについてはゲームバランスの調整があるため、ほぼ必ずと言っていいほど修正が要求されます。
    場合によっては実装できない可能性もあります。ご了承ください。

不足人員・作業内容

総合

  • サーバーの宣伝(動画投稿など)
  • サーバーに関する動画・画像(イベントバナーなど)の作成

運営

  • マルチプレイのルールの策定
  • そのルールに則って公平に対処を行う

テストプレイ

  • ゲームバランスの調整・負荷チェックのため都合の合う時間にテストプレイに参加
  • 銃のバランスやマップの構造などについての意見

企画

  • ゲームシステム・ゲーム内のイベントなどに対する企画
  • PvEに関する企画・カスタムモブの作成
  • ゲーム・マップに関するバランス調整

モデル・テクスチャ

  • ゲームで使用する武器などのテクスチャ・3Dモデルの作成
  • ゲーム内GUIで使用するリソースの作成

マップ制作

  • ゲームバランスや射程などを考慮した形でのマップの作成

Web

フロントエンド

  • Webデザイン
  • SPAでログインなどのページを実装(react/vueあたりを想定しています)

バックエンド

  • SPAなどで使用するAPIの開発
  • BANなどの管理ページの作成
  • WebSocketを使用したリアルタイムのキルログ表示システム(ちょっと特異なので一応別扱いにしておきます)

プラグイン

動画の通り、銃の発射など基本的な機能は完成しており、ライブラリ化しています。

  • Javaから参照できるバックエンドとの通信プロトコル・ライブラリの開発(現状めっちゃ頭の悪いプロトコルになってる…)
  • 新しいゲームモードの実装
  • PvEの実装・PvEに出てくるモブの実装

物理的なサーバーについて

Minecraftサーバーは比較的計算量が要求されるため、クラウドのような環境とは相性が悪いと考えています。
現状では自宅サーバーでの運営を予定していますが、形としましては分散も可能にしているつもりですので、私個人の収入なども考慮し将来的には移行したいと考えています。

実際に確保しているサーバーのスペックは
1 CPU:Xeon L5640x2(12C24T) メモリ80GB
2 CPU:Xeon L5640x2(12C24T) メモリ190GB
になります。
その他にも i7 4770 / i7 2600 (メモリは各32GB)のサーバーの用意があります。

計画中のアーキテクチャ

image

このような形を想定しています。
バックエンドサービスはC#で組まれ、インメモリキャッシュ・Redisキャッシュを活用し、プレイヤー情報のやり取りや各ゲームサーバーのインスタンス管理などを行う予定です。
各ゲームインスタンスはk8sなどからdockerイメージなどで単発的に実行させると相性がいいのかなと考えました。
Minecraftは基本的にシングルスレッドのため通信の遅延や、1tick内の計算量が増えると影響の与えるプレイヤーが増えるため、それを極力低減させるため1ゲームごとにサーバーを分けるという想定しています。