Skip to content

更新履歴・変更点 (Changelog) ​

Sandertv/gophertunnel のバージョンごとの主な更新内容・プロトコル変更点・非互換変更(Breaking Changes)のまとめです。


v1.62.0 (2026-09-16) ​

Minecraft Bedrock v1.26.50 (Protocol Version: 2193) への対応および新パケット・UI制御・プロトコル仕様の変更が含まれます。

📌 プロトコル・バージョン更新 ​

  • Minecraft 対応バージョン: 1.26.45 ➔ 1.26.50
  • Protocol Version: 2169 ➔ 2193

🆕 新規パケットの追加 ​

パケットID方向説明
packet.SetPlayerFurnaceOptionsIDSetPlayerFurnaceOptions双方向かまど / 燻製器 / 溶鉱炉 UI でのプレイヤー選択設定(タブ切り替え・フィルタリング・レイアウト)の通知
packet.RecordStartedIDRecordStartedサーバー ➔ クライアントジュークボックス等で指定ブロック位置においてレコードの再生が開始されたことを通知。再生ハンドル(Handle)が付属

🔄 パケット・プロトコルの変更点 ​

1. packet.PlaySound ​

  • 音声再生制御のためのフィールドが追加されました:
    • BypassListenerRangeCheck bool: リスナー(プレイヤー)と音源との距離判定を無視して音声を再生するかどうか。
    • PlaybackPositionSeconds protocol.Optional[float32]: 再生開始オフセット(秒)。未指定の場合は先頭から再生。

2. packet.ClientboundUpdateSoundData ​

  • 再生中サウンドのパラメータ更新(Stop, SetVolume, SetPitch, Fade, SeekTo, Pause, Resume)が、従来の Optional 型から固定の非オプショナルフィールド protocol.SoundDataUpdate に変更されました。

3. packet.MoveActorDelta ​

  • 移動補間用フィールド Ticks uint64 が追加されました。クライアント側で移動を補間するtick数を指定します。

4. packet.BossEvent ​

  • PlayerUniqueID int64 フィールドがプロトコルから削除されました。

5. packet.PlayerAuthInput ​

  • ItemInteractionData, ItemStackRequest, BlockActions, VehicleRotation, ClientPredictedVehicle のシリアライズ方式が内部的に DoubleOptionalFunc から標準の OptionalFunc に変更・最適化されました。
  • InputFlags の存在チェックフラグ(bool)が不要となり、フォーマットが簡素化されました。

6. packet.InventoryTransaction / protocol.UseItemTransactionData ​

  • ブロック操作トランザクションにおいて、操作に使用した手(利き手・オフハンド)を示す Hand byte(HandSlotMainHand / HandSlotOffHand)が追加されました。
  • Actions フィールドが Optional[[]InventoryAction] から直接の []InventoryAction に変更されました。
  • 不要な存在チェック用フラグ(bool)がワイヤフォーマットから削除されました。

7. サブチャンク・ワールド定義の変更 ​

  • サブチャンク高さマップ (protocol.SubChunkEntry):
    • HeightMapData / RenderHeightMapData の型が Optional[[]int8] から 16×16 行列型 Optional[HeightMap]([16][16]int8)に厳格化されました。
  • ディメンション定義 (protocol.DimensionDefinition):
    • 従来の Range [2]int32 が廃止され、MinimumY int32(最低高度)および HeightRange int32(総ブロック高さ)に分離されました。
    • ディメンションのデフォルトバイオームを示す DefaultBiome string が追加されました。

8. カメラプリセット (protocol.CameraPreset) ​

  • ApplyInheritedStartingRotation bool: 継承元プリセットの初期回転を適用するかどうか。
  • StartingRotation Optional[mgl32.Vec2]: プリセット適用時の初期回転角(ピッチ・ヨー)。

9. リソースパック・UI設定 ​

  • protocol.PackSetting: 設定値の型として文字列リスト(PackSettingTypeStringList, []string)がサポートされました。
  • protocol.TextShape: 複数行テキストの行間を指定する LineGapHeight float32 が追加されました。
  • 地図アイコン装飾 (protocol.MapDecorationType):
    • トライアルチャンバー(TrialChambers)や廃れた野営地(AbandonedCamp)、古代都市、廃坑、砂漠の寺院、海底遺跡などの新しい装飾タイプ定数が追加されました。

10. 切断理由定数 (packet.Disconnect) ​

  • DisconnectReasonHostDisconnected, DisconnectReasonNetherNetIdentityNotAllowed, DisconnectReasonExpiredToken, DisconnectReasonUnsupportedTransport などの切断理由が拡充されました。

🌐 ネットワーク・トランスポート (NetherNet / 接続処理) ​

  • NetherNet 接続時に URL 形式のアドレスにおけるポート重複表記仕様(https://<host>:<port>:<port>)にクライアントログイン処理が対応。
  • NetherNet の認証環境取得(authEnv)において、Issuer ドメインのパス末尾正規化が行われるようになりました。

v1.61.0 (2026-08-25) ​

🐛 バグ修正 ​

  • アイテムスタック応答 (protocol.StackResponseSlotInfo):
    • 悪言・不適切発言フィルタリング用の FilteredCustomName のエンコードが Optional[string] に修正され、フィルタリング設定が有効なクライアントでの処理安定性が向上しました。

v1.59.0 (2026-08-15) ​

📌 プロトコル・バージョン更新 ​

  • Minecraft Bedrock v1.26.44 に対応。
  • リスナーによる拡張サーバーリストメタデータのブロードキャストサポート。
  • テキストパケット(packet.Text)における Cereal 制約の上限チェック導入。
  • go-xsapi/v2 および go-playfab/v2 への移行。

関連ドキュメント ​

Released under the MIT License.