注意:ここに掲載されている情報は、2016/3/6時点の情報です。最新ではないかもしれないので、ご注意を!
私の管理しているAlicornサーバとAvalonサーバをマイクラ1.9ベースに上げましたが、1.9化で発生していた問題等々について掲載しておきます。サーバプログラムはspigotを使ってます。もちろんバニラサーバです。
なお、解決方法についてはプラグインの対応を待つ以外に、プログラムのソースコードを入手して解決する手段がありますが、ここにはエラーとプログラムの修正も簡単に記述しています。プログラムの修正方法はJavaの例外の読み方や直し方がわかる人向けにざっくりとしか書いてません。
目次
(ほぼ私的な)リンク
- 【Minecraft/和訳】Minecraft 1.9 リリース【Spigot】
- Bukkit1.9変更点まとめ
(ほぼプラグイン開発者向け)
プラグイン別対応状況
個人的に確認したプラグインです。(一部省略)
「稼働状況」は記載されている導入バージョンの動作状況で、△については備考を参照して下さい。×は動いてません。
○(動く)でも、私がソースコードをGetして動くように手直しした物(自前修正版と書かれている箇所)は、公式ページからjarをGetしても動かないかもしれません。
バージョンは「v」がバージョンの略、「b」はビルドの略です。「b」については各プラグインのJenkinsからGetしてる場合が多いです。
プラグイン名 | 導入バージョン | 稼働状況 | 備考 |
BungeeCord | b1130 | ○ | |
spigot | 03/05時点でコンパイル | ○ | |
AntiCreeper | v4.17 | ○ | |
AntiWither | v0.6 | △ | 機能はするけど、エラーが出ます(困らない程度) |
ArmorStandEditor | v1.8-0.1.6BETA(自前修正版) | △? | 1.9で一部のアイコンが化けるけど動く。あと、1.8の時にソースに手直しした版を使ってるので、公式版は動くかわからない |
Bankcraft | v2.4.2 | × | エラー多発(直す気が無かったので、詳細は調べてないです) |
BlockHat | v1.12 | ○ | |
BottledExp | v1.7.3 | ○ | |
CF | v1.2016.01.05(自前修正版) | ○ | ソースコードをゲットし、リコンパイルすると動く? |
ChairsReloaded | b149 | ○ | ビルド#145以降であれば1.9に対応してます |
ChestCommands | v3.1.3 | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます |
ChestShop | v3.8.12 | ○ | |
ChestShopLogger | v0.1.8Beta | ○ | |
Clearlag | v2.8.4 | ○ | |
CookieMonster | v1.8 | × | エラー多発(直す気が無かったので、詳細は調べてないです) |
CountryLoginMessage | v1.6.3 | ○ | |
CustomSkulls | v0.2 | ○ | |
dynmap | v2.3-SNAPSHOT | ○ | 動かないですが、作者が暫定的に動かせるようにしたdynmap-2.3を海外の掲示板にアップしてます |
Dynmap-Towny | v0.70 | ○ | |
Dynmap-WorldGuard | v0.80 | ○ | |
EasyJetpack | v1.3 | × | エラー多発(直す気が無かったので、詳細は調べてないです) |
EchoPet | b61 | × | 1.9では動かないし、対応版も出てません。 2016/3/19追記:開発中で1.9対応版がありました。 |
EpicBossGoldEdition | バージョン不明(自前修正版) | ○ | 1.9対応版はありません。ソースコードを入手すれば動きますが、既にソースコードも公開されてなく、入手不可です。 |
Essentials | v2.x-SNAPSHOT-b13 | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます |
FlyPayment | v3.2 | ○ | |
FoundDiamonds | v3.7.2 | × | エラーがほとんど出ませんが、機能していません。 |
FrameProtect | v2.5 | ○ | |
GeoIPTools | v1.0.2 | ○ | |
HawkEye | v1.6.2-b56 | ○ | |
HolographicDisplays | v2.1.11 | ○ | v2.1.11で1.9に対応してます |
HomeSpawnPlus | v2.0.1-SNAPSHOT-b634 | △ | 動くけど、サーバ停止時にエラーがでます |
Jobs | v2.63.1 | ○ | 動きません。Jobs Rebornを使いましょう(Jobsの設定の移植が必要です) |
LegendaryMessages | v6.0.2 | ○ | |
Lottery | Unofficial-1.1.0 | ○ | 動きません。非公式バージョン(Unofficial 1.1.0)で動きます |
LunaChat | v2.7.9 | ○ | 動きますが、連携プラグインでエラーが出ている場合に動きません。ウチではdynmapが非対応だった時に止まりました。 |
LWC | v4.5.0-SNAPSHOT-b938(自前修正版) | ○ | 動くけど、1.9版のプラグインが公開されてます。ただ、過去にアイテムDupeの不具合があり、自前で直した版を使ってるので、最新版は動作確認してません。 |
MCBans | v4.3.5 | ○ | |
mcMMO | b92 | ○ | 動くけど、1.9版のプラグインも公開されてます |
MobArena | v0.97.1 | ○ | |
Modifyworld | v1.19.7 | ○ | |
MonetaryDeathPenalty | v2.23 | ○ | |
Multiverse-Core | v2.5_b716 | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます |
Multiverse-Portals | v2.5-b724 | △ | 動きますが、ゲートは基本的に不安定。バージョンを上げたら余計に不安定になったので、据え置きにしてます。 |
MyPet | v1.3.2-SNAPSHOT_b862 | ○ | ビルド#848くらいで1.9に対応してますが、頻繁にバージョンアップされているので、注意が必要ですね |
OpenInv | v2.3.5 | ○ | v2.3.5で1.9に対応してます |
PermissionsEx | 1.23.4 | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます |
PlgLogCmd | v2.0 | ○ | |
PluginManager | v1.2.2 | ○ | |
ProtocolLib | b243 | △ | 古いVerでも動くけど、1.9版のプラグインも公開されてます。ビルド#244ではエラーが出たので、#243に下げて導入しました。 |
Questioner | v0.6 | ○ | |
RecipeManager | v2.7.2 | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます。ただ、バージョンを上げると、設定ファイルのエラーも出るので、修正が必要です。 |
RegionForSale | v2.6 | ○ | |
RunAs | v1.1 | ○ | |
ScoreboardStats | v0.9.7 | ○ | v0.9.8は1.9に対応してます |
ServerSigns | v4.4.1 | ○ | |
SilkSpawners | b318 | ○ | ビルド#317以降であれば1.9に対応してます。これより古いバージョンだとスポナが書き換わり、バージョンを上げても復旧不可能になる場合があります。 |
SimpleSort | v1.6 | ○ | |
SimpleVoteListener | v2.6 | ○ | |
SkylandsPlus_andrewkm | 03/04時点でコンパイル | ○ | SkylandsPlusは元々1.8にすら対応してません。Andrewkmという人が対応版を出してます。1.9に対応したソースも出してますが、jarは無いのでコンパイルが必須です。 |
Stats | v2.0.2(自前修正版) | ○ | 1.9対応版は無いし、エラーを多量に吐きます。ソースコードを入手して直せば動くようです。 |
TacTools | v1.9-1.0.8 | ○ | オリジナルプラグインです。/titleコマンドの仕様が1.9で変更されてたので修正が必要でした。 |
Tombstone | v1.3.8(自前修正版) | ○ | 1.9対応版は無いし、エラーを多量に吐きます。ソースコードを入手して直せば動くようです。 |
Towny | v0.90.0.0 | ○ | |
TownyChatSupport | v1.0 | ○ | |
TownyNameUpdater | v1.0 | ○ | |
TreeAssist | v5.9.11(自前修正版) | ○ | 1.9対応版はありません。エラーを吐くし、どの木を切っても植えられる苗がオークの苗になります。その部分のプログラムを直せば動きます。 |
Vault | v1.5.6 | ○ | |
Votifier | v1.9 | ○ | |
WorldBorder | v1.8.5 | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます |
worldedit | v6.1.1-SNAPSHOT-dist | ○ | 古いVerでも動くけど、1.9版のプラグインも公開されてます |
worldguard | v6.1.2-SNAPSHOT-dist | ○ | 6.1.2(開発版)が1.9に対応してます。 |
spigotサーバについて
- 瞬間移動の為のゲートをMultiverse-Portalsで作ってますが、ゲートをくぐった時の動きが安定しません。「moved too quickly!(このキャラの移動速度が異常に速い)」メッセージが良く出ます。特にエンドポータルベースのゲートで多発してます(プラグイン自体の問題というより、サーバの挙動が変わったっぽい?と推測)
発生しがちなエラー
java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers
表示例
[23:59:22] [Server thread/ERROR]: Error occurred while disabling HomeSpawnPlus v2.0.1-SNAPSHOT-b634 (Is it up to date?)
java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
~以下略
プラグインのエラーで一番多い事例です。上記のERRORの後の赤字の部分がプラグイン名なので、どのプラグインで発生しているかはこれで判断して下さい。
このエラーの解決策は、プラグインが対応するのを待つか、リコンパイルしかありません。
発生する原因は、「org.bukkit.Server.getOnlinePlayers」というAPIの仕様変更で、戻り値が変わっている為です。このAPIはログイン中のプレイヤーを取得するという物なので、非常によく使われています。1.8で動いていたプラグインがそのまま1.9でもロードでしますが、この命令が呼ばれる度にエラーを吐きます。自前で修正可能な人は、プラグインのソースコードをGetし、参照するSpigot/Bukkitライブラリを1.9ベースに差し替えてリコンパイルするだけでだいたい直ります。
※直らない場合は、戻り値の処理方法を確認/修正が必要です。
java.lang.ClassNotFoundException(java.lang.NoClassDefFoundError): org.bukkit.craftbukkit.v1_8_R3(net/minecraft/server/v1_8_R3).・・・
[Server thread/ERROR]: Error occurred while enabling EpicBoss_Gold_Edition v0.1.0 (Is it up to date?)
java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/v1_8_R3/inventory/CraftItemStack
at me.ThaH3lper.com.Libs.AttributeHandler.addHealth(AttributeHandler.java:23) ~[?:?]
~略~
Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:91) ~[spigot-1.9.0-R0.1-SNAPSHOT-20160301.jar:git-Spigot-604e046-69e196f]
~略~
これも比較的多いエラーの事例です。例のごとく上記の一番始めのERRORの後の赤字の部分がプラグイン名なので、どのプラグインで発生しているかはこれで判断して下さい。
このエラーの解決策は、プラグインが対応するのを待つか、プログラムを修正しないと直りません。
エラーの内容に「v1_8_(v1_7やそれ以前の場合も有り)」と有るとおり、これはSpigotやBukkitの公開されたAPIではなく、それぞれのモジュールのメソッドへ直接アクセスしようとしており、それが無い為です。APIへアクセスしているのであれば、前述のgetOnlinePlayersのようにAPI自体の仕様変更が無い限り、サーババージョンを上げてもエラーにはなりません。
修正方法は、前述の通り、最新のライブラリを読み込む必要がありますが、以下の通りimport等でバージョン指定でベタ書きになってるので、これを全て修正しなければなりません。
import net.minecraft.server.v1_8_R3.NBTBase;
import net.minecraft.server.v1_8_R3.NBTTagCompound;
import net.minecraft.server.v1_8_R3.NBTTagList;
コメントを残す