サーバー/サーバーラッパー/CraftBukkit,Spigot

提供:Minecraft Japan Wiki
ナビゲーションに移動 検索に移動


ここでは、Spigotの設定について記述してある。

サーバーの設定[編集 | ソースを編集]

spigot.yml[編集 | ソースを編集]

Spigot Configuration(SpigotMC)

サーバーのファイル[編集 | ソースを編集]

CraftBukkitサーバーの1.8.8で生成されるファイル類です。

json形式は、いじるのが難しいため通常はコマンドから設定変更をします。それらは、コマンドを参照して下さい。

クリックで展開します。
ファイル/フォルダ名 説明 追加説明
craftbukkit.1.8.8.jar サーバーファイルです。 それぞれのサーバー/サーバーMODのものです。
logs(フォルダ) 起動時からのサーバーのログファイルが入っています。起動をすることで新しいファイルが生成されます。 基本的に「西暦-月-日(-同日に複数回起動した際に生成される).log.gz」のように生成されます。lastest.logは最新のログファイル(その時起動している時/最後に生成された)ものとなります。
world(フォルダ) これは、初期状態で生成されるワールドデータです。 このデータを消すことで、ワールドを再生成がすることが出来ます。
banned-ips.json これは、IPBANのデータが入っています。
IPBANとは、指定したIPからの接続を拒否することです。
現在は、json形式のため、編集には技術が必要かもしれません。
banned-players.json これは、プレーヤーBANのデータが入っています。
プレーヤーBANとは、指定したプレーヤーからの接続を拒否することです。
現在は、json形式のため、編集には技術が必要かもしれません。
eula.txt EULAに同意するか書き込むためのファイルです。 EULAとは利用規約の意味です。
ops.json OPの設定のためのデータが入っています。
OPとは、サーバーの管理者で一部の管理用コマンドなどが使用可能になります。
現在は、json形式のため、編集には技術が必要かもしれません。
server.properties サーバーの設定を変更することが出来るファイルです。 詳細はserver.propertiesでの設定変更を参照して下さい。
usercache.json プレーヤーの情報を保存しているらしい。 わからない
whitelist.json ホワイトリストの設定のためのデータが入っています。
ホワイトリストとは、指定したユーザーIDのみの接続を許可することです。
有効にするには、server.properties内のwhite-listの項目が有効になっていなくてはなりません。
現在は、json形式のため、編集には技術が必要かもしれません。

以下より、バニラ(公式)サーバーで生成されないファイルです。

ファイル/フォルダ名 説明 追加説明
plugins(フォルダ) Bukkitプラグインを追加するフォルダです。基本的にこのフォルダにプラグインを入れることで導入ができます。
world_nether(フォルダ) ネザーのワールドデータです。 なぜわかれているのか不明。
world_the_end(フォルダ) エンドのワールドデータです。 なぜわかれているのか不明。
bukkit.yml Bukkitによって追加された詳細な設定が可能なファイルです。詳細は、bukkit.ymlを参照して下さい。 バニラ(公式)サーバーのserver.propertiesを強化したものです。
commands.yml コマンドエイリアスを設定したり、コマンドブロックのコマンド動作を上書き設定したりすることが可能なファイルです。詳細は、commands.ymlを参照して下さい。 Bukkit 1.7.2-R0.3以降に追加されました。
help.yml
permissions.yml

bukkit.yml[編集 | ソースを編集]

この項目は、BukkitWiki(en)/Bukkit.yml並びに、BukkitJPWiki(運営停止)を参考にしています。

クリックで展開します。

settingセクション[編集 | ソースを編集]

CraftBukkitサーバーの一般的な設定項目です。

項目 タイプ 標準設定 説明
allow-end boolean true ジエンドを有効にします。
warn-on-overload boolean true サーバーが重いときにコンソールに[WARNING] Can't keep up! Did the system time change, or is the server overloaded?のメッセージを表示するかどうかを設定します。
permissions-file string, filename permissions.yml パーミッション設定ファイル名を指定します。PermissionsExなどのパーミッション管理プラグインを導入しているとそちらが利用されるので、CraftBukkit標準のパーミッションファイルは、あまり使われないかも知れません。
update-folder string, foldername update アップデートされたプラグインが置かれるフォルダのフォルダ名を設定します。このフォルダはpluginsフォルダの中に作成されます。絶対パスは指定できません。
plugin-profiling boolean false /timingsコマンドの使用可否を設定します。プラグインがリスナー登録している処理が、どの程度の負荷がかかっているかを調査することが可能です。
connection-throttle long, milliseconds 4000 クライアントが再接続可能になるまでの時間を設定します。0 に設定すると、connection-throttle機能を無効にできますが、あなたのサーバーが攻撃の危険にさらされます(テストサーバーにのみ使われるべき設定です)。
query-plugins boolean true サーバーがリモートから要求されたときに、プラグインのリストをかえすかどうかを設定します。
deprecated-verbose string default プラグインが無効化されたイベントにリスナー登録しようとしたときに、警告を表示するかどうかの設定です。trueまたはfalseを設定すると、警告の表示/非表示を設定することができます。 defaultを設定すると、開発者が警告を抑制するマークをつけていない場合、警告が常に表示されるようになります。
shutdown-message string Server closed サーバーが停止したときにクライアントに表示されるメッセージです。

spawn-limitsセクション[編集 | ソースを編集]

動物やMOBが、1チャンクに何体までスポーンできるかを設定する項目です。

項目 タイプ 標準設定 説明
monsters integer 70 1チャンクあたりにスポーンできるモンスター数を設定します。
animals integer 15 1チャンクあたりにスポーンできる動物の数を設定します。
water-animals integer 5 1チャンクあたりにスポーンできる水生生物(イカなど)の数を設定します。
ambient integer 15 1チャンクあたりにスポーンできるその他の生物(コウモリなど)の数を設定します。

※群集でスポーンした動物やモンスターは、これらの制限に影響されません。個々の制限値があり、それに従います。

chunk-gcセクション[編集 | ソースを編集]

CraftBukkitサーバーが、使用されていないチャンクをアンロードする動作(以下chunk-gc)の設定です。

項目 タイプ 標準設定 説明
period-in-ticks integer 600 chunk-gcが実行される間隔をtick(1tick = 1/20秒)で指定します。0を設定すると、chunk-gcが無効になります。
load-threshold integer 0 前回のchunk-gcから次のchunk-gcまでの間で、ロードされているチャンクの閾値を指定します。ロードされたチャンクが、この設定値より下回った場合、chunk-gcは次回に持ち越されます。
0が指定されている場合は、この閾値に関係なく、period-in-ticksの間隔ごとに毎回chunk-gcが行われます。

ticks-perセクション[編集 | ソースを編集]

CraftBukkitサーバーが、特定のtick(1tick = 1/20秒)ごとに動作する機能の設定です。

項目 タイプ 標準設定 説明
animal-spawns integer 400 動物がスポーンする間隔をtickで指定します。
使用例:
・1に設定した場合、サーバーは毎tick、動物をスポーン処理します。
・400に設定した場合、サーバーは400tick(=20秒)ごとに、動物をスポーン処理します。
・0より小さい値を設定した場合、Minecraftのデフォルトへリセットされます。
・0を設定した場合、動物のスポーンが無効化されます。
monster-spawns integer 1 モンスターがスポーンする間隔をtickで指定します。
使用例:
・1に設定した場合、サーバーは毎tick、モンスターをスポーン処理します。
・400に設定した場合、サーバーは400tick(=20秒)ごとに、モンスターをスポーン処理します。
・0より小さい値を設定した場合、Minecraftのデフォルトへリセットされます。
・0を設定した場合、モンスターのスポーンが無効化されます。
autosave integer 0 auto-saveを実行する間隔をtickで指定します。
使用例:
・1に設定した場合、サーバーは毎tick、auto-saveを実行します。
・6000に設定した場合、サーバーは6000tick(=5分)ごとに、auto-saveを実行します。
・0より小さい値を設定した場合、Bukkitのデフォルトへリセットされます。
・0を設定した場合、auto-saveは無効化されます。

多くのBukkitサーバーは、既にauto-save用プラグインを利用しています。
そのため、save-allの重い処理をBukkit本体側でも実行すると冗長になるため、Bukkit本体側ではauto-saveを標準では実行しないようにしています。
この設定を使う場合は、save-allの処理はとても重いため、6000tick(=5分)程度の大きな値を指定するようにしてください。
(なお、バニラ(公式)サーバーのauto-save間隔は、6000です。)

aliasesセクション[編集 | ソースを編集]

この設定はcommands.ymlに移動されました。

databaseセクション[編集 | ソースを編集]

この設定では、データベース(DB)の設定をします。
このセクションでは、eBeansサーバー内部で使用されるプラグインによって共有されるデータベースに対し、様々なデータベース関連の構成オプションを設定することができます。
ただし、ほとんどのプラグインはこのオプションを使用しないため、構成すは任意です。
これらのプロパティを変更すると、Bukkitと統合されたeBeansサーバーを使用する全プラグインにおけるデータベースに接続する方法が変更されます。

username string データベースに接続するためのユーザー名です。ドライバーによっては無視される場合があります。
isolation one of SERIALIZABLE, ... 特に理由がない限り、通常はこのままにします。
driver string, JDBC class name 使用の必要があるJDBCドライバークラス名です。 この値については、データベースのJavaドライバーのドキュメントを参照します。
password string データベースに接続するためのパスワードです。ドライバーによっては無視される場合があります。
url string, JDBC database URL データベースに接続するためのURLです。 MySQL / PostgreSQLまたはその他のサーバークライアントデータベースの場合、これには通常、ホスト名、ポート、およびデータベース名が含まれます。 SQLiteなどのファイルベースにおけるデータベースの場合、これには通常のファイル名が含まれます。

以下は、最も一般的に使用される2つのデータベースアプリケーションの各構成の例となります。(後略)

commands.yml[編集 | ソースを編集]

commands.yml は、Bukkit 1.7.2-R0.3 以降で使用可能な設定ファイルで、コマンドエイリアスを設定したり、コマンドブロックのコマンド動作を上書き設定したりすることができる設定ファイルです。
YAMLファイルの記法に従って、内容を編集するため、YAMLファイルのページを参照して下さい。

クリックで展開します。

フォールバックシステムについて[編集 | ソースを編集]

少し話が逸れますが、Bukkit 1.7.2-R0.3 で追加された「フォールバックシステム」について、解説を加えておきます。

フォールバックシステムとは、バニラサーバーやBukkit、導入したプラグインで同じコマンドを定義しているときに、呼び出しの優先順位の定義や、それぞれのコマンドを個別に呼び出しすることができるシステムです。

例えば、/give コマンドは、バニラサーバーのコマンドですが、Bukkitで上書きされており、/give を実行するとBukkitのgiveコマンドが実行されます。

さらに AdminCmdプラグインを導入すると、AdminCmdもgiveコマンドを定義しているため、/give を実行するとAdminCmdのgiveコマンドが実行されます。

この状態で、/minecraft:give と実行すると、バニラサーバーの /give コマンドを実行することができます。

また、/bukkit:give と実行すると、Bukkitの /give コマンドを実行することができます。

コマンドの呼び出し優先順位は、次の通りです。

  1. エイリアス - commands.ymlに設定するコマンドエイリアスが、全ての設定より優先されて呼び出されます。
  2. プラグインコマンド - 一致するコマンドエイリアスが無い場合は、プラグインで定義されたコマンドが呼び出されます。
  3. Bukkitコマンド - 一致するプラグインコマンドが無い場合は、Bukkitで定義されたコマンドが呼び出されます。
  4. Minecraftコマンド - 一致するBukkitコマンドが無い場合は、バニラサーバーで定義されたコマンドが呼び出されます。

しかし、優先度に関係なく、上記のそれぞれのコマンドを直接呼び出すことも可能です。

種類 フォールバック 実行例
プラグインコマンド プラグイン名:コマンド /mister:time
Bukkitコマンド bukkit:command /bukkit:time
Minecraftコマンド minecraft:command /minecraft:time

また、それぞれのコマンドに対して、それぞれのパーミッション設定を使用することが可能です。

種類 パーミッション パーミッション指定例
プラグインコマンド プラグインが提供しているコマンドは、そのプラグインの指示するパーミッションに従ってください。 -
Bukkitコマンド bukkit.command.* (Bukkit コマンド) bukkit.command.give
Minecraftコマンド minecraft.command.* (Minecraft コマンド) minecraft.command.give

command-block-overrides[編集 | ソースを編集]

commands.yml の command-block-overrides は、コマンドブロックに設定されたコマンドの挙動を上書きするための機能です。
もしあなたが、カスタムマップで /summon コマンドと /give コマンドを使いたい時に、シングルのマップやバニラサーバーで作成したマップを CraftBukkit へインポートすると、コマンドの挙動が変わってしまっていて困るかもしれません。
そんなときは、commands.yml の command-block-overrides に次のように設定してください。
コマンドブロックに設定された /summon コマンドは /minecraft:summon として、/give コマンドは /minecraft:give として動作します。

command-block-overrides:
    - "summon"
    - "give"

もし、全てのコマンドブロックのコマンドをバニラサーバーのコマンドとして動作させたいのであれば、次のように「*」を設定してください。

command-block-overrides:
    - "*"

aliases[編集 | ソースを編集]

commands.yml の aliases セクションでは、コマンドエイリアスを設定することができます。
さらには、1つのコマンドエイリアスを実行することで、複数のコマンドを実行することも可能です。
コマンドエイリアスは、Modifier を使用することが可能です。
Modifier の説明一覧は、下表を参考にしてください。

$<argument number> 指定した番号の引数を参照します。 say $1 $2 $3
$<argument number>- 指定した番号から始まる引数全てを参照します。 say $1-
$$<argument number> 指定した番号の引数を参照するとともに、その引数を指定必須に設定します。 say $$1
$$<argument number>- 指定した番号から始まる引数全てを参照します。また、指定した番号の引数を指定必須に設定します。 say $$1-
\ ドル記号($)をエスケープします say \$100
aliasesの設定方法[編集 | ソースを編集]
やりたい事 説明 コマンドの実行例 設定方法例
既存のコマンドに、コマンドの別名を設定したい。 右の設定例のように設定することで、/version コマンドを /icanhasbukkit コマンドでも動作するように設定することが可能です。 /icanhasbukkit aliases:
icanhasbukkit:
- "version"
コマンドを削除したい。 右の設定例のように設定することで、'summon'コマンドを何も動作しないコマンドにすることができます。
Note: 一般プレイヤーにコマンドを実行させたくないだけなのであれば、コマンドを削除するより、パーミッションを使って対応してください。
- aliases:
summon:
- []
コマンド名を変更したい。 右の設定例のように設定することで、/version コマンドを動作不能にしつつ、/icanhasversion コマンドに機能を移管することができます。
Note: 一般プレイヤーにコマンドを実行させたくないだけなのであれば、コマンドを削除するより、パーミッションを使って対応してください。
/icanhasbukkit aliases:
icanhasversion:
- "bukkit:version"
version:
- []
引数を必須に設定する。 右の設定例のように設定することで、1番目の引数を指定必須とする /givedirt コマンドを作ることが可能です。 この場合で言うと、/givedirt の後にプレイヤー名を指定しないと、コマンドエイリアスが動作しません。 /givedirt <player> aliases:
givedirt:
- "give $$1 minecraft:dirt"
複数のコマンドを、1つのコマンドエイリアスでまとめて実行する。 右の設定例のように設定することで、/give コマンドでdirtをプレイヤーに与えつつ、/say コマンドで通知を行うことができます。 /givedirtmsg <player> aliases:
givedirtmsg:
- "give $$1 minecraft:dirt"
- "say Gave dirt to $$1"
プラグイン提供のコマンドを実行する。 右の設定例のように設定することで、ScrapBukkitというプラグインの /time コマンドを呼び出すことができます。 /time <set,add> <value> aliases:
time:
- "scrapbukkit:time $1-"
バニラサーバーのコマンドを実行する。 右の設定例のように設定することで、バニラサーバーの /time コマンドを呼び出すことができます。 /time <set,add> <value> aliases:
time:
- "minecraft:time $1-"
Bukkitのコマンドを実行する。 右の設定例のように設定することで、Bukkitの /time コマンドを呼び出すことができます。 /time <set,add> <value> aliases:
time:
- "bukkit:time $1-"
全ての引数を受け取って実行する。 「$$1-」とすることで、1番目の引数を必須にしつつ、2番目以降の引数もまとめて取得することが可能です。
右の設定例のように設定することで、/say コマンドと全く同じ動作の /broadcast コマンドを作成することが可能です。
/broadcast <message> aliases:
broadcast:
- "say $$1-"
1番目の引数を必須にしつつ、2番めの引数を別途受け取って実行する。 「$$1」と「$2-」を併用することも可能です。
右の設定例のように設定することで、既存の /kick コマンドの動作を書き換えします。指定されたプレイヤーをkickしつつ、say コマンドで通知を行います。
/ban <player> [optional reason] aliases:
kick:
- "bukkit:kick $$1 $2-"
- "say Kicked $$1. Reason: $2-"
ドル記号($)を使用する。 右の設定例は、単にドル記号($)を表示したい場合の例です。ドル記号の後に数値がある場合、Modifierとして扱われてしまいますが、ドル記号の前にバックスラッシュ(\)を置くことでエスケープすることが可能です。 /dollar aliases:
dollar:
- "say That will be \$200, thanks!"

プラグイン[編集 | ソースを編集]

CraftBukkit,Spigotはプラグインによって様々な機能を追加できます。
基本的にはpluginsフォルダに、プラグインのjarファイルを入れるだけですが、プラグインによっては、jarファイルと同名のフォルダを一緒にpluginsフォルダ入れるものもあります。

各プラグインの使い方は、配布ページや付属readme.txt等を参照してください。

SpigotはCraftBukkitと互換性がありますが、完全ではありません。

プラグインの入手リンク[編集 | ソースを編集]

これらのリンクから探すことが出来ます。

CraftBukkit,Spigotプラグイン Wiki内
Bukkit Plugins Bukkit公式プラグインページ
SpigotResources Spigot公式プラグインページ

呼称について[編集 | ソースを編集]

Bukkit関連ではBukkitとCraftBukkitどちらで呼べばよいのか紛らわしいと思うことがあります。
プロジェクト全体、もしくはプラグイン作成用のAPIをBukkitと呼び、実際にプラグインなどを動作させるソフトウェア(craftbukkit.jarなど)をCraftBukkitと呼んでいるようです。
個人的に呼ぶ場合などは好みで良いと思いますが、wikiなどドキュメントに書く場合は呼び方を統一しましょう。
その他の呼称、表記については、技術的情報集/表記の統一(呼称について)を参照して下さい。

リンク[編集 | ソースを編集]

サイト名 リンクアドレス 説明
Bukkit https://dev.bukkit.org/ Bukkit公式
Bukkit Forum https://bukkit.org/forums/ Bukkit公式
SpigotMC https://www.spigotmc.org/wiki/spigot/ Spigot公式
SpigotMC CommunityWiki https://www.spigotmc.org/wiki/index/ Spigot公式Wiki
Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。