Code Monkey home page Code Monkey logo

seichiassist's Introduction

SeichiAssist

GitHub Actions

開発環境

前提プラグイン

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

ビルド

最初に、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

ドキュメンテーション

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

Commit Style

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

Branch Model

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

AutoRelease

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

利用条件

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.