Skip to content

v1.2.5 — relay 安定化

Choose a tag to compare

@mar1mo-41414 mar1mo-41414 released this 03 Jun 05:04
· 9 commits to main since this release

MineScale-Java v1.2.5

修正

ユーザー報告の 「relay 経由で繋いだ後の Minecraft Internal Exception / ワールド接続タイムアウト / Relay session active で停止」 系の不安定さに対する 3 つの対策:

  1. TCP keepalive を有効化 — parked な relay 接続が中継機器(CGN / VPN / Pangolin など)で何も知らず切られて zombie 化していた。次の joiner が来た時にゾンビ経由で繋ごうとして即 RST → MC Internal Exception。45 秒 idle / 15 秒間隔で生存確認するように。

  2. TCP_NODELAY を全 relay 接続に — Nagle のせいで MC の小さなパケットが最大 40ms 単位で纏められていた。MC のタイムアウトを誘発するレベル。サーバー / クライアント両端で無効化。

  3. relay address にホスト名を許可 — これまで IP:port のリテラルしか受け付けなかったので、運営者の private LAN にルーティング不能な joiner は relay に到達できなかった。mcs.markund.f5.si:9090 のような hostname:port も受け付け、connect 時に DNS 解決するように。

加えて host 側 relay プールを 2 → 4 に増量(複数 joiner の MC status ping + world-join が重なっても枯渇しない)。

⚠ Coordination Server 差し替え必須

サーバーバイナリのアップデート& RELAY_ADDR を public hostname に変更が必要です(既に運営インスタンスは更新済み)。

ダウンロード

OS GUI
Windows mc-share-gui-windows-x64.exe
Mac mc-share-gui-macos
Linux x64 / arm64 mc-share-gui-linux-x64 / mc-share-gui-linux-arm64