Find a file
2024-06-02 16:02:11 +01:00
cmd/wlm Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
internal Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
mocks More standard Go project directory structure 2022-07-23 12:57:55 +01:00
.build.yml Update secret uuid 2022-11-12 14:00:42 +00:00
.gitignore Initial commit of MVP API 2022-07-05 11:10:18 +01:00
Dockerfile Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
flake.lock Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
flake.nix Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
go.mod Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
go.sum Upgrade to Go 1.22, nix flake, linting 2024-06-02 16:02:11 +01:00
homepage.png Expand README 2022-07-15 17:20:48 +01:00
LICENSE Add LICENSE 2022-07-15 17:22:33 +01:00
README.md Fix build commands 2022-07-23 13:12:08 +01:00

Minecraft Server Invites mc.gmem.ca

Generate Discord-like invites for your Minecraft server

Demo: mc.gmem.ca/invite/7BALG9qo

Homepage screenshot

Looking for the frontend? See here: ~gmem/minecraft-server-invites-frontend

About

Sometimes you want to allow people to play on your Minecraft server, but you don't necessarily want to go through the whole process of asking for their username, then manually sending the command to add them to the whitelist*. Instead, this application offers the ability to generate a short link that directs a user through an OAuth flow to automatically fetch their Minecraft account (assuming the account has been migrated - I have no plans at this time to support non-migrated accounts, despite how I may personally feel about them) and send a command over RCON to your server to add them to the whitelist. It will then give them the address to connect to the server.

This is currently hosted at mc.gmem.ca while being developed. It's free for the time being, and while I do want to eventually monetize this hosted version, you are more than welcome to either use the hosted version or host your own instance (this is actually recommended if you have the ability, since it allows you to keep RCON private). I do happily accept donations to keep running the public hosted version!

*while the term "whitelist" is by and large being replaced in places, this is still the term Minecraft servers utilise, and is therefore the term used in this application. Should it be changed, use of the term here will also be changed.

Building

# Docker
docker build . -t whitelistmanager
# Non-docker
go build -o wlm -ldflags "-s -w" cmd/wlm/*.go

Running

This project aims to be as dependency free as possible. The SQLite database will be automatically created on first run.

You will need to generate the keys for the Microsoft OAuth flow by following this guide.

The keys can then be saved to environment variables as follows:

AZURE_OAUTH_CLIENT_ID=<client id>
AZURE_OAUTH_CLIENT_SECRET=<client secret>
AZURE_OAUTH_CLIENT_SECRET_ID=<client secret id> # technically unused at the moment
# Docker
docker run whitelistmanager
# Non-docker, built binary
./wlm
# Non-docker, non-built
go run ./...