Skip to content

minecraft.Conn

*minecraft.Conn は、gophertunnel における最も中核的な接続構造体です。net.Conn を満たしており、Bedrock プロトコルのパケット送受信をスレッドセーフ(書き込み)かつ安全にカプセル化しています。


主要メソッド一覧

パケット送受信

func (conn *Conn) ReadPacket() (pk packet.Packet, err error)

受信キューからパケットをデコードして1件返します。

注意

ReadPacket同時に複数の goroutine から呼び出してはいけません。単一の goroutine でループを回してください。

func (conn *Conn) WritePacket(pk packet.Packet) error

パケットを送信バッファへ書き込みます。複数の goroutine から同時に呼び出しても安全です。

func (conn *Conn) Flush() error

バッファ内に溜まっている未送信パケットを即時に圧縮・暗号化し、ネットワーク層へフラッシュします。


接続・ゲーム状態の参照

func (conn *Conn) GameData() GameData

サーバー接続時(または StartGame 呼出時)に確定したワールドの初期状態やプレイヤーのエンティティID(EntityRuntimeID)、スポーン座標などを取得します。

func (conn *Conn) ClientData() login.ClientData

クライアントから送られた端末情報、スキンデータ、言語設定などを取得します。

func (conn *Conn) IdentityData() login.IdentityData

プレイヤーの表示名(DisplayName)、UUID、XUID(Xbox Live ID)を取得します。

func (conn *Conn) StartGame(data GameData) error

サーバー側として接続を受け付けた後、クライアントへ StartGame パケットを送信してゲームセッションを開始します。

func (conn *Conn) Close() error

接続を切断し、内部の goroutine やバッファを解放します。

Released under the MIT License.