Awesome
<a name="readme-top"></a>
<!-- *** Thanks for checking out the Gate Plugin Template. If you have a suggestion *** that would make this better, please fork the repo and create a pull request *** or simply open an issue with the tag "enhancement". *** Don't forget to give the project a star! *** Thanks again! Now go create something AMAZING! :D --> <br /> <div align="center"> <a href="https://github.com/minekube/gate-plugin-template"> <img src="https://raw.githubusercontent.com/minekube/gate-plugin-template/main/assets/hero.png" alt="Logo" width="128" height="128"> </a> <h3 align="center">Gate Starter Plugin Template</h3> <p align="center"> An awesome template for creating your Minecraft proxy powered by Minekube Gate! <br /> <br /> <a href="https://gate.minekube.com/developers/"><strong>Explore the docs »</strong></a> <br /> <br /> <a href="https://minekube.com/discord">Discord</a> · <a href="https://github.com/minekube/gate/issues">Report Bug</a> · <a href="https://github.com/minekube/gate/issues">Request Feature</a> </p> </div>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
- Go - The Go Programming Language
- Git - Distributed Version Control System
- GoLand / VSCode - Gophers' favorite IDEs
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