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.