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
- 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 in gate.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)