gate

command module
v0.45.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

README

Logo

The extensible Minecraft Proxy

GitHub release (latest SemVer) Doc GitHub go.mod Go version Go Report Card test Discord

Gate is an extensible, high performant & paralleled Minecraft proxy server with scalability, flexibility & excellent server version support - written in Go and ready for the cloud!

Website & Documentation

There is a lot to discover on Gate's website. Please refer to the website for the documentation, guides and any more information needed!

Quick Start

Follow our quick start guide on creating a simple Minecraft network!

Platform Installation Command
Go go run go.minekube.com/gate@latest
Linux/macOS curl -fsSL https://gate.minekube.com/install | bash
Windows powershell -c "irm https://gate.minekube.com/install.ps1 | iex"

Server list

Gate Lite Mode

Gate has a Lite Mode which is a lightweight version of Gate that can expose multiple Minecraft servers through a single port and IP address and reverse proxy players to backend servers based on the hostname/subdomain they join with.

See the Lite Mode guide for more information.

graph LR
    A[Player Alice] -->|Join example.com| C(Gate Lite)
    B[Player Bob] -->|Join my.example.com| C(Gate Lite)
    C -->|10.0.0.1| D[Backend A]
    C -->|10.0.0.2| E[Backend B]
    C -->|10.0.0.3| F[Another Proxy]

    linkStyle 0 stroke:orange
    linkStyle 1 stroke:purple
    linkStyle 2 stroke:purple
    linkStyle 3 stroke:orange

Developers Starter Template

The starter template is designed to help you get started with your own Gate powered project. Fork it! 🚀 - minekube/gate-plugin-template

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
pkg
bridge
Package bridge contains packages for setting up a bridge between proxies of different Minecraft editions.
Package bridge contains packages for setting up a bridge between proxies of different Minecraft editions.
edition
Package edition contains packages implementing a proxy for different Minecraft editions.
Package edition contains packages implementing a proxy for different Minecraft editions.
edition/java/auth
Package auth provides a way to authenticate joining online mode players with Mojang's session server.
Package auth provides a way to authenticate joining online mode players with Mojang's session server.
edition/java/bossbar
Package bossbar provides a way to create and manage Minecraft boss bars for players.
Package bossbar provides a way to create and manage Minecraft boss bars for players.
edition/java/forge/modinfo
Package modinfo provides mod information used in Forge ping responses.
Package modinfo provides mod information used in Forge ping responses.
edition/java/proto/packet/title
Package title contains title packets.
Package title contains title packets.
edition/java/proto/version
Package version contains helpers for working with the Minecraft Java edition versions Gate supports.
Package version contains helpers for working with the Minecraft Java edition versions Gate supports.
edition/java/proxy
Package proxy contains Gate's Minecraft Java edition proxy implementation.
Package proxy contains Gate's Minecraft Java edition proxy implementation.
edition/java/title
Package title provides functionality for showing Minecraft titles for players.
Package title provides functionality for showing Minecraft titles for players.
gate
Package gate is the main package for running one or more Minecraft proxy editions.
Package gate is the main package for running one or more Minecraft proxy editions.
internal/bufpool
Package bufpool - All credits go to https://github.com/valyala/bytebufferpool.
Package bufpool - All credits go to https://github.com/valyala/bytebufferpool.
internal/randstr
Package randstr provides basic functions for generating random bytes, string
Package randstr provides basic functions for generating random bytes, string
internal/reload
Package reload provides configuration reloading capabilities.
Package reload provides configuration reloading capabilities.
util/connectutil
Package connectutil provides a reference implementation for Connect integrated with the Gate proxy.
Package connectutil provides a reference implementation for Connect integrated with the Gate proxy.
util/connectutil/single
Package single combines connect.EndpointAcceptor and connect.TunnelAcceptor into Acceptor allowing to run WatchService and TunnelService in the same instance.
Package single combines connect.EndpointAcceptor and connect.TunnelAcceptor into Acceptor allowing to run WatchService and TunnelService in the same instance.
util/permission
Package permission is a utility package that defines primitives to allow checking a Subject for a permission.
Package permission is a utility package that defines primitives to allow checking a Subject for a permission.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL