Skip to content

Dialer & ListenConfig

接続の発行(クライアント)と接続の待ち受け(サーバー)を設定するための主要構造体のリファレンスです。


minecraft.Dialer

クライアントとして外部サーバーに接続するための設定構造体です。

go
type Dialer struct {
    ErrorLog                   *slog.Logger
    HTTPClient                 *http.Client
    ClientData                 login.ClientData
    IdentityData               login.IdentityData
    TokenSource                oauth2.TokenSource
    PacketFunc                 func(header packet.Header, payload []byte, src, dst net.Addr)
    DownloadResourcePack       func(id uuid.UUID, version string, current, total int) bool
    ResourcePackCache          ResourcePackCache
    DisconnectOnUnknownPackets bool
    DisconnectOnInvalidPackets bool
}

主要メソッド

  • Dial(network, address string) (*Conn, error) 指定されたアドレスへ接続します。network には "raknet" または "nethernet" を指定します。
  • DialContext(ctx context.Context, network, address string) (*Conn, error) コンテキスト付きで接続します。タイムアウトやキャンセルが伝播します。

minecraft.ListenConfig

サーバーとしてクライアントからの接続を受け付けるための設定構造体です。

go
type ListenConfig struct {
    ErrorLog                *slog.Logger
    HTTPClient              *http.Client
    AuthenticationDisabled  bool
    DisablePacketEncryption bool
    MaximumPlayers          int
    AllowUnknownPackets     bool
    AllowInvalidPackets     bool
    StatusProvider          ServerStatusProvider
    AcceptedProtocols       []Protocol
    Compression             packet.Compression
    CompressionSelector     func(proto Protocol) packet.Compression
    CompressionThreshold    int
    FlushRate               time.Duration
    ResourcePacks           []*resource.Pack
    TexturePacksRequired    bool
}

主要メソッド

  • Listen(network, address string) (*Listener, error) 指定されたアドレスでポートを開放し、接続待受リスナーを返します。
  • Listener.Accept() (net.Conn, error) 接続してきたクライアントを受け入れます。戻り値は *minecraft.Conn に型アサーションして使用します。
  • Listener.Close() error リスナーを閉じ、ポートを解放します。

Released under the MIT License.