【プラグイン紹介】サーバーより新しいバージョンで入れるようにするプラグイン【ViaVersion】
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。
当記事にはアフィリエイト広告が含まれています。
2023年10月1日より施行された景品表示法の指定告示(通称:ステマ規制)によって、広告を掲載しているサイトやメディア、SNS内に、読者が認識できるような表記が必須となりました。
当サイトにおいても景品表示法に則り、冒頭に表記するようにしていますので、ご理解の上、ご覧いただけますと幸いです。
※2024年10月時点
この記事は以下に対応しています。どうもこんにちわ、揚げたてのポテトです。
サーバーのバージョンは1.12だけど、1.13以降でサーバーに入りたいなっていう時ありませんか?
今回はそういったことを可能にするプラグインを紹介します。
ViaVersionとは
例えば、サーバーのバージョンが1.12.2でクライアントバージョン(プレイヤー)が1.13以降のバージョンでもサーバーに接続することを可能にするプラグインです。
ViaVersionのダウンロード
Spigot Resource Forumにて公開されている海外の方が作成したプラグインです。
まずこちらのサイトに移動し、タイトルの横にあるDownload Nowをクリックするとダウンロードが開始されます。
特に前提プラグインは必要無いので、そのままpluginsフォルダに導入して下さい。
例えば、サーバーバージョンが1.16の時にクライアントバージョンが1.15以下でも接続出来るようにするプラグインです。
ViaVersionの設定
pluginsファルダに導入後、サーバーを起動するとフォルダ内にViaVersionというフォルダが作成されるので、その中のconfigファイルを開きます。
Configファイルの内容は以下の通りです。
configファイル
# Thanks for downloading ViaVersion
# Ensure you look through all these options
# If you need help:
# Discord - https://viaversion.com/discord
# viaversion.com - Discussion tab
# Docs - https://docs.viaversion.com/display/VIAVERSION/Configuration
#
#----------------------------------------------------------#
# GLOBAL OPTIONS #
#----------------------------------------------------------#
#
# Should ViaVersion check for updates?
checkforupdates: true
# Send the supported versions with the Status (Ping) response packet
send-supported-versions: false
# Block specific Minecraft protocols that ViaVersion allows
# List of all Minecraft protocol versions: http://wiki.vg/Protocol_version_numbers or use a generator: https://via.krusic22.com
block-protocols: []
# Change the blocked disconnect message
block-disconnect-msg: "You are using an unsupported Minecraft version!"
# If you use ProtocolLib, we can't reload without kicking the players.
# (We don't suggest using reload either, use a plugin manager)
# You can customise the message we kick people with if you use ProtocolLib here.
reload-disconnect-msg: "Server reload, please rejoin!"
# We warn when there's a error converting item and block data over versions, should we suppress these? (Only suggested if spamming)
suppress-conversion-warnings: false
#
#----------------------------------------------------------#
# BUNGEE OPTIONS #
#----------------------------------------------------------#
#
# BungeeCord allows you to have different server versions inside.
# Instead of you entering all the versions of these servers, we can ping them.
#
# What interval would you like us to ping at? (in seconds)
# Use -1 to disable.
bungee-ping-interval: 60
# If the above is enabled, should we save the info to the config (in the section below)
bungee-ping-save: true
# To get a servers protocol, ViaVersion will do the following:
# Look for the server in the following section, then look for the last ping if bungee-ping is enabled
# otherwise use default.
#
# The format for the following is:
# servername: protocolversion
# You can find protocol ids on http://wiki.vg/Protocol_version_numbers
# It will fallback to the default option if none found.
bungee-servers: {}
#
#----------------------------------------------------------#
# VELOCITY OPTIONS #
#----------------------------------------------------------#
#
# Velocity allows you to have different server versions inside.
# Instead of you entering all the versions of these servers, we can ping them.
#
# What interval would you like us to ping at? (in seconds)
# Use -1 to disable.
velocity-ping-interval: 60
# If the above is enabled, should we save the info to the config (in the section below)
velocity-ping-save: true
# To get a servers protocol, ViaVersion will do the following:
# Look for the server in the following section, then look for the last ping if velocity-ping is enabled
# otherwise use default.
#
# The format for the following is:
# servername: protocolversion
# You can find protocol ids on http://wiki.vg/Protocol_version_numbers
# It will fallback to the default option if none found.
velocity-servers: {}
#
#----------------------------------------------------------#
# GLOBAL PACKET LIMITER #
#----------------------------------------------------------#
#
#
# Packets Per Second (PPS) limiter (Use -1 on max-pps and tracking-period to disable)
# Clients by default send around 20-90 packets per second.
#
# What is the maximum per second a client can send (Use %pps to display their pps)
# Use -1 to disable.
max-pps: 800
max-pps-kick-msg: "You are sending too many packets!"
#
# We can also kick them if over a period they send over a threshold a certain amount of times.
#
# Period to track (in seconds)
# Use -1 to disable.
tracking-period: 6
# How many packets per second counts as a warning
tracking-warning-pps: 120
# How many warnings over the interval can we have
# This can never be higher than "tracking-period"
tracking-max-warnings: 4
tracking-max-kick-msg: "You are sending too many packets, :("
#
#----------------------------------------------------------#
# MULTIPLE VERSIONS OPTIONS #
#----------------------------------------------------------#
#
# Should we enable our hologram patch?
# If they're in the wrong place enable this
hologram-patch: false
# This is the offset, should work as default when enabled.
hologram-y: -0.96
# Should we disable piston animation for 1.11/1.11.1 clients?
# In some cases when firing lots of pistons it crashes them.
piston-animation-patch: false
# Should we fix nbt for 1.12 and above clients in chat messages (causes invalid item)
chat-nbt-fix: true
# Experimental - Should we fix shift quick move action for 1.12 clients (causes shift + double click not to work when moving items) (only works on 1.8-1.11.2 bukkit based servers)
quick-move-action-fix: false
# Should we use prefix for team colour on 1.13 and above clients
team-colour-fix: true
# 1.13 introduced new auto complete which can trigger "Kicked for spamming" for servers older than 1.13, the following option will disable it completely.
disable-1_13-auto-complete: false
# The following option will delay the tab complete request in x ticks if greater than 0, if other tab-complete is received, the previous is cancelled
1_13-tab-complete-delay: 0
# For 1.13 clients the smallest (1 layer) snow doesn't have collision, this will send these as 2 snowlayers for 1.13+ clients to prevent them bugging through them
fix-low-snow-collision: false
# Infested blocks are instantly breakable for 1.13+ clients, resulting in them being unable to break them on sub 1.13 servers. This remaps them to their normal stone variants
fix-infested-block-breaking: true
# In 1.14 the client page limit has been upped to 100 (from 50). Some anti-exploit plugins ban when clients go higher than 50. This option cuts edited books to 50 pages.
truncate-1_14-books: false
# This prevents clients using 1.9-1.13 on 1.8 servers from receiving no knockback/having velocity bugs whilst sneaking under a block.
change-1_9-hitbox: false
# Similar to the above, but for 1.14+ players on 1.8-1.13 servers.
# WARNING: This gives 1.14+ players the ability to sneak under blocks, that players under that version cannot (sneaking in places that are only 1.5 blocks high)!
# Another thing to remember is that those players might be missed by projectiles and other hits directed at the very top of their head whilst sneaking.
change-1_14-hitbox: false
# Fixes 1.14+ clients on sub 1.14 servers having a light value of 0 for non full blocks.
fix-non-full-blocklight: true
# Fixes walk animation not shown when health is set to Float.NaN
fix-1_14-health-nan: true
# Should 1.15+ clients respawn instantly / without showing a death screen?
use-1_15-instant-respawn: false
#
# Enable serverside block-connections for 1.13+ clients - all of the options in this section are built around this option
serverside-blockconnections: true
# Sets the method for the block connections (world for highly experimental (USE AT OWN RISK) world-level or packet for packet-level)
blockconnection-method: packet
# When activated, only the most important blocks are stored in the blockstorage. (fences, glass panes etc. won't connect to solid blocks)
reduce-blockstorage-memory: false
# When activated with serverside-blockconnections, flower parts with blocks above will be sent as stems
# Useful for lobbyservers where users can't build and those stems are used decoratively
flowerstem-when-block-above: false
# Vines that are not connected to blocks will be mapped to air, else 1.13+ would still be able to climb up on them.
vine-climb-fix: false
#
# Ignores incoming plugin channel messages of 1.16+ clients with channel names longer than 32 characters.
# CraftBukkit had this limit hardcoded until 1.16, so we have to assume any server/proxy might have this arbitrary check present.
ignore-long-1_16-channel-names: true
#
# Force 1.17+ client to accept the server resource pack; they will automatically disconnect if they decline.
forced-use-1_17-resource-pack: false
# The message to be displayed at the prompt when the 1.17+ client receives the server resource pack.
resource-pack-1_17-prompt: ''
#
#----------------------------------------------------------#
# 1.9+ CLIENTS ON 1.8 SERVERS OPTIONS #
#----------------------------------------------------------#
#
# No collide options, these allow you to configure how collision works.
# Do you want us to prevent collision?
prevent-collision: true
# If the above is true, should we automatically team players until you do?
auto-team: true
# When enabled if certain metadata can't be read we won't tell you about it
suppress-metadata-errors: false
# When enabled 1.9+ will be able to block by using shields
shield-blocking: true
# If this setting is active, the main hand is used instead of the off hand to trigger the blocking of the player.
# With the main hand the blocking starts way faster.
# (Requires "show-shield-when-sword-in-hand" to be disabled)
no-delay-shield-blocking: false
# If this setting is active, the shield will appear immediately for 1.9+ when you hold a sword in your main hand.
# The shield disappears when you switch to another item.
# (Requires "shield-blocking" to be enabled)
show-shield-when-sword-in-hand: false
# Enable player tick simulation, this fixes eating, drinking, nether portals.
simulate-pt: true
# Should we use nms player to simulate packets, (may fix anti-cheat issues)
nms-player-ticking: true
# Should we patch boss bars so they work? (Default: true, disable if you're having issues)
bossbar-patch: true
# If your boss bar flickers on 1.9+, set this to 'true'. It will keep all boss bars on 100% (not recommended)
bossbar-anti-flicker: false
# This will show the new effect indicator in the top-right corner for 1.9+ players.
use-new-effect-indicator: true
# Show the new death messages for 1.9+ on the death screen
use-new-deathmessages: true
# Should we cache our items, this will prevent server from being lagged out, however the cost is a constant task caching items
item-cache: true
# Patch the anti xray to work on 1.9+ (If your server is 1.8) This can cost more performance, so disable it if you don't use it.
anti-xray-patch: true
# Should we replace extended pistons to fix 1.10.1 (Only on chunk load)
replace-pistons: false
# What id should we replace with, default is air. (careful of players getting stuck standing on them)
replacement-piston-id: 0
# Force the string -> json transform
force-json-transform: false
# Minimize the cooldown animation in 1.8 servers
minimize-cooldown: true
# Allows 1.9+ left-handedness (main hand) on 1.8 servers
left-handed-handling: true
GLOBAL OPTIONS
これらのオプションは、ViaVersionによって処理されていない場合でも、すべてのバージョンに影響します。
BUNGEE OPTIONS/VELOCITY OPTIONS
BungeeCord/Velocityはプロキシであるため、サポートしている他のプラットフォームとは大きく異なります。これは、内部サーバーがユーザーを接続するバージョンを特定するために、いくつかの凝った作業を行う必要があることを意味します。
大規模なネットワークでは、最も基本的なオプションのいくつかはセットアップに非効率的である可能性があり、手動の方法を使用して作業を再開することをお勧めします。
GLOBAL PACKET LIMITER
ViaVersionを構築するときに、人々が大量のパケットを送信してサーバーをクラッシュさせる可能性があるエクスプロイトに関する多くの問題に遭遇しました(一般的なMinecraftの障害と同じように)。
これに対抗するために、箱から出してすぐに機能する単純なパケット制限システムを含めました。
MULTIPLE VERSIONS OPTIONS
これらのオプションは複数のバージョンに影響します。
1.9+ CLIENTS ON 1.8 SERVERS OPTIONS
このオプションは、1.8サーバーを使用している場合にのみ適用されます。これらのオプションにより、機能が変更された将来のバージョン間で一貫したビジュアル/ゲームプレイが可能になります。
各設定項目の説明はViaVersionのWikiがありますので、以下よりご参考ください。
※ChromeブラウザからのGoogle翻訳で翻訳すると読みやすく日本語に変換されます。
ViaVersionのコマンド一覧
コマンド | 説 明 |
---|---|
/viaver list | サーバーに参加しているプレイヤーの接続バージョンを表示 |
/viaver autoteam | 押し合いのチームを切り替え (問題が発生した場合は無効にする必要があります) |
/viaver dontbugme | アップデート情報の通知を切り替え |
/viaver pps | 参加しているプレイヤーの1秒あたりのパケット数を表示 |
/viaver debug | デバックモードのオン/オフ |
/viaver help | ViaVersionのコマンドを表示 |
Paperの1.21.1サーバーでviaversionを導入していますが、1.21.2、1.21.3の人たちとGeyser勢が入れません。
サーバーバージョンが比較的新しいとviaは動作しないのでしょうか?
PaperMCとbungeecordの組み合わせのサーバの場合ってどうするのでしょうか?
bungeecordにも別途追加すればいいのでしょうか?
1.16.5で導入する場合どれをダウンロードしますか?
このプラグインは1.8.9に導入できますか?
設定をいじったりする必要はありますか?あと1.20.2で使用する場合どのバージョンで入ることができるのでしょうか。詳しく教えてください。