mirror of
https://github.com/Melledy/LunarCore.git
synced 2025-12-13 13:54:37 +01:00
6.0 KiB
6.0 KiB
Lunar Core
これは、教育の目的で特定のターンベースのアニメゲームの1.5.0バージョンを再実装したゲームサーバーです。追加のサポート、質問、または議論がある場合は、discordをご覧ください。
注目すべき機能
- 基本のゲーム機能:ログイン、チームのセットアップ、インベントリ、基本的なシーン/エンティティの管理
- モンスターバトルが機能しています
- 自然な世界のモンスター/プロップ/NPCのスポーン
- ほとんどのキャラクターテクニックが処理されています
- NPCショップが処理されています
- ガチャシステム
- メールシステム
- フレンドシステム(アシストはまだ機能していません)
- 忘れられたホール(1.4.0の機能付き)
- シミュレートされた宇宙(ランは終了できますが、多くの機能が不足しています)
サーバーとクライアントの実行
必要条件
お勧め
サーバーのコンパイル
- https://gitlab.com/Melledy/LunarCore-Protos からファイルをダウンロードし、protoフォルダをサーバーディレクトリに配置します
- システムのターミナルを開き、
./gradlew jarでサーバーをコンパイルします - サーバーディレクトリに
resourcesという名前のフォルダを作成します - https://github.com/Dimbreath/StarRailData から
Config、TextMap、およびExcelBinフォルダをダウンロードし、それらをリソースフォルダに配置します - https://gitlab.com/Melledy/LunarCore-Configs から
Configフォルダをダウンロードし、それをリソースフォルダに配置します。システムが問い合わせているファイルはすべて置き換えます。これらはワールドの生成に関するもので、サーバーにとって非常に重要です。 - システムのターミナルから
java -jar LunarCore.jarを使用してサーバーを実行します。Lunar Coreにはデータベースのための組み込みの内部MongoDBサーバーが付属しているため、MongoDBのインストールは必要ありません。ただし、MongoDBのインストールを強くお勧めします。 - 設定で
autoCreateAccountをtrueに設定している場合は、アカウントの作成をスキップできます。そうでない場合は、サーバーコンソールで/accountコマンドを使用してアカウントを作成します。
クライアントとの接続(Fiddler)
- クライアントで公式サーバーとHoyoverseアカウントに少なくとも一度ログインしてゲームデータをダウンロードしてください。
- Fiddler Classic をインストールし、実行します。
- Fiddlerをhttpsトラフィックを復号化するように設定します(ツール -> オプション -> HTTPS -> HTTPSトラフィックを復号化)。
サーバー証明書のエラーを無視するがチェックされていることを確認してください。 - Fiddler ClassicのFiddlerscriptタブに以下のコードをコピーして貼り付けます:
import System;
import System.Windows.Forms;
import Fiddler;
import System.Text.RegularExpressions;
class Handlers
{
static function OnBeforeRequest(oS: Session) {
if (oS.host.EndsWith(".starrails.com") || oS.host.EndsWith(".hoyoverse.com") || oS.host.EndsWith(".mihoyo.com") || oS.host.EndsWith(".bhsr.com")) {
oS.host = "localhost"; // これは別のIPアドレスに置き換えることもできます。
}
}
};
- アカウント名でログインし、パスワードは任意の値に設定できます。
サーバーコマンド
サーバーコマンドはサーバーコンソールまたはゲーム内で実行できます。各プレイヤーのフレンドリストには、ゲーム内コマンドを使用するための "Server" という名前のダミーユーザーがあります。
/account {create | delete} [username] (予約プレイヤーuid). アカウントを作成または削除します。
/avatar lv(level) p(ascension) r(eidolon) s(skill levels). 現在のアバタ
ーのプロパティを設定します
/clear {relics | lightcones | materials | items}. プレイヤーのインベントリからフィルタリングされたアイテムを削除します。
/gender {male | female}. プレイヤーの性別を設定します。
/give [item id] x[amount]. ターゲットのプレイヤーにアイテムを授与します。
/giveall {materials | avatars}. ターゲットのプレイヤーにアイテムを授与します。
/help. 利用可能なコマンドの一覧を表示します。
/mail [content]. ターゲットのプレイヤーにシステムメールを送信します。
/permission {add | remove | clear} [permission]. ターゲットのプレイヤーから権限を付与/削除します。
/reload. サーバーコンフィギュレーションを再読み込みします。
/scene [scene id] [floor id]. プレイヤーを指定したシーンにテレポートします。
/spawn [monster/prop id] x[amount] s[stage id]. ターゲットのプレイヤーの近くにモンスターまたはプロップを生成します。
/unstuck @[player id]. オフラインプレイヤーが読み込まれないシーンにいる場合、スタックを解除します。
/worldlevel [world level]. ターゲットのプレイヤーの平衡レベルを設定します。