gate-plugin-template
gate-plugin-template copied to clipboard
A Golang starter template for creating your awesome Minecraft proxy and extensions powered by Minekube Gate ๐ Fork it!

Gate Starter Plugin Template
An awesome template for creating your Minecraft proxy powered by Minekube Gate!
Explore the docs ยป
Discord
ยท
Report Bug
ยท
Request Feature
About The Project
This template repository bootstraps your Minekube Gate project, a customizable Minecraft proxy written in Go.
What's Included?
-
gate.go
: The main entry point of the application. -
plugins
: The directory for your custom plugins. -
config.yml
: A minimal Gate configuration file. -
Dockerfile
: A Dockerfile for building a Docker image. -
.github/workflows
: GitHub Action for testing, linting, releasing on tags and publishing Docker images to ghcr.io. -
Makefile
: Contains commands for testing and linting. -
renovate.json
: Configuration file for Renovate automatic dependency updates.
Prerequisites
Prerequisites
Getting Started
- Fork this repository on GitHub.
- Clone forked repository (
git clone <your-forked-repo-url>
) - Open project in your favorite Go IDE.
- Run the proxy:
go run .
- Start customizing Gate to your needs!
Usage
To create a new Gate plugin, follow these steps:
- Create and write your plugin code in a new
plugins/xyz/xyz.go
file. - Add your exported plugin to the
proxy.Plugins
slice ingate.go
. - Build and run Gate with:
go run .
Use the -d
flag to run Gate in debug mode if you encounter issues. (go run . -d
)
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feat/AmazingFeature
) - Open a Pull Request on GitHub
(back to top)