56 lines
1.9 KiB
Markdown
56 lines
1.9 KiB
Markdown
<!-- markdownlint-disable MD033 MD041 -->
|
|
|
|
<div align="center">
|
|
<h1>🔒 OAuth Fabric</h1>
|
|
<p>OAuth2 authentication for Minecraft Fabric servers</p>
|
|
<img src="https://img.shields.io/badge/Java-%23ED8B00.svg?logo=openjdk&logoColor=white" alt="Java"/>
|
|
</div>
|
|
<hr>
|
|
|
|
> [!NOTE]
|
|
> Support for other mod loaders is not planned. PRs implementing such support will not be accepted, please fork this project instead.
|
|
|
|
> [!WARNING]
|
|
> This mod does not provide support for standard permission systems, and by default only verifies permissions by operator status (i.e. commands can only be run by operators).
|
|
|
|
## Supported versions
|
|
|
|
| Version | Support level |
|
|
| ------- | ------------- |
|
|
| 1.20.1 | ✅ Fully supported |
|
|
| * | ❌ Not supported |
|
|
|
|
## Installing
|
|
|
|
Download the latest release from the releases tab or go to the [latest release directly](https://code.lilyvex.dev/lily/oauth-fabric/releases/latest), you may optionally choose to build from source, then put it in your Fabric server's `mods` directory.
|
|
|
|
## Usage
|
|
|
|
On initial load, this mod will create a commented configuration file. Edit the created file to contain the correct credentials for your OAuth provider, then restart the server.
|
|
|
|
Players who are not registered will be kicked on join and given a link to the OAuth provider, where they can login to register for the server.
|
|
|
|
Each new login with create a new session which will expire after a set period of time (usually defined by your OAuth provider).
|
|
|
|
Use the `/oauth` command to see a list of all available commands.
|
|
|
|
## Building from source
|
|
|
|
Ensure that JDK 21 is installed and in your system path, then:
|
|
|
|
- on Linux / macOS run:
|
|
|
|
```sh
|
|
chmod +x ./gradlew
|
|
./gradlew build
|
|
```
|
|
|
|
- and on Windows run:
|
|
|
|
```sh
|
|
gradlew.bat build
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Fork this repository and create a branch for your changes, then create a pull request for the `dev` branch with a "why", "what", and "how" to explain your changes.
|