yokoro13 / SeichiAssist

ギガンティック☆整地鯖の独自要素を司るプラグイン / A Minecraft(Spigot) Plugin used for Gigantic Seichi Server. Address -> play.seichi.click

Home Page:https://discord.gg/pVq9Ftf

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SeichiAssist

CircleCI

開発環境

前提プラグイン

前提プラグイン(整地鯖内製)

ビルド

最初に、Java Development Kit (JDK) 8をインストールする必要があります。 AdoptOpenJDK 1.8 のインストールを推奨します。

sbtの公式ページ に従ってsbtのインストールをします。 sbtがコマンドラインで使える状態でsbt assemblyを実行すると、target/buildフォルダにjarが出力されます。

IntelliJ IDEAの画面からビルドする

IntelliJ IDEAを開発に使用している場合、プロジェクトをsbtプロジェクトとして読み込み、 sbtタブからSeichiAssist -> SeichiAssist -> sbt tasks -> assemblyを実行すればtarget/buildフォルダにjarが出力されます。

デバッグ用docker環境

dockerdocker-compose及びsbtが実行可能であるとします。 Linux環境では、./prepare-docker.sh、Windowsではprepare-docker.batを実行することで デバッグ用のBungeecord + Spigot環境を構築することができます。

初回起動時にはSpigotのビルドに時間がかかります。 さらに、Minecraft EULA に同意する必要があるため実行が中断されます。 EULAに同意しデバッグを続行する場合、./docker/spigot/serverfiles/eula.txtを参照し、 eula=falseeula=true に書き換えてください。

サーバーやDB等を停止する場合、 docker-compose down を実行してください。

デバッグ用環境への接続

DockerマシンのIPアドレス(Linux等ならlocalhost)をDOCKER_IPとします。

dockerにより各サービスが起動したら、DOCKER_IPへとMinecraftを接続することができます。 また、DOCKER_IP:8080へとWebブラウザでアクセスすることで、phpMyAdminを介してデータベースを操作することができます。

opやコマンド実行等などでSpigotのコンソールにアクセスする必要がある場合、 spigotaまたはspigotbへのコンテナ名とともに docker attach [CONTAINER_NAME] を実行してください。 コンテナ名は docker ps を実行すると seichiassist_spigotb_1 のような形式で表示されます。 コンソールからは Ctrl+C で抜けることができます(サーバーは停止されません)。

DBの準備

初回起動後、DBが作成されますが、ガチャ景品およびMineStackに格納可能なガチャ景品のデータがありません。その為、以下SQLdumpをインポートしてください。

protocolディレクトリ以下のクローン

protocol以下のファイルはgit cloneでは入手することができません。以下のどちらかのコマンドを実行してください:

  • git clone --recursive
  • git submodule update --init --recursive

JavaDocs

publicなメソッドについては、JavaDocsを記載するよう心がけてください。 その他は各自が必要だと判断した場合のみ記載してください。

Commit Style

1コミットあたりの情報は最小限としてください。 コミットメッセージは変更の方向性を表す英語の動詞(add, remove, clean等)から始めることを推奨しています。

Branch Model

Git-flow を簡略化したものを使用します。 新規に機能を開発する際は develop ブランチから <任意の文字列> ブランチを作り、そこで作業してください。 開発が終了したらdevelopブランチにマージします。 masterブランチは本番環境に反映されます。 本番環境を更新するタイミングでdevelopブランチをmasterブランチにマージします。

AutoRelease

  • developブランチが更新されると、そのコードを基に実行用jarがビルドされ、デバッグ環境に配布されます。デバッグ環境はjarの配布を検知すると自動で再起動し、最新のjarを使用して稼働します。
    • デバッグ環境へは、Minecraft Java Editionでplay.seichi.clickに接続し、Tキーでチャットを開き、/server deb112と入力してEnterを押すとアクセスできます。
  • masterブランチが更新されると、そのコードを基に実行用jarがビルドされ、本番環境に配布されます。本番環境は翌再起動時に自動で最新のjarを取り込んで稼働します。
  • jar以外の自動リリースは未対応です(config.ymlなど)。運営チームへ更新を依頼する必要があります。
    • 各サーバーや環境で共通で構わないパラメータはconfig.ymlを読まず、コードへの直接実装を推奨します。

利用条件

  • GPLv3ライセンス での公開です。ソースコードの使用規約等はGPLv3ライセンスに従います。
  • 当リポジトリのコードの著作権はunchamaが所有しています。
  • 独自機能の追加やバグの修正等、ギガンティック☆整地鯖(以下、当サーバー)の発展への寄与を目的としたコードの修正・改変を歓迎しています。その場合、当サーバーのDiscordコミュニティに参加して、当コードに関する詳細なサポートを受けることが出来ます。

About

ギガンティック☆整地鯖の独自要素を司るプラグイン / A Minecraft(Spigot) Plugin used for Gigantic Seichi Server. Address -> play.seichi.click

https://discord.gg/pVq9Ftf

License:GNU General Public License v3.0


Languages

Language:Scala 87.2%Language:Java 11.3%Language:Shell 1.4%Language:Dockerfile 0.1%Language:Batchfile 0.0%